Oracle数据库Unexpected error running Liquibase: Could not acquire change log lock数据库被锁解决办法-【2.4.0开发】

报错信息:

windows下执行对Oracle数据库的批操作脚本,因为是远程数据库,速度较慢,脚本未正常结束被我不小心退出了,导致远程服务器上的Oracle数据库被锁,之后执行脚本报错:

Unexpected error running Liquibase: Could not acquire change log lock. Currently locked by PC-name since 18-07-23 下午2:22

报错信息显示数据库被PC-name这台电脑在18-07-23下午2:22锁住.
这里写图片描述


解决方案:

数据库的锁的信息存储在表 DATABASECHANGELOGLOCK表中,我们先去select这张表查看信息:

select * from DATABASECHANGELOGLOCK;

这里写图片描述
发现表中的信息就是报错的内容。

接下来清除该表中的锁信息即可

执行:

UPDATE DATABASECHANGELOGLOCK SET LOCKED=FALSE, LOCKGRANTED=null, LOCKEDBY=null where ID=1;
或者:
delete from DATABASECHANGELOGLOCK; 

这两条语句均可清除锁信息。
再去查看一下表:
这里写图片描述

此时再去操作数据库即不会报被锁的error了。

此方案参考以下英文网站并解决了我的问题,故结合实例翻译成中文:
https://stackoverflow.com/questions/15528795/liquibase-lock-reasons

猜你喜欢

转载自blog.csdn.net/qq_29668759/article/details/81202766