我需要从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代码中调用它吗?
谢谢
发布于 2015-12-25 03:33:11
当数据库处于在线状态时,无法执行数据库级恢复操作(RESTORE或ROLLFORWARD)。因此,您不能连接到数据库并执行此操作。但是,您可以执行表空间级别的恢复操作;您可以还原任何表空间(SYSCATSPACE除外)并执行前滚操作。
请记住,如果您这样做,您可能会遇到最小时间点恢复问题- the数据库编目不能与表空间的状态不一致。
但是请注意,ADMIN_CMD过程与RESTORE不兼容,因此不能通过到数据库的JDBC连接来执行此操作。
https://stackoverflow.com/questions/34454591
复制相似问题