备份不包含表的derby数据库

2019年10月8日 14点热度 0条评论

我需要备份一个derby数据库(数据和架构),以便以后使用Java还原

但我需要排除其中一张很大的表,在这种情况下进行备份并不重要

有什么方法可以将表导出为create语句和inset语句列表?

我发现了以下备份方式,但是在我的情况下它们都不可行:

SYSCS_UTIL.SYSCS_BACKUP_DATABASE

此表将包含我不希望包含在备份中的表

如果我可以排除该表,那将会很好。
SYSCS_UTIL.SYSCS_EXPORT_TABLE

为每个表调用它很好,但是我不知道如何在该点上备份/还原表架构以进行恢复!

它将生成一个逗号分隔的文件,其中包含该时间点的数据。

解决方案如下:

SYSCS_EXPORT_TABLE系统过程的反面是SYSCS_IMPORT_TABLE过程:http://db.apache.org/derby/docs/10.15/ref/rrefimportproc.html

为了对此进行完整的备份和还原解决方案,我建议:

将您所有的导出命令收集到一个脚本中,并将该脚本像一个真实程序一样对待(将其置于源代码控制之下,对其进行测试,并由同事对其进行审查等)
最初,请勿尝试立即还原回同一数据库。创建一个新的数据库,并将数据还原到新的数据库中。特别是,这将对您的测试有所帮助,因为您可以编写命令以从旧数据库和新数据库中提取数据并进行比较。