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.
希望能帮到碰到相同问题的朋友。