经验分享:DB2 V9下使用重定向(部分表空间使用自动存储)

1.创建了一个数据库nmdb
     CREATE DATABASE nmdb AUTOMATIC STORAGE YES  ON 'C:\nmdb' DBPATH ON 'C:\' USING CODESET GBK TERRITORY CN COLLATE USING SYSTEM PAGESIZE 4096;
2.在nmdb上创建了一个用户自己的表空间,次表空间没有使用自动存储,表空间名字test,,表空间id为 3,存放在c:\nmdb1\nmdb
3.备份nmdb数据库:db2 backup db nmdb,此备份映像的时间戳记是:20070620145303  
4.删除nmdb数据库,db2 drop db nmdb
5.创建一个新的数据库nmdb1
     CREATE DATABASE nmdb AUTOMATIC STORAGE YES  ON 'C:\nmdb1' DBPATH ON 'C:\' USING CODESET GBK TERRITORY CN COLLATE USING SYSTEM PAGESIZE 4096;
6.在重定向恢复nmdb1之前,要确保源库用来自动存储的C:\nmdb路径存在
7.重定向恢复:
    db2 connect to nmdb1
    db2 restore db nmdb  taken at 20070620145303 into nmdb1 replace existing redirect
                        SQL2529W  警告!复原到与备份映像数据库不相同的现有数据库,现有数据库的别名
                        "NMDB1" 与备份映像的别名 "NMDB" 不匹配,并且现有数据库的数据库名称 "NMDB1"
                        与备份映像的数据库名称 "NMDB"        不匹配。目标数据库将被备份版本覆盖。将删除与目标数据库相关联的前滚恢复日志。
                        SQL1277W  正在执行重定向复原操作。现在,可以查看表空间配置,并且不使用自动存储器的表空间可以重新配置它们的容器。
                        DB20000I  RESTORE DATABASE命令成功完成。
                db2 "set tablespace containers for 3 using (file 'c:\nmdb1\nmdb' 1000)"
                db2 restore db nmdb continue
8.总结:
   (1)重定向恢复命令和v8一样
   (2)注意确保源库(就是备份文件所在的库)用来自动存储的C:\nmdb路径存在
   (3)对于使用自动存储表空间不要使用set tablespace containers命令
请使用浏览器的分享功能分享到微信等