QQ在线服务: 风舞残阳风舞残阳 年满19岁年满19岁 小罗小罗 晴天晴天 心雨心雨 叮叮肉叮叮肉 小周小周 小童小童 小破孩小破孩 遥望当年遥望当年

用户导购指南

水货IBM笔记本电脑报价

行货IBM笔记本电脑报价

IBM服务器报价

IBM笔记本电脑配件报价

本周水货IBM笔记本电脑特价

IBM笔记本电脑驱动下载

水货IBM笔记本电脑验机流程

水货IBM笔记本电脑保修政策

IBM笔记本电脑FRU查询

IBM笔记本电脑常见问题

IBM笔记本电脑使用手册

笔记本电脑验机软件

论坛积分使用说明

水货IBM笔记本电脑异地购机流程

笔记本电脑购机经历及现场

贵宾申请入口

贵宾用户FTP入口

查看笔记本配置

水货APPLE苹果笔记本电脑报价

 
发新话题
打印

利用DB2 V9.1新功能重定向恢复数据库

利用DB2 V9.1新功能重定向恢复数据库

供稿人:毕永军

本文通过一个实例讲解了如何利用版本9.1的新功能,从备份映象中自动生成重定向恢复脚本并重定向恢复到新的数据
DB2在做恢复数据库操作时,默认情况下,会使用原来数据库使用的表空间容器,如果需要指定到其他的容器,那么就需要做重定向恢复,虽然执行重定向恢复的命令后,可以获取表空间的容器情况,指定新的容器。该操作仍然比较复杂。
DB2从版本9.1开始,提供一个新的功能,可以从备份介质中产生一个重定向恢复的脚本,你可以通过修改这个脚本中需要重定向的容器,然后运行这个脚本就可以完成整个重定向恢复了。
下面我们通过重定向恢复sample数据库的一个例子,来详细讲解一下该功能。

1、创建一个例子数据库的备份。

D:\Temp>db2 backup db sample to .
备份成功。此备份映像的时间戳记是:20060626161457

2、使用RESTRORE ... REDIRECT GENERATE SCRIPT <SCRIPTNAME>产生重定向恢复数据库的脚本。

D:\Temp>db2 restore db sample from .
redirect generate script redirect.db2
DB20000I RESTORE DATABASE命令成功完成。

3、此时我们查看生成的redirect.db2脚本,可以看到:

该脚本分为四个部分,第一部分:
-- *******************************************************
-- ** 自动创建了重定向复原脚本
-- *******************************************************
UPDATE COMMAND OPTIONS USING S ON Z ON SAMPLE_NODE0000.out V ON;
SET CLIENT ATTACH_DBPARTITIONNUM 0;
SET CLIENT CONNECT_DBPARTITIONNUM 0;
第一条语句更新了命令行选项,具体解释如下:
* S ON 指定错误出现时停止执行命令
* Z ON SAMPLE_NODE0000.out 指定命令的输出保存在SAMPLE_NODE0000.out
* V ON 指定当前命令打印到屏幕上
第二条和第三条语句指定该命令在数据库分区0上执行,在分区数据库环境下指定数据库分区非常重要。
该脚本的第二部分是重定向恢复数据库的命令:
-- *******************************************************
-- ** 自动创建了重定向复原脚本
-- *******************************************************
RESTORE DATABASE SAMPLE
-- USER <用户名>
-- USING '<密码>'
FROM 'D:\Temp'
TAKEN AT 20060626161457
-- ON 'C:'
-- DBPATH ON '<目标目录>'
INTO SAMPLE
-- NEWLOGPATH 'C:\DB2\NODE0000\SQL00002\SQLOGDIR\'
-- WITH <缓冲区数目> BUFFERS
-- BUFFER <缓冲区大小>
-- REPLACE HISTORY FILE
-- REPLACE EXISTING
REDIRECT
-- PARALLELISM <n>
WITHOUT ROLLING FORWARD
-- WITHOUT PROMPTING
;
第三部分为表空间定义:
-- ********************************************************
-- ** 表空间定义
-- ********************************************************
-- ********************************************************
-- ** 表空间名 = SYSCATSPACE
-- ** 表空间标识 = 0
-- ** 表空间类型 = 数据库管理空间
-- ** 表空间内容类型 = 所有持久数据。常规表空间。
-- ** 表空间页大小(以字节计) = 4096
-- ** 表空间扩展数据块大小(以页计) = 4
-- ** 使用自动存储器 = 是
-- ** 启用自动调整大小 = 是
-- ** 页总数 = 16384
-- ** 可用页数 = 16380
-- ** 高水位标记(页) = 8252
-- *******************************************************
......
-- *******************************************************
-- ** 表空间名 = TESTDMS
-- ** 表空间标识 = 4
-- ** 表空间类型 = 数据库管理空间
-- ** 表空间内容类型 = 所有持久数据。大型表空间。
-- ** 表空间页大小(以字节计) = 4096
-- ** 表空间扩展数据块大小(以页计) = 32
-- ** 使用自动存储器 = 否
-- ** 启用自动调整大小 = 否
-- ** 页总数 = 5120
-- ** 可用页数 = 5088
-- ** 高水位标记(页) = 96
-- *******************************************************
SET TABLESPACE CONTAINERS FOR 4
-- IGNORE ROLLFORWARD CONTAINER OPERATIONS
USING (
FILE 'd:\temp\test.dat' 5120
);
该部分会首先包含表空间的信息,显示表空间的基本情况。

如果这个表空间需要进行重定向操作的话,那么在说明性信息的后面会跟有SET TABLESPACE CONTAINERS语句。你可以根据需要修改表空间容器的重定向信息。如果这个表空间是系统管理的表空间或者使用自动存储器和启用自动调整大小的表空间的话,那么不需要对这个表空间进行重定向操作。
该脚本的第四部分是继续进行重定向恢复的语句:
-- *******************************************************
-- ** 启动已重定向的复原
-- *******************************************************
RESTORE DATABASE SAMPLE CONTINUE;
-- *******************************************************
-- ** 文件末尾
-- *******************************************************

4、我们修改上面的文件,将数据库恢复到D盘上,并改名为TEST。将表空间4的容器设置到"E:\temp\test.dat",然后运行这个脚本,顺利完成数据库的重定向恢复:

D:\Temp>db2 -tvf redirect.db2
UPDATE COMMAND OPTIONS USING S ON Z ON SAMPLE_
NODE0000.out V ON
DB20000I UPDATE COMMAND OPTIONS命令成功完成。

SET CLIENT ATTACH_DBPARTITIONNUM 0
DB20000I SET CLIENT命令成功完成。

SET CLIENT CONNECT_DBPARTITIONNUM 0
DB20000I SET CLIENT命令成功完成。

RESTORE DATABASE SAMPLE FROM 'D:\Temp' TAKEN AT 20060626163444 ON 'D:' INTO TEST
REDIRECT WITHOUT ROLLING FORWARD

SQL1277W 正在执行重定向复原操作。现在,可以查看表空间配置,并且不使用自动存储器的表空间可以重新配置它们的容器。
DB20000I RESTORE DATABASE命令成功完成。

SET TABLESPACE CONTAINERS FOR 4 USING ( FILE 'E:\temp\test.dat' 5120 )

DB20000I SET TABLESPACE CONTAINERS命令成功完成。

RESTORE DATABASE SAMPLE CONTINUE
DB20000I RESTORE DATABASE命令成功完成。

参考资料:
1、DB2版本9信息中心:
http://publib.boulder.ibm.com/infocenter/db2luw/v9//index.jsp

(※本文搜集自:重庆未来科技 http://www.wlkj.net 重庆IBM笔记本电脑、重庆IBM水货笔记本电脑、重庆苹果笔记本电脑、重庆IBM服务器专卖)
QQ:99721343 MSN:lichuntian@163.com
手机:13308323317

TOP

发新话题