Openfire использует встроенную базу данных - Hsqldb, написанную на Java. Openfire имеет своего рода руководство по миграции, но он не совсем полный. Прежде всего, упомянутая там программа hsqldb-transfer:
Если openfire работает на сервере без графики, это означает:
не работает.
В руководстве используется URL-адрес jdbc: hsqldb: Path-To / embedded-db / openfire. Проблема в том, что иногда этот файл есть, а иногда нет. В моем случае: он был там в понедельник, когда я провел пробный прогон без отключения openfire на первой машине, его не было сегодня, когда я отключил openfire.
(Следующие шаги в моем успешном пробном прогоне были:
)
Как получить автономную, не обновляемую копию базы данных, чтобы hsqldb-transfer мог ее использовать?
Это своего рода неудачный способ сделать это, но если у вас возникли проблемы с поиском файла в автономном режиме (что я не могу объяснить):
Вы можете сделать резервную копию живого hsqldb, если во время резервного копирования не возникла контрольная точка. Контрольная точка будет происходить каждый раз при заполнении файла журнала. В файле свойств embedded-db есть настройка:
hsqldb.log_size=50
(в мегабайтах - 50 млн)
Пока файл журнала не достигает этого размера во время копирования файла live db, файл будет согласованным. Все, что находится в файле журнала, еще не было записано в базу данных. Если вы можете сделать это в нерабочее время, вы можете получить достаточно хороший файл дампа.
Итак ... вы можете убить любые активные сеансы, скопировать файл, выключить сервер и продолжить работу оттуда.