从Java代码恢复DB2数据库

时间:2015-12-24 14:59:01

标签: java database db2

我需要从Java代码备份和重新安装DB2数据库。我可以通过执行

进行备份
CALL SYSPROC.ADMIN_CMD('BACKUP DATABASE MY_DB ONLINE TO "/tmp" EXCLUDE LOGS WITHOUT PROMPTING')

另一方面,我有一些linux db2客户端命令要恢复

db2 connect to MY_DB; 
db2 quiesce db immediate force connections; 
db2 connect reset;
db2 'RESTORE DATABASE MY_DB ONLINE FROM "/tmp" TAKEN AT 20151223185416 WITHOUT PROMPTING';
db2 ROLLFORWARD DATABASE MY_DB TO END OF LOGS ONLINE;

我可以以某种方式将其转换为存储过程并从java代码中调用它吗?

由于

1 个答案:

答案 0 :(得分:0)

在数据库联机时,无法执行数据库级恢复操作(RESTOREROLLFORWARD)。因此,您无法连接到数据库并执行此操作。但是,您可以执行表空间级恢复操作;您可以还原任何表空间(SYSCATSPACE除外)并执行前滚操作。

请记住,如果您这样做,可能会遇到最小时间点恢复问题 - 数据库目录不能与表空间的状态不一致。

请注意,ADMIN_CMD过程与RESTORE不兼容,因此您无法通过与数据库的JDBC连接来执行此操作。