作成日 | 更新日 | 影響を受けるバージョン | 修正バージョン |
---|---|---|---|
| Management Console - 全バージョン | N/A |
問題事象
Management Console のアップグレード/アップデート実行時「パッケージのインストール」完了後に「次へ」をクリックした際にプロセスが失敗すると、その後たとえバックアップからManagement Consoleインストールディレクトリをリストアしてもアップグレード/アップデート再試行は同箇所で必ず失敗する。
原因
パッケージのインストール後に「次へ」をクリックすると、アップグレード/アップデートの一環として必要な新しいフィールド、値、その他の変更がデータベースに適用されます。変更のためにインストールプロセスはデータベースをロックしますが、ロック後にアップグレード/アップデートが失敗した場合、先行するロックにより後続の再試行も失敗します。これはinstall.logファイル (デフォルトの場所は「Program Files\Blancco\Blancco Management Console\logs」ですが環境によって異なります) 内の次のメッセージから確認できます:
Could not acquire change log lock. Currently locked by Computer\User since DD/MM/YY hh:mm
使用されているシステムとロック時に使用されていたユーザーアカウントが表示されます。
解決策
最初のアップグレード/アップデート実行前にデータベースのバックアップを取得している場合には、リストアによりロックはクリアされます。一方、バックアップが使用できない、またはバックアップ取得前に失敗してしまった場合には、データベースロックを手動で解除する必要があります。
以下の手順詳細をご参照ください。MS SQLデータベースおよびPostgreSQLデータベースの双方について説明しています。この手順が完了し、また最初に失敗した原因を解決すれば、Management Console のアップグレード/アップデートインストールを完了できます。
Microsoft SQLデータベース (SQL Server Management Studioを使用)
- SQL Server Management Studioにログインしデータベースフォルダを展開
- Blanccoレポートデータベースを展開 (使用されているデータベース名が不明な場合、main.propertiesファイルから確認できます。このファイルは次の場所にあります「Program Files\Blancco\Blancco Management Console\apache-tomcat\webapps\ROOT\WEB-INF\classes」。これはデフォルトの場所であり、システムによって異なる場合があります。main.propertiesファイル内に「database.url=」エントリーがあり、さらにその値に「database.name=」が含まれています。これがManagement Consoleに使用されているデータベースです)
- 「テーブル」フォルダーを展開しデータベーステーブルを表示
- dbo.DATABASECHANGELOGLOCKを選択し右クリックからオプションメニューを表示
- 「上位200行を編集」を選択しテーブルの内容を表示
- 「LOCKED」列が「True」かつ「LOCKGRANTED」列 (ロックがいつ有効になったかを示す) および「LOCKEDBY」列 (データベースをロックしたシステム/ユーザーを示す) に値が入力されている行を見つけ、ロックを解除するためにこれらの行を削除
PostgreSQLデータベース (pgAdminツールを使用)
- pgAdminを開き「サーバ」を展開しさらに適切なPostgreSQLインストール/インスタンスを展開
- 「データベース」を展開、さらにManagement Consoleが使用しているデータベースを展開 (使用されているデータベース名が不明な場合、main.propertiesファイルから確認できます。このファイルは次の場所にあります「Program Files\Blancco\Blancco Management Console\apache-tomcat\webapps\ROOT\WEB-INF\classes」。これはデフォルトの場所であり、システムによって異なる場合があります。main.propertiesファイル内に「database.url=」エントリーがあり、さらにその値に「database.name=」が含まれています。これがManagement Consoleに使用されているデータベースです)
- 「スキーマ」を展開→「public」および「テーブル」フォルダーを展開しデータベーステーブルを表示
- 「databasechangeloglock」を選択し右クリックからオプションメニューを表示
- 「データビュー」→ 「先頭100行の表示」を選択しテーブルの内容を表示
- 「locked」列が「true」かつ「lockgranted」列 (ロックがいつ有効になったかを示す) および「lockedby」列 (データベースをロックしたシステム/ユーザーを示す) に値が入力されている行を見つけ、ロックを解除するためにこれらの行を削除