首页 > 解决方案 > 连接到 HANA 时解锁 liquibase 锁

问题描述

我在 VDI 上针对 SAP HANA 数据库运行 liquibase 脚本。然后,VDI 挂了,所以我干脆杀死了 VDI。再次打开 VDI 并尝试启动运行相同 liquibase 脚本的相同应用程序时,我收到以下错误:正在初始化与 HANA 的连接...

INFO  [2018-10-09 17:36:42,245] liquibase: Waiting for changelog lock....
INFO  [2018-10-09 17:36:52,321] liquibase: Waiting for changelog lock....
INFO  [2018-10-09 17:37:02,368] liquibase: Waiting for changelog lock....
INFO  [2018-10-09 17:37:12,412] liquibase: Waiting for changelog lock....
INFO  [2018-10-09 17:37:22,463] liquibase: Waiting for changelog lock....
INFO  [2018-10-09 17:37:32,513] liquibase: Waiting for changelog lock....
INFO  [2018-10-09 17:37:42,564] liquibase: Waiting for changelog lock....
INFO  [2018-10-09 17:37:52,619] liquibase: Waiting for changelog lock....
INFO  [2018-10-09 17:38:02,666] liquibase: Waiting for changelog lock....
INFO  [2018-10-09 17:38:12,716] liquibase: Waiting for changelog lock....
INFO  [2018-10-09 17:38:22,764] liquibase: Waiting for changelog lock....
INFO  [2018-10-09 17:38:32,819] liquibase: Waiting for changelog lock....

……

然后我收到以下错误

! liquibase.exception.LockException: Could not acquire change log lock.  Currently locked by SomeVMMAchine since 10/9/18 11:05 AM
! at liquibase.lockservice.StandardLockService.waitForLock(StandardLockService.java:175) ~[liquibase-core-3.4.1.jar:na]

我知道之前在stackoverflow上回答了这个问题(Liquibase lock-reasons?),但是hana数据库的人在回答所建议的Hana数据库中找不到名为:“DATABASECHANGELOGLOCK”的表。有什么建议么?

标签: liquibase

解决方案


我的建议是:再次询问数据库人员。我会假设桌子在那里。否则 liquibase 应该如何知道它当前已被“SomeVMMAchine since 10/9/18 11:05 AM”锁定。

也可以尝试运行releaseLocks命令释放锁


推荐阅读