lucas1643
作者lucas1643·2010-12-19 12:09
软件工程师·PCCW

重定向恢复实践

字数 1488阅读 2696评论 0赞 0
这次实践的目的是从生产环境克隆库到测试环境,步骤如下
 1.从生产环境里得到一个联机备份映像 SAMPLE.0.db2inst.NODE0000.CATN0000.20101217231502.001 。
2.执行
db2 restore db sample taken at 20101217231502 into sample redirect generate script newdb.clp without rolling forward生成重定向脚本。虽然这里能生成重定向脚本,可是还不能执行得了。因为该映射是联机备份映像,是不允许加without rolling forward来恢复的。
3.修改重定向脚本,
包括修改恢复命令参数和修改表空间容器文件。
RESTORE DATABASE sample
-- USER  <username>
-- USING '<password>'
FROM '/tbmtest/db/db2inst/dbbakbigversion'
TAKEN AT 20101217231502
ON '/tbmtest/data/uat3data'----测试环境数据库路径
-- DBPATH ON '<target-directory>'
INTO sample
-- LOGTARGET '<directory>'
NEWLOGPATH '/tbmtest/data/tbmdblog/'--测试环境归档日志路径
-- WITH <num-buff> BUFFERS
-- BUFFER <buffer-size>
-- REPLACE HISTORY FILE
-- REPLACE EXISTING
REDIRECT
-- PARALLELISM <n>
--WITHOUT ROLLING FORWARD
-- WITHOUT PROMPTING
4.执行脚本:db2 -tvf newdb1218.clp,这里最好不要输出为日志,实时查看一下硬盘空间情况(df -h),由于是生产环境数据,数据量比较大,有可能测试环境硬盘空间不够。
5.执行完连接数据库db2 connect to sample.
A connection to or activation of database "sample" cannot be made
because of ROLL-FORWARD PENDING.  SQLSTATE=57019
6.执行前滚操作db2 rollforward database sample to end of logs and stop,提示SQL4970N  Roll-forward recovery on database "sample" 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 "S0001102.LOG".
7.出现这个提示应该是找到归档日志,把生产环境的归档日志打包压缩,并拷到测试环境归档日志目录。重新执行前滚。
8.执行成功,重连数据库可以了。
整个恢复时间花了将近两个小时,也算学到东西啦,哈哈。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

相关文章

相关问题

相关资料

X社区推广