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

数据库
DB2的备份恢复有点坑,当源系统和目标系统的路径设置不同时,要手动进行重定向恢复,本文是我一次实战操作之后总结的过程,仅供参考。

  DB2的备份恢复有点坑,当源系统和目标系统的路径设置不同时,要手动进行重定向恢复,本文是我一次实战操作之后总结的过程,仅供参考。

  一、发出重定向恢复命令

  DB2 RESTORE DB OLDDB FROM "C:\OLDDBbak" TAKEN AT 20150717164847 TO "C:" INTO NEWDB REDIRECT

  其中,OLDDB是旧数据库、备份的数据库名称,NEWDB是新数据库名称,不用事先创建也可以,C:\OLDDBbak是备份文件放置的目录,20150717164847是

  备份文件的时间戳,具体可看备份文件的名字OLDDB.0.DB2.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

责任编辑:honglu 来源: 红黑联盟
相关推荐

2011-03-25 15:12:42

DB2数据库

2010-08-06 09:25:19

重定向恢复DB2

2010-08-20 14:31:32

复制DB2数据库

2010-08-05 15:32:44

重定向恢复DB2数据库

2010-08-17 14:15:11

DB2重定向恢复失败

2010-08-17 11:35:00

2009-04-01 14:07:44

表空间备份恢复

2010-08-12 11:38:21

DB2数据库

2010-08-26 14:07:18

DB2定向还原

2010-09-01 09:13:29

DB2表空间

2010-08-03 09:49:58

DB2恢复数据库

2011-03-03 14:52:40

DB2数据库恢复

2010-08-12 17:14:25

DB2备份恢复数据库步

2010-11-01 12:11:43

DB2表空间

2010-08-31 17:34:46

DB2

2010-09-07 09:31:03

DB2数据库锁表

2010-07-29 09:14:57

DB2数据库表

2010-08-12 09:18:48

DB2用户密码修改

2010-08-31 15:46:49

DB2命令行

2010-08-12 15:16:50

DB2在线备份
点赞
收藏

51CTO技术栈公众号