`
shoushou2001
  • 浏览: 32860 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Db2 restore还原数据库“不能连接或激活数据库”的处理

阅读更多

在用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  当前正在使用数据库。  SQLSTATE=57019

 

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  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

补充:如果以上操作还不成功,可执行以下操作:


 

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.还原数据库完成。  

 

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics