DB2恢复的常见问题

         数据库恢复最简单的命令:
        db2 RESTORE DATABASE pecker  from  路径 TAKEN AT 20090701085133
        在DOS窗口下进入到保存备份文件的路径下,输入命令:
        db2 RESTORE DATABASE pecker   TAKEN AT 20090701085133
        如果报某个文件夹不存在就手工创建一个。
        如果报下面的错误:
        SQL2563W  已成功完成复原过程,但是未复原备份中的一个或多个表空间。
        如果遇到这样的问题则需要重定向恢复数据库,在网上找了许多关于重定向恢复的方法,下面的文章对于我来说是最实用的:

DB2 重定向恢复 

发布: 2008-12-24 14:34 | 作者: webmaster | 来源: 本站原创 | 查看: 50次
重定向恢复方法一:
步骤:
1.带 REDIRECT 选项发出 RESTORE DATABASE 命令。
例如:  db2 restore db flm from d taken at 20080603115210 to e redirect;
2.修改容器位置
例如:  db2 set tablespace containers for 0 using (path 'D:\DB2\NODE0000\FLM\T0000000');
            db2 set tablespace containers for 1 using (path 'D:\DB2\NODE0000\FLM\T0000001');
            db2 set tablespace containers for 2 using (path 'D:\DB2\NODE0000\FLM\T0000002');
3.再次发出 RESTORE DATABASE 命令,这次指定 CONTINUE 选项。
例如:  db2 restore db flm continue;
4.检查是否成功
例如:  db2 list db directory
            db2 connect to flm
            db2 list tablespace containers for 0
            db2 list tablespace containers for 1
            db2 list tablespace containers for 2
5.此种方法恢复的注意点:
容器的路径一定要填写正确,否则会一直报错
盘符\实例\节点\数据库\表空间

-----各个命令直接在DB2CMD中执行即可
注意:
1.此种恢复方法的前提是创建数据库的时候必须不是自动存储方式,例如:
db2 create db flm automatic storage no on d:(V9中自动为yes默认的就是DMS)
2.在生成环境中一定要特别注意,此种创建数据库带来的麻烦就是在创建一个新的表空间的时候必须要显示地定义容器,此时是managed BY SYSTEM or MANAGED BY DATABASE都是可以的
3.在没有启用自动存储的数据库中创建表空间时,必须指定 MANAGED BY SYSTEM 或 MANAGED BY DATABASE 子句。使用这些子句会分别创建 SMS 表空间和 DMS 表空间。在这两种情况下,都必须提供容器的显式列表。
4.指定参数可以让系统自动扩展容器的大小
AUTORESIZE YES
当表空间用光空间时,系统将自动地扩展容器的大小。
重定向恢复方法二:
备份和创建数据库的时候没有任何的限制
恢复的时候指定恢复后数据库路径和存储文件路径
db2 restore db jhk from E:\dss\database taken at 20080812145614 on e: dbpath on e: into jhk

你可能感兴趣的:(职场,db2,重定向,恢复,休闲)