免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2673 | 回复: 5
打印 上一主题 下一主题

数据库异地恢复碰到难题(着急出汗中!),请给指点一下! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-11-23 21:44 |只看该作者 |倒序浏览
我们公司实施了一个简单的异地备份方案:就是把生产机所作的数据库镜像备份(在线备份)和日志都传递一份到异地的备份主机上。同时,为了工作方便,还需要把某个数据库镜像备份恢复到备份主机上。我的问题就是关于这个恢复的。先把我的恢复步骤列出来:
―――――――――――――――――――――――――――――――――――
1        把需要恢复的镜像备份文件从磁带库(TSM)拷贝到硬盘上
db2adutl extract taken at 时间点 db mydb without prompting

2        执行restore恢复数据库
db2 restore db mydb from /datafs newlogpath /dbspace/logspace redirect without prompting

3        重定向containers
db2 "set tablespace containers for 4 using(device '/dev/rtbs01lv1' 3276"
db2 "set tablespace containers for 5 using(device '/dev/rtbs02lv1' 2621440)"
……

4        继续恢复
db2 restore db mydb continue

5        把需要的LOG文件拷贝到硬盘上
    5.1        转移到指定目录
        cd $HOME/MYDB/NODE0000
      5.2        确定备份开始后第一个LOG文件
        db2 get db cfg for mydb |grep First
            之后会显示类似下面的结果
            First active log file               = S0022203.LOG
            这里的S0022203.LOG就是我们需要找的文件
    5.3        把上述LOG文件及之后的5个LOG文件拷贝到硬盘上
        以上面的LOG文件为例,它之后的第四个LOG文件是S0022207.LOG,使用下面的命令
    db2adutl extract logs between S0022203.LOG and S0022207.LOG db mydb without prompting

6        由于是online备份,需要前滚到备份后最近的数据库一致点
db2 rollforward db mydb stop执行这条命令,系统会提示错误,同时会给出当前系统最近的一致点的ISO时间戳。我们需要的就是这个时间戳。
db2 rollforward db mydb to iso-time and stop  (iso-time是上行命令得到的时间戳,格式像下列所示:2004-10-10-03.56.52.000000)
―――――――――――――――――――――――――――――――――――
以前做了几次恢复,都很成功。这一次出现了新问题,就是在5.3步中,需要S0022203.LOG找不到了(已经被删除较长时间,确实是找不到了),造成数据库无法前滚到一致点。试过一些办法,都不行。又想着不要这次恢复,改成其他时间的镜像备份来恢复,数据库不允许。
    我现在该怎么做才能使数据库回到正常状态?
    这里高手多,请给指点指点,THX!

论坛徽章:
0
2 [报告]
发表于 2004-11-25 09:26 |只看该作者

数据库异地恢复碰到难题(着急出汗中!),请给指点一下!

不指定时间点可以吗?
db2 rollforward db xxx to end of logs and stop

论坛徽章:
0
3 [报告]
发表于 2004-11-25 10:20 |只看该作者

数据库异地恢复碰到难题(着急出汗中!),请给指点一下!

如果S0022203.LOG丢了,而且它是rollforward需要的日志,那就没办法了!

论坛徽章:
0
4 [报告]
发表于 2004-11-25 14:18 |只看该作者

数据库异地恢复碰到难题(着急出汗中!),请给指点一下!

[quote]原帖由 "mymm"]如果S0022203.LOG丢了,而且它是rollforward需要的日志,那就没办法了![/quote 发表:

恢复这个镜像备份看来是没办法了。我现在只想着能够恢复另外一个备份。但现在的问题是在restore pending状态,不让我做另外一个备份的恢复。有没有办法呢?难道只有把数据库drop掉,再重建才行吗?

论坛徽章:
0
5 [报告]
发表于 2004-11-28 10:14 |只看该作者

数据库异地恢复碰到难题(着急出汗中!),请给指点一下!

论坛徽章:
0
6 [报告]
发表于 2004-12-02 22:51 |只看该作者

数据库异地恢复碰到难题(着急出汗中!),请给指点一下!

原帖由 "sfpeng" 发表:

恢复这个镜像备份看来是没办法了。我现在只想着能够恢复另外一个备份。但现在的问题是在restore pending状态,不让我做另外一个备份的恢复。有没有办法呢?难道只有把数据库drop掉,再重建才行吗?


rollforward到你有的日志的那个timestamp,如S0022202.LOG !
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP