vRealize Automation 高可用性環境中,horizon-workspace 服務重新啟動後,Identity Manager 可能會無法啟動。

問題

Horizon-workspace 服務無法啟動的原因是發生類似下列內容的錯誤:

使用類別路徑資源 [spring/datastore-wireup.xml] 中定義的名稱「liquibase」建立 bean 出錯: 叫用 init 方法失敗;巢狀例外狀況為 liquibase.exception.LockException: 無法擷取變更記錄鎖定。目前由 fe80:0:0:0:250:56ff:fea8:7d0c%eth0 (fe80:0:0:0:250:56ff:fea8:7d0c%eth0) 鎖定,起始時間為 2015 年 10 月 29 日

由於 vRealize Automation 使用的 liquibase 資料管理公用程式發生問題,Identity Manager 可能無法在高可用性環境中啟動。

程序

  1. 使用 ssh 以根使用者身分登入 vRealize Automation 應用裝置
  2. 執行 service horizon-workspace 命令以停止 horizon-workspace 服務。
  3. 執行 su postgres 命令以成為 postgres 使用者。
  4. 執行命令 psql vcac
  5. 執行下列 SQL 查詢: "update "databasechangeloglock" set locked=FALSE, lockgranted=NULL, lockedby=NULL where id=1;"
  6. 從 databasechangeloglock 執行 SQL 查詢 select *

    輸出應顯示值「f」,代表鎖定。

  7. 使用命令 service horizon-workspace start 啟動 horizon-workspace 服務。