db2数据库还原

1、建好数据库比如TEST,建的时候将codepage设为与目标备份的codepage一致,比如: 437 

2、然后备份一下刚建好的数据库,备份成功后,将20141127目录删除,然后将原来备份好的比如20141120整个copy到目录下

3、右键数据库,然后弹出restore database....

选择List of directries or taps :比如c:(Browse...,直接输入都可以)

选择date(时间戳) Time备份文件名.001前面的一致就可以

然后OK

还原好数据库后,点击数据库报以下错误:

4、 There is no available conversion for the source code page "1386" to the target code page "437".  Reason Code "1".  SQLSTATE=57017

增加db2codepage 437

这一步在3之前操作,因为碰到了错误所以才这样还原。

然后还原成功后,

5、A connection to or activation of database "TEST" cannot be made because of ROLL-FORWARD PENDING.  SQLSTATE=57019

总结(来自http://www.db2china.net/home/space.php?uid=92501&do=blog&id=29971): 

   出现这个问题,据我推测,是因为我给数据库做了在线增量备份,在一段时间以后,用此增量备份做了还原,所以数据中的某个ID号和日志中的ID号不能对应(数据不完整),所以不能打开数据库,需要使用在线日志做数据前滚,统一ID号(保持数据完整)后,才能打开数据库。

db2 rollforward db TEST to end of logs and stop 

command window执行以上的命令即可。

到此数据库还原就OK了,我也在网上查了好多改codepage的方法,无耐一个都不成功,搞的db2服务都启动不了,只能重装db2.

希望能帮到碰到相同问题的朋友。

 

 

posted @ 2014-11-27 16:17  jiduoduo  阅读(818)  评论(0编辑  收藏  举报