Liquibase ロック - 理由は? 質問する

Liquibase ロック - 理由は? 質問する

Oracle サーバーに対して多数の liquibase スクリプトを実行すると、この問題が発生します。SomeComputer は私です。

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)

同時セッション/トランザクションの数に達した可能性がありますか? 誰か考えはありますか?

ベストアンサー1

更新アプリケーションが突然停止すると、ロックが解除されないことがあります。

そして走る

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

データベースに対して役立ちます。

LOCKED=0を に置き換える必要がある場合もありますLOCKED=FALSE

または、テーブルを削除するだけでDATABASECHANGELOGLOCK、テーブルが再作成されます。

おすすめ記事