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