Liquibase 锁 - 原因? [英] Liquibase lock - reasons?

查看:38
本文介绍了Liquibase 锁 - 原因?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在 Oracle 服务器上运行大量 liquibase 脚本时遇到了这个问题.某台电脑是我.

I get this when running a lot of liquibase-scripts against a Oracle-server. SomeComputer is me.

Waiting for changelog lock....
Waiting for changelog lock....
Waiting for changelog lock....
Waiting for changelog lock....
Waiting for changelog lock....
Waiting for changelog lock....
Waiting for changelog lock....
Liquibase Update Failed: Could not acquire change log lock.  Currently locked by SomeComputer (192.168.15.X) since 2013-03-20 13:39
SEVERE 2013-03-20 16:59:liquibase: Could not acquire change log lock.  Currently locked by SomeComputer (192.168.15.X) since 2013-03-20 13:39
liquibase.exception.LockException: Could not acquire change log lock.  Currently locked by SomeComputer (192.168.15.X) since 2013-03-20 13:39
        at liquibase.lockservice.LockService.waitForLock(LockService.java:81)
        at liquibase.Liquibase.tag(Liquibase.java:507)
        at liquibase.integration.commandline.Main.doMigration(Main.java:643)
        at liquibase.integration.commandline.Main.main(Main.java:116)

会不会是达到了同时会话/交易的数量?有人有什么想法吗?

Could it be that the number of simultaneous sessions/transactions are reached? Anyone has any ideas?

推荐答案

有时如果更新应用程序突然停止,那么锁仍然卡住.

Sometimes if the update application is abruptly stopped, then the lock remains stuck.

然后运行

UPDATE DATABASECHANGELOGLOCK SET LOCKED=0, LOCKGRANTED=null, LOCKEDBY=null where ID=1;

对抗数据库有帮助.

您可能还需要将 LOCKED=0 替换为 LOCKED=FALSE.

You may also need to replace LOCKED=0 with LOCKED=FALSE.

或者您可以简单地删除 DATABASECHANGELOGLOCK 表,它将被重新创建.

Or you can simply drop the DATABASECHANGELOGLOCK table, it will be recreated.

这篇关于Liquibase 锁 - 原因?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆