DB2表空间重定向恢复数据库实战

页面导航:首页 > 数据库 > DB2 > DB2表空间重定向恢复数据库实战

DB2表空间重定向恢复数据库实战

来源: 作者: 时间:2016-01-13 16:35 【

DB2的备份恢复有点坑,当源系统和目标系统的路径设置不同时,要手动进行重定向恢复,本文是我一次实战操作之后总结的过程,仅供参考。一、发出重定向恢复命令DB2 RESTORE DB OLDDB F
DB2的备份恢复有点坑,当源系统和目标系统的路径设置不同时,要手动进行重定向恢复,本文是我一次实战操作之后总结的过程,仅供参考。
 
一、发出重定向恢复命令
 
DB2 RESTORE DB OLDDB FROM "C:\OLDDBbak" TAKEN AT 20150717164847 TO "C:" INTO NEWDB REDIRECT
其中,OLDDB是旧、备份的数据库名称,NEWDB是新数据库名称,不用事先创建也可以,C:\OLDDBbak是备份文件放置的目录,20150717164847是
 
备份文件的时间戳,具体可看备份文件的名字OLDDB.0..NODE0000.CATN0000.20150717164847.001,TO "C:"是新数据库的路径,REDIRECT是进行重定向恢复。
 
二、重定向表空间
 
2.1列出表空间
 
DB2 LIST TABLESPACES
可以看到当前数据库的表空间状况
 
 
表空间标识                          = 2
 名称                                = SYSTOOLSTMPSPACE
 类型                                = 管理空间
 内容                                = 用户临时数据
 状态                   = 0x2000100
   详细解释:
     复原暂挂
     可以定义存储器
 
 表空间标识                          = 3
 名称                                = TBS_01
 类型                                = 数据库管理空间
 内容                                = 所有持久数据。大型表空间。
 状态                   = 0x2001100
   详细解释:
     复原暂挂
     必须定义存储器
     可以定义存储器
 
可以看到表空间3是“必须定义存储器”状态,这就要进行重定向了。
 
2.2查看要进行重定向的表空间详细信息
 
DB2 LIST TABLESPACE CONTAINERS FOR 3 SHOW DETAIL
结果如下
 
 
表空间 3 的表空间容器
 
 容器标识                            = 0
 名称                                = E:\OLDDB\TBS\CONTAINER_01_01
 类型                                = 文件
 总计页数                            = 25600
 可用页数                            = 25568
 可访问                              = 否
 容器标识                            = 1
 名称                                = E:\OLDDB\TBS\CONTAINER_01_02
 类型                                = 文件
 总计页数                            = 25600
 可用页数                            = 25568
 可访问                              = 否
 
可以看到,这个表空间的路径在目标系统是不可访问的,要进行重定向。
 
2.3进行重定向
 
这个表空间有两个容器,可以分别重定向
 
DB2 SET TABLESPACE CONTAINERS FOR 3 USING (FILE "C:\NEWDB\TBS\CONTAINER_01_01" 25600,FILE "C:\NEWDB\TBS\CONTAINER_01_02" 25600)
也可以合并重定向
 
DB2 SET TABLESPACE CONTAINERS FOR 3 USING (FILE "C:\NEWDB\TBS\CONTAINER_01" 51200)
页大小要大于等于原大小
这是数据库管理空间类型的重定向,如果是系统管理空间类型的,命令如下:
 
DB2 SET TABLESPACE CONTAINERS FOR 10 USING (PATH "C:\NEWDB\TBS\TBS_SYSTEM_04")
可能有很多个表空间要进行重定向,按实际环境,最后要执行的命令类似如下:
 
 
DB2 SET TABLESPACE CONTAINERS FOR 3 USING (FILE "C:\NEWDB\TBS\CONTAINER_01_01" 25600,FILE "C:\NEWDB\TBS\CONTAINER_01_02" 25600)
DB2 SET TABLESPACE CONTAINERS FOR 4 USING (FILE "C:\NEWDB\TBS\CONTAINER_02" 25600)
DB2 SET TABLESPACE CONTAINERS FOR 5 USING (FILE "C:\NEWDB\TBS\CONTAINER_03" 51200)
DB2 SET TABLESPACE CONTAINERS FOR 6 USING (FILE "C:\NEWDB\TBS\CONTAINER_04" 64000)
DB2 SET TABLESPACE CONTAINERS FOR 7 USING (FILE "C:\NEWDB\TBS\CONTAINER_05" 153600)
DB2 SET TABLESPACE CONTAINERS FOR 8 USING (FILE "C:\NEWDB\TBS\CONTAINER_06" 51200)
DB2 SET TABLESPACE CONTAINERS FOR 9 USING (FILE "C:\NEWDB\TBS\CONTAINER_07" 25600)
DB2 SET TABLESPACE CONTAINERS FOR 10 USING (PATH "C:\NEWDB\TBS\TBS_SYSTEM_04")
DB2 SET TABLESPACE CONTAINERS FOR 11 USING (PATH "C:\NEWDB\TBS\TBS_SYSTEM_08")
DB2 SET TABLESPACE CONTAINERS FOR 12 USING (PATH "C:\NEWDB\TBS\TBS_USERTMP_04")
DB2 SET TABLESPACE CONTAINERS FOR 13 USING (PATH "C:\NEWDB\TBS\TBS_USERTMP_08")
 
最后重新执行2.1步骤检查看还有没“必须定义存储器”的表空间
 
三、完成重定向恢复
 
DB2 RESTORE DB OLDDB CONTINUE
Tags:

文章评论

最 近 更 新
热 点 排 行
Js与CSS工具
代码转换工具

<