还原后需要前滚

时间:2014-04-01 18:24:46

标签: db2 database-backups db2-luw

我的不同环境有三个不同的数据库(hsprdhststhstrn)。 hsprd是我的生产环境,包含实时数据。

经常会有一个请求将生产数据恢复到hstrnhstst。我通常运行此命令(停止后,然后删除数据库):

db2 restore db hsprd taken at 20140331180002 to /dbs into hstrn newlogpath /dbs/log/hstrn without rolling forward;

运行时,我会收到以下消息:

SQL2537N Roll-forward is required following the Restore.

有人可以建议如何解决这个问题吗?

感谢。

编辑:我的备份在这里:

(/home/dbtmp/backups)> ll                            
total 22791416
-rwxrwxr-x    1 hsprd    cics     11669123072 Mar 31 18:03 HSPRD.0.hsprd.NODE0000.CATN0000.20140331180002.001

恢复数据库并省略without rolling forward后,我在尝试查询数据库时收到此消息:

SQL1117N A connection to or activation of database "HSTRN" cannot be made because of ROLL-FORWARD PENDING. SQLSTATE=57019

当我尝试前滚时,使用此命令,我收到此响应:

(/home/dbtmp/backups)> db2 rollforward db hstrn to end of backup and complete;
SQL4970N  Roll-forward recovery on database "HSTRN" cannot reach the specified 
stop point (end-of-log or point-in-time) on database partition(s) "0". 
Roll-forward recovery processing has halted on log file "S0006353.LOG".

1 个答案:

答案 0 :(得分:1)

第一个错误表明您正在恢复必须前滚的在线备份。或者,使用脱机备份映像,然后您可以包含without rolling forward选项。

第二个错误意味着您需要先发出ROLLFORWARD命令,然后才能使用从在线备份恢复的数据库。

最后,第三个错误意味着ROLLFORWARD命令无法找到成功所需的日志。假设日志包含在备份映像中,您需要在LOGTARGET命令上指定RESTORE选项以提取它们,大概是NEWLOGPATH位置。