SQL1117N 由于 ROLL-FORWARD PENDING,不能连接或激活数据库
(2012-06-10 00:31:04)
标签:
杂谈 |
分类: 技术类 |
Db2 restore还原数据库“不能连接或激活数据库”的处理 博客分类: DataBase
DB2 .
在用restore命令还原数据库时,命令行显示还原成功,
C:\Documents and Settings\Administrator>db2 restore database XXX from "D:\DB2"
taken at 20110515133036 on "d:" dbpath on "D:\DB2" into XXX comprlib D:\DB2\
db2compr.dll
SQL1035N
C:\Documents and Settings\Administrator>db2 restore database XXX from "D:\DB2"
taken at 20110515133036 on "d:" dbpath on "D:\DB2" into XXX comprlib D:\DB2\
db2compr.dll
SQL2529W
"YYY" 与备份映像的别名 "XXX" 不匹配,并且现有数据库的数据库名称 "XXX"
与备份映像的数据库名称 "XXX"
不匹配。目标数据库将被备份版本覆盖。将删除与目标数据库相关联的前滚恢复日志。
要继续吗?(y/n) y
DB20000I
用connect命令连接数据库,出现如下错误提示:
SQL1117N
SQLSTATE=57019
在前滚已经过大于或等于 "2011-05-23-07.06.38.000000 UTC" 的时间点之前,数据库 "XXX"
不能脱离前滚暂挂状态,因为节点 "0" 中包含比指定时间更新的信息。
在网上找资料,用rollforward命令:
参考网址:http://bpmfhu.itpub.net/category/47/124
运行后,显示如下提示,操作成功,再次连接数据库,提示成功连接。
DB20000I
db2 rollforward db XXX stop
补充:如果以上操作还不成功,可执行以下操作:
1.命令:restore db XXX continue
注释:XXX 是源数据库名称,
完成重定向恢复
2.日志需要前滚,需要获得该备份的日志序列文件。
执行命令:rollforward db XXX to end of logs and complete
报错:SQL4970N 由于数据库分区 "0" 上的日志文件丢失或损坏,所以对数据库 "XXX"
执行的前滚恢复操作无法到达指定的停止点(日志末尾或时间点)。前滚恢复操作在处理日
志文件 "S0036188.LOG" 时停止。
从客户环境数据库服务器获取S0036188.LOG
3.查询该还原目标数据库日志文件路径
执行命令:get db cfg for XXX
找到日志文件路径,把第3点获得的日志拷贝到该路径
4.前滚数据库
命令:rollforward db XXX to end of logs and complete
5.还原数据库完成。