openfire 使用的嵌入式数据库是 Hsqldb,用 Java 编写。Openfire 有一种迁移指南,但它并不完全完整。首先,那里提到的程序 hsqldb-transfer 是:
如果 openfire 在没有图形的服务器上运行,这意味着:
不起作用。
在指南中使用了 url jdbc:hsqldb:Path-To/embedded-db/openfire。问题是:有时该文件在那里,有时则不在。就我而言:星期一我在没有关闭第一台机器上的开火的情况下进行空运行时它就在那里,今天当我关闭开火时它不见了。
(我成功试运行的下一步是:
)
如何获得离线的、未被更新的数据库副本,以便 hsqldb-transfer 可以使用它?
小智 1
这是一种蹩脚的方法,但如果您在脱机时找不到文件时遇到问题(我无法解释):
只要备份期间未发生检查点,您就可以备份实时 hsqldb。每次日志文件填满时都会出现一个检查点。嵌入式数据库的属性文件中有一个设置:
hsqldb.log_size=50
Run Code Online (Sandbox Code Playgroud)
(以兆 - 50M 为单位)
只要日志文件在实时数据库文件的文件复制过程中没有达到该大小,该文件就会保持一致。日志文件中的任何内容尚未写入数据库。如果您可以在下班时间执行此操作,则可以获得相当好的转储文件。
所以..您可以终止任何活动会话,进行文件复制,关闭服务器,然后从那里继续。
归档时间: |
|
查看次数: |
4455 次 |
最近记录: |