我需要从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代码中调用它吗?
由于
答案 0 :(得分:0)
在数据库联机时,无法执行数据库级恢复操作(RESTORE
或ROLLFORWARD
)。因此,您无法连接到数据库并执行此操作。但是,您可以执行表空间级恢复操作;您可以还原任何表空间(SYSCATSPACE
除外)并执行前滚操作。
请记住,如果您这样做,可能会遇到最小时间点恢复问题 - 数据库目录不能与表空间的状态不一致。
请注意,ADMIN_CMD
过程与RESTORE
不兼容,因此您无法通过与数据库的JDBC连接来执行此操作。