Db2 restore还原数据库“不能连接或激活数据库”的处理
在用restore命令还原数据库时,命令行显示还原成功,
C:Documents and SettingsAdministrator>db2 restore database XXX from "D:DB2"
taken at 20110515133036 on "d:" dbpath on "D:DB2" into XXX comprlib D:DB2
db2compr.dll
SQL1035N 当前正在使用数据库。 SQLSTATE=57019
C:Documents and SettingsAdministrator>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 RESTORE DATABASE命令成功完成。
用connect命令连接数据库,出现如下错误提示:
SQL1117N 由于 ROLL-FORWARD PENDING,不能连接或激活数据库 "XXX"。
SQLSTATE=57019
在前滚已经过大于或等于 "2011-05-23-07.06.38.000000 UTC" 的时间点之前,数据库 "XXX"
不能脱离前滚暂挂状态,因为节点 "0" 中包含比指定时间更新的信息。
在网上找资料,用rollforward命令:
参考网址:http://bpmfhu.itpub.net/category/47/124
运行后,显示如下提示,操作成功,再次连接数据库,提示成功连接。
前滚状态
输入数据库别名 = XXX
节点数已返回状态 = 1
节点号 = 0
前滚状态 = 未暂挂
下一个要读取的日志文件 =
已处理的日志文件 = -
上次落实的事务 = 2011-05-23-07.25.15.000000 UTC
DB20000I ROLLFORWARD命令成功完成。
db2 rollforward db XXX stop