我在链接http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.admin.cmd.doc/doc/r0001978.html?cp=SSEPGG_9上阅读了有关 ROLLFORWARD 选项的信息.7.0%2F3-6-2-4-106但我找不到问题的答案。
我的数据库处于存档模式。
我正在使用DISK
选项LOGARCHMETH1
我在星期一 23:59 进行了完整的在线备份
我有周二、周三和周四的存档日志。例如,假设每天一个:S0000001.LOG 和 S0000002.LOG 和 S0000003.LOG。
在星期五,我有活动日志 S0000004.LOG。
假设仅出于测试目的,我想恢复周一进行的在线备份以及周二、周三、周四和周五提交的所有事务。所以我想恢复周一到周五的一切
我认为通过阅读所有手册,我只需要在恢复后执行ROLLFORWARD TO END OF LOGS
db2 rollforward db maxdb75 to end of logs and complete;
我认为这个命令to end of logs
将包括Archive Logs(S0000001.LOG + S0000002.LOG + S0000003.LOG.)+Active Logs(S0000004.LOG)
但是一位优秀的数据库专家告诉我:“在不指定溢出日志路径的情况下前滚到日志末尾时,只会读取活动日志”
所以我有两个问题:
- 我的示例中的内容将在
"to end of logs"
命令的情况下恢复 - 如果在恢复后我想在我的示例中前滚周一到周五的所有内容,这是命令吗:
db2 rollforward db maxdb75 to end of logs and complete overflow log path "(/data/archiveLogsPath)";
先感谢您!!!!
谁告诉你“在不指定溢出日志路径的情况下前滚到日志末尾时,只会读取活动日志”是错误的。
当您
LOGARCHMETH1
设置为DISK
、或时TSM
,DB2 日志管理器 EDU ( ) 负责将日志文件移入和移出归档位置。执行操作时,DB2 将确定它需要哪些日志文件,如果文件不在活动日志路径中,则检索文件进行处理。USEREXIT
VENDOR
db2logmgr
ROLLFORWARD
db2logmgr
现在,如果您已
LOGARCHMETH1
设置为LOGRETAIN
,并且您正在手动将日志文件从活动日志路径移动到其他位置,那么您必须指定OVERFLOW LOG PATH
(或将事务日志文件移动/复制回活动日志路径)。所以:
to end of logs
意思就是它听起来的样子:DB2 将在备份时间和恢复发生之间重放日志文件中存在的所有事务。是的,伊恩在这里是正确的。我相信你的问题现在已经解决了。此外,如果我们将 LOGARCHMETH1 正确设置为 LOGRETAIN,归档日志仍然可以存在于活动日志路径中。信息中心的详细信息可以提供更好的概述。希望对您有所帮助!