NOVOTS KMS 词汇表 Glossary    联系我们 Contact Us
查询 Search  
   
按类别浏览 Browse by Category
NOVOTS KMS .: 数据库 .: DB2 重定向恢复数据库

DB2 重定向恢复数据库

数据库恢复操作使用数据库备份映象来重新创建数据库。如果要将数据库从一台机器克隆到另一台,最简单的方法就是从备份映象恢复数据库。数据库使用的文件系统路径也包含在备份映象中。因此,除非源系统上的数据库引用的文件系统和物理设备与目标系统的设置方法完全相同,否则就需要执行 重定向恢复操作。

重定向恢复操作包括两步数据库恢复过程,并且中间有一个表空间容器定义步骤:

  1. REDIRECT 选项发出 RESTORE DATABASE 命令。
  2. 使用 SET TABLESPACE CONTAINERS 命令来定义被恢复的数据库的表空间容器(DB2 需要知道您想要让表空间驻留在目标系统上的什么位置)。
  3. 再次发出 RESTORE DATABASE 命令,这次指定 CONTINUE 选项。

1.         新建实例myinst,并设置系统当前实例为myinst

C:>db2 get instance

 当前数据库管理器实例是:DB2

C:>db2icrt myinst

DB20000I  DB2ICRT 命令成功完成。

C:>set db2instance=myinst

C:>db2 get instance

 当前数据库管理器实例是:MYINST

2.         获得重定向恢复数据库的脚步

 

C:> db2 restore db testdb  from 'e:' taken at 20110411031305 on 'e:db2' into testdb  redirect generate script redirect_testdb.sql

3.         根据具体需求脚步修改容器路径

例如:SET TABLESPACE CONTAINERS FOR 0   USING (  PATH   'SQLT0000.0');

改为:SET TABLESPACE CONTAINERS FOR 0   USING (  PATH   'E:db2SQLT0000.0');

4.         执行相关语句,可以分步执行

5.         再次恢复数据库,对应步骤4

C:>db2 restore database testdb continue

6.         验证是否正确地为所恢复的数据库建立了目录,以及为它定义的表空间容器是否真正与所恢复的数据库相关:

db2 list db directory
db2 connect to testdb
db2 list tablespace containers for 0
db2 list tablespace containers for 1
db2 list tablespace containers for 2
db2 connect reset
db2 terminate

附录:redirect_testdb.sql


*****************************************************************************

-- ** 自动创建了重定向复原脚本

-- *****************************************************************************

UPDATE COMMAND OPTIONS USING S ON Z ON testdb_NODE0000.out V ON;

SET CLIENT ATTACH_DBPARTITIONNUM  0;

SET CLIENT CONNECT_DBPARTITIONNUM 0;

-- *****************************************************************************

-- ** 自动创建了重定向复原脚本

-- *****************************************************************************

RESTORE DATABASE testdb

-- USER  <用户名>

-- USING '<密码>'

FROM 'e:'

TAKEN AT 20110411031305

DBPATH ON '<目标目录>'

INTO testdb

-- NEWLOGPATH 'D:DB2NODE0000SQL00001SQLOGDIR'

-- WITH <缓冲区数目> BUFFERS

-- BUFFER <缓冲区大小>

-- REPLACE HISTORY FILE

-- REPLACE EXISTING

REDIRECT

-- PARALLELISM <n>

WITHOUT ROLLING FORWARD

-- WITHOUT PROMPTING

;

-- *****************************************************************************

-- ** 表空间定义

-- *****************************************************************************

-- *****************************************************************************

-- ** 表空间名                          = SYSCATSPACE

-- **   表空间标识                        = 0

-- **   表空间类型                        = 系统管理空间                     

-- **   表空间内容类型                    = 所有持久数据。常规表空间。

-- **   表空间页大小(以字节计)          = 4096

-- **   表空间扩展数据块大小(以页计)    = 32

-- **   使用自动存储器                = 否     

-- **   页总数                            = 11443

-- *****************************************************************************

SET TABLESPACE CONTAINERS FOR 0

-- IGNORE ROLLFORWARD CONTAINER OPERATIONS

USING ( PATH  'E:DB2SQLT0000.0');

-- *****************************************************************************

-- ** 表空间名                          = TEMPSPACE1

-- **   表空间标识                        = 1

-- **   表空间类型                        = 系统管理空间                     

-- **   表空间内容类型                    = 系统临时数据                      

-- **   表空间页大小(以字节计)          = 4096

-- **   表空间扩展数据块大小(以页计)    = 32

-- **   使用自动存储器                = 否     

-- **   页总数                            = 0

-- *****************************************************************************

SET TABLESPACE CONTAINERS FOR 1

-- IGNORE ROLLFORWARD CONTAINER OPERATIONS

USING ( PATH  'E:DB2SQLT0001.0');

-- *****************************************************************************

-- ** 表空间名                          = USERSPACE1

-- **   表空间标识                        = 2

-- **   表空间类型                        = 系统管理空间                     

-- **   表空间内容类型                    = 所有持久数据。常规表空间。

-- **   表空间页大小(以字节计)          = 4096

-- **   表空间扩展数据块大小(以页计)    = 32

-- **   使用自动存储器                = 否     

-- **   页总数                            = 24915

-- *****************************************************************************

SET TABLESPACE CONTAINERS FOR 2

-- IGNORE ROLLFORWARD CONTAINER OPERATIONS

USING ( PATH  'E:DB2SQLT0002.0');

-- *****************************************************************************

-- ** 表空间名                          = USERTOOLSTMPPACE

-- **   表空间标识                        = 3

-- **   表空间类型                        = 系统管理空间                     

-- **   表空间内容类型                    = 用户临时数据                      

-- **   表空间页大小(以字节计)          = 4096

-- **   表空间扩展数据块大小(以页计)    = 16

-- **   使用自动存储器                = 否     

-- **   页总数                            = 0

-- *****************************************************************************

SET TABLESPACE CONTAINERS FOR 3

-- IGNORE ROLLFORWARD CONTAINER OPERATIONS

USING ( PATH  'E:DB2DB2DATAUSERSPACE001');

-- *****************************************************************************

-- ** 表空间名                          = TSASNUOW

-- **   表空间标识                        = 4

-- **   表空间类型                        = 数据库管理空间                     

-- **   表空间内容类型                    = 所有持久数据。常规表空间。

-- **   表空间页大小(以字节计)          = 4096

-- **   表空间扩展数据块大小(以页计)    = 32

-- **   使用自动存储器                = 否     

-- **   启用自动调整大小              = 否     

-- **   页总数                            = 389888

-- **   可用页数                          = 389792

-- **   高水位标记(页)                  = 73760

-- *****************************************************************************

SET TABLESPACE CONTAINERS FOR 4

-- IGNORE ROLLFORWARD CONTAINER OPERATIONS

USING (

  FILE   'D:DB2DATATSASNUOW'                   5888

, FILE   'D:DB2DATATSASNUOW.DAT'               128000

, FILE   'D:DB2DATATSASNUOW2.DAT'              256000

);

-- *****************************************************************************

-- ** 表空间名                          = TSASNAA

-- **   表空间标识                        = 5

-- **   表空间类型                        = 数据库管理空间                     

-- **   表空间内容类型                    = 所有持久数据。常规表空间。

-- **   表空间页大小(以字节计)          = 4096

-- **   表空间扩展数据块大小(以页计)    = 32

-- **   使用自动存储器                = 否     

-- **   启用自动调整大小              = 否     

-- **   页总数                            = 56320

-- **   可用页数                          = 56256

-- **   高水位标记(页)                  = 1888

-- *****************************************************************************

SET TABLESPACE CONTAINERS FOR 5

-- IGNORE ROLLFORWARD CONTAINER OPERATIONS

USING (

  FILE    'D:DB2DATATSASNAA'                                       5120

, FILE   'D:DB2DATATSASNAA.DAT'                                    51200

);

-- *****************************************************************************

-- ** 表空间名                          = TSCDA35_SYSTEMPARA

-- **   表空间标识                        = 6

-- **   表空间类型                        = 数据库管理空间                     

-- **   表空间内容类型                    = 所有持久数据。常规表空间。

-- **   表空间页大小(以字节计)          = 4096

-- **   表空间扩展数据块大小(以页计)    = 32

-- **   使用自动存储器                = 否     

-- **   启用自动调整大小              = 否     

-- **   页总数                            = 512

-- **   可用页数                          = 480

-- **   高水位标记(页)                  = 288

-- *****************************************************************************

SET TABLESPACE CONTAINERS FOR 6

-- IGNORE ROLLFORWARD CONTAINER OPERATIONS

USING (

  FILE   'e:db2SYSTEMPARA'               512

);

-- *****************************************************************************

-- ** 表空间名                          = SYSTOOLSPACE

-- **   表空间标识                        = 7

-- **   表空间类型                        = 系统管理空间                     

-- **   表空间内容类型                    = 所有持久数据。常规表空间。

-- **   表空间页大小(以字节计)          = 4096

-- **   表空间扩展数据块大小(以页计)    = 32

-- **   使用自动存储器                = 否     

-- **   页总数                            = 126

-- *****************************************************************************

SET TABLESPACE CONTAINERS FOR 7

-- IGNORE ROLLFORWARD CONTAINER OPERATIONS

USING ( PATH  'E:DB2SYSTOOLSPACE');

-- *****************************************************************************

-- ** 表空间名                          = TBSP32K0000

-- **   表空间标识                        = 8

-- **   表空间类型                        = 系统管理空间                     

-- **   表空间内容类型                    = 所有持久数据。常规表空间。

-- **   表空间页大小(以字节计)          = 32768

-- **   表空间扩展数据块大小(以页计)    = 32

-- **   使用自动存储器                = 否     

-- **   页总数                            = 270

-- *****************************************************************************

SET TABLESPACE CONTAINERS FOR 8

-- IGNORE ROLLFORWARD CONTAINER OPERATIONS

USING ( PATH  'E:DB2TBSP32K0000');

-- *****************************************************************************

-- ** 表空间名                          = TBSP32KTMP0000

-- **   表空间标识                        = 9

-- **   表空间类型                        = 系统管理空间                     

-- **   表空间内容类型                    = 系统临时数据                      

-- **   表空间页大小(以字节计)          = 32768

-- **   表空间扩展数据块大小(以页计)    = 32

-- **   使用自动存储器                = 否     

-- **   页总数                            = 0

-- *****************************************************************************

SET TABLESPACE CONTAINERS FOR 9

-- IGNORE ROLLFORWARD CONTAINER OPERATIONS

USING ( PATH  'E:DB2TBSP32KTMP0000');

-- *****************************************************************************

-- ** 启动已重定向的复原

-- *****************************************************************************

RESTORE DATABASE testdb CONTINUE;

-- *****************************************************************************

-- ** 文件末尾

-- *****************************************************************************


 

 

 

 

 


这篇文章对你多有用?

用户评语

添加评语
Comment Good
5-21-2014 at 12:31pm
Good


.: .: .: .: .:
[ 登陆 ]
北京护航科技有限公司 2006

Novots Technologies Limited