openfire使用的embedded式数据库是用Java编写的Hsqldb。 Openfire有一种迁移指南 ,但并不完全。 首先提到的那个scheme,hsqldb-transfer,是:
如果openfire在没有graphics的服务器上运行,这意味着:
不起作用。
在指南中,使用了jdbc:hsqldb:Path-To / embedded-db / openfire。 问题是:有时该文件在那里,其他时间则不是。 就我而言:星期一是在那里,我没有closures机器上的开火,而是在干燥的情况下运行。
(我成功的干运行的下一步是:
)
如何得到一个离线的,而不是更新的数据库副本,使hsqldb-transfer可以使用它?
这是一种蹩脚的做法,但是如果在离线状态下找不到文件时遇到问题(我无法解释):
只要在备份期间没有发生检查点,您就可以对现场hsqldb进行备份。 每当日志文件填满时,就会出现一个检查点。 在embedded式数据库的属性文件中有一个设置:
hsqldb.log_size=50
(这是在兆 – 50M)
只要日志文件在活动数据库文件的文件副本中没有达到该大小,文件就会一致。 无论在日志文件中还没有写入数据库。 如果你可以在下class时间这样做,你可以得到一个合理的转储文件。
所以..你可以杀死任何活动的会话,做文件复制,closures服务器,然后从那里继续。