Openfireが使用する組み込みデータベースは、Javaで記述されたHsqldbです。 Openfireには一種の migration-guide がありますが、完全ではありません。まず、そこで言及されているプログラム、hsqldb-transferは次のとおりです。
グラフィックのないサーバーでopenfireが実行されている場合、これは次のことを意味します。
動作しません。
ガイドでは、URL jdbc:hsqldb:Path-To/embedded-db/openfireが使用されています。問題は、そのファイルが存在する場合と存在しない場合があります。私の場合、月曜日にマシン1で直火をオフにせずにドライランを行ったとき、それはありませんでした。
(私の成功したドライランの次のステップは次のとおりです。
)
hsqldb-transferが使用できるようにデータベースの更新されたコピーではなく、オフラインを取得するにはどうすればよいですか?
これは一種の不完全な方法ですが、オフラインのときにファイルを見つけるのに問題がある場合(私は説明できません):
バックアップ中にチェックポイントが発生していない限り、ライブhsqldbのバックアップを取ることができます。チェックポイントは、ログファイルがいっぱいになるたびに発生します。 Embedded-dbのプロパティファイルには次の設定があります。
hsqldb.log_size=50
(これはメガで-50M)
ライブデータベースファイルのファイルコピー中にログファイルがそのサイズに達しない限り、ファイルは一貫性があります。ログファイルにあるものは、まだデータベースに書き込まれていません。営業時間外にこれを行うことができれば、適度に優れたダンプファイルを取得できます。
したがって、アクティブなセッションをすべて強制終了し、ファイルコピーを実行し、サーバーをシャットダウンして、そこから続行できます。