使用DB2 Cloning Tool克隆主机DB2数据库



【IT168技术文档】对DB2数据库进行数据复制的方法多种多样,本文主要介绍了一种使用快速磁盘复制技术(例如,FlashCopy等)对DB2数据进行克隆的方案。通过使用DB2 Cloning Tool,最大程度简化DB2数据库克隆过程中DBA所需进行的操作。使整个流程更加自动化。数据库管理员(DBA),或者DB2开发测试人员都能够从中获益,了解如何通过DB2 cloning tool快速简便的构建DB2测试环境。为应用程序的开发和测试提供有力的保障。

序言

主机平台上的 DB2 数据库是性能优异,运行稳定,使用广泛的数据库解决方案。随着存储在主机 DB2 数据库中的数据量的不断增加,开发人员在测试新的基于主机 DB2 数据库的应用系统时,经常需要花费大量的精力和时间来搭建一个合格的主机 DB2 测试环境。这个测试 DB2 系统的结构必须和生成 DB2 系统的结构一致,并且测试环境中必须包含有相当的数据量,这样才能确保测试的准确性。

两种数据克隆技术

一般而言,可以通过以下两种方法来将数据导入用于测试的 DB2 系统。

1. 使用 UNLOAD 工具从生产 DB2 系统中卸载数据,然后使用 LOAD 工具装入测试 DB2 环境。这个方法的优点在于,灵活,操作简单。这个方法的主要问题在于所需的时间较长。

2. 使用 FlashCopy 等磁盘复制技术,通过卷对卷拷贝的方式,对 DB2 子系统进行快速复制。这个方法最大的优势在于,速度快。其次,通过卷对卷的拷贝,我们能够最大程度的保证测试 DB2 和生产 DB2 物理特性(数据在物理磁盘上的分布情况)的一致性。然而这个方法主要的问题在于,

◆DB2 使用的都是 VSAM 数据集,卷对卷拷贝后,可能需要针对 VSAM 数据集新建 VSAM cluster;

◆通常 DB2 所涉及到的 VSAM 数据集较多,用户很难把这些 VSAM 数据集一一改名,因此新生成的 DB2 数据库的名字只能保持和源 DB2 一致。

第二种方法无疑是非常有吸引力的,但是它的缺点也十分的棘手。针对这种情况,IBM DB2 Cloning Tool 应运而生。它能够帮助用户借助 FlashCopy 等快速磁盘复制技术的威力,方便,快捷的克隆出所需的 DB2 数据库。

DB2 Cloning Tool 的典型使用场景

◆快速克隆生产系统 DB2,使得用户能够并发的运行生产流程;

◆建立和生产系统完全等同的 QA(Quality assurance)测试环境,使得性能测试的结果更有针对性;

◆在升级到 DB2 新版本之前,创建完整的子系统环境(克隆),用于在生产系统升级到新版本前测试新系统的升级和应用;

◆创建数据仓库,使用户能在不影响生产系统的情况下进行数据挖掘。

DB2 Cloning Tool 的使用环境

图 1. DB2 Cloning Tool 的使用环境

说明:

1. 源系统和目标系统可以是同一个 MVS 系统。此时 DB2 Cloning Tool 可以帮助用户修改目标卷的卷标,自动将其 online 后,修改目标卷上数据集的名称。

2. DB2 Cloning Tool 支持多种快速磁盘复制技术和磁盘镜像技术,包括 IBM FlashCopy,IBM PPRC,EMC TimeFinder/Snap,EMC TimeFinder/Mirror 等等。

DB2 Cloning Tool 客户化

要使用 DB2 Cloning Tool,必须在源环境和目标环境分别通过 SMP/E 安装 DB2 Cloning Tool 相关的程序库。并根据要求对其进行相应的客户化。下面是详细的客户化步骤:

B<>生成 DB2 Cloning Tool 的运行参数 CKZINI:

通过运行作业 DB2CT.V1R1.SCKZJCL(CKZIMRG) 创建一个新的参数成员——SCKZINI。

清单1. DB2CT.V1R1.SCKZJCL 代码

CKZINIMG JOB ,'INIMERGE',CLASS=A,MSGCLASS=X,NOTIFY=&SYSUID

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

* COPYRIGHT 2001 - 2006 MAINSTAR SOFTWARE CORPORATION *

* ALL RIGHTS RESERVED *

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

* MERGE THE NEW INI (CKZINI#) WITH THE EXISTING ONE (CKZINI)

MERGE EXEC PGM=CKZ01MER

STEPLIB DD DISP=SHR,DSN=DB2CT.V1R1.SCKZLOAD

INI DD DISP=SHR,

DSN=DB2CT.V1R1.SCKZPARM(CKZINI#)

MSCINI DD DISP=SHR,

DSN=DB2CT.V1R1.SCKZPARM(CKZINI#)

UPDATE DD DISP=SHR,

DSN=DB2CT.V1R1.SCKZPARM(CKZINI)

SYSPRINT DD SYSOUT=*

SYSUDUMP DD SYSOUT=*

ABNLIGNR DD DUMMY DO NOT REMOVE IF USING ABENDAID

根据需要修改 CKZINI 参数:

建议新用户使用默认的 CKZINI 参数。如果多个系统间通过 CAMIM/MII 共享 DASD, 那么需要设置以下的参数。

清单 2. 多个系统间通过 CAMIM/MII 共享 DASD 需要设置的参数

:RESOURCE_SERIALIZATION

MIM_GDIF = YES

更新 DB2CT.V1R1.SCKZJCL 中的作业 

根据当前系统中 DB2 Cloning Tool 的 HLQ 和 DB2 的 SDSNLOAD 数据集修改该作业库中的 JCL。

将 DB2 Cloning Tool 的 LOAD LIB:DB2CT.V1R1.SCKZLOAD 添加到系统的 APF 中:

确保运行 DB2 Cloning Tool 的用户拥有足够的 RACF 权限:

◆执行 COPY 和 RENAME 命令,需要拥有源和目标 user catalog 的 ALTER 权限;

◆执行 DB2UPDATE 命令,需要拥有对目标数据集的 UPDATE 权限;

◆执行 COPY 命令,需要使用 ADRDSSU ADMIN 参数的权限;

◆通过保护 DB2 Cloning Tool 的日志文件,可以避免未授权的用户使用 COPYCHECK 命令。

使用 DB2 Cloning Tool 克隆 DB2 子系统




上一篇:通知丨黑龙江启动风电、光伏无补贴平价上网试点项目申报工作
下一篇:聚集资源、定向邀约、在线洽谈…… 山东这个“