其中,标识为 0,1,2 的表空间是系统缺省的默认表空间,无需进行重定向操作,这里可以不必“理会”它。 标识为 3,5,6 的表空间需要进行重定向操作,脚本如下(以下语句必须写在一个脚本中执行): · 第四步,在目标系统中创建数据库 YNDC ,然后通过表空间重定向还原数据库 db2 create db YNDC; 执行下面的脚本,脚本清单: restore db YNDC from d taken at 20070315165040 to d redirect;USING ( 'D:/DB2/Container/TestDB/SysData/' ) set tablespace containers for 4 using (PATH 'G:/DB2Containner_2/YNDC/sys' ); set tablespace containers for 3 using (FILE "G:/DB2Containner_2/YNDC/YNDC" 5242880); set tablespace containers for 5 using (FILE "G:/DB2Containner_2/YNDC/USERTEMPSP" 51200); set tablespace containers for 6 using (FILE "G:/DB2Containner_2/YNDC/TEMPSPACE8K" 51200); restore db YNDC continue; ·第五步,验证目标系统中还原的数据库的表空间 db2 list db directory db2 connect to YNDC db2 list tablespace containers for 3 db2 list tablespace containers for 5 db2 list tablespace containers for 6 db2 connect reset db2 terminate
Edit by pjj in 2007-03-16 9:09关 于数据库重定向恢复数据库还有一点补充:如果源数据库的缓冲池较大,还原后目标数据库启动不了的情况下,在还原成功之后请修改缓冲池的大小。另外,在指定 表空间容器的时候,需要注意目标表空间和源表空间的管理类型必须一致,系统管理表空间对应系统管理表空间,数据库管理表空间对应数据库管理表空间。就本例 来说,标识为 3,5,6的表空间为数据库管理表空间,其他的为系统管理表空间。具体的设置语句也有不同,详细地请参考上面的语句。