我需要备份 derby 数据库(包括数据和架构)以便稍后使用 Java 进行恢复
但是我需要排除其中一个非常大的表,在这种情况下备份并不重要
有没有办法将表导出为创建语句和插入语句列表?
<小时/>我发现了以下备份方法,但它们都不适合我的情况:
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
要从中创建完整的备份和恢复解决方案,我建议:
- 将所有导出命令收集到一个脚本中,并将该脚本视为真正的程序(将其置于源代码控制之下、对其进行测试、让您的同事对其进行审核等)
- 最初,不要尝试立即恢复到同一个数据库中。创建一个新数据库,并将数据恢复到新数据库中。特别是,这将有助于您的测试,因为您可以编写命令从旧数据库和新数据库中获取数据并进行比较。
关于java - 备份 derby 数据库但排除表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61594028/