使用DB2 Cloning Tool克隆主機(jī)DB2數(shù)據(jù)庫(kù)
對(duì)DB2數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)復(fù)制的方法多種多樣,本文主要介紹了一種使用快速磁盤(pán)復(fù)制技術(shù)(例如,F(xiàn)lashCopy等)對(duì)DB2數(shù)據(jù)進(jìn)行克隆的方案。通過(guò)使用DB2 Cloning Tool,最大程度簡(jiǎn)化DB2數(shù)據(jù)庫(kù)克隆過(guò)程中DBA所需進(jìn)行的操作。使整個(gè)流程更加自動(dòng)化。數(shù)據(jù)庫(kù)管理員(DBA),或者DB2開(kāi)發(fā)測(cè)試人員都能夠從中獲益,了解如何通過(guò)DB2 cloning tool快速簡(jiǎn)便的構(gòu)建DB2測(cè)試環(huán)境。為應(yīng)用程序的開(kāi)發(fā)和測(cè)試提供有力的保障。
序言
主機(jī)平臺(tái)上的 DB2 數(shù)據(jù)庫(kù)是性能優(yōu)異,運(yùn)行穩(wěn)定,使用廣泛的數(shù)據(jù)庫(kù)解決方案。隨著存儲(chǔ)在主機(jī) DB2 數(shù)據(jù)庫(kù)中的數(shù)據(jù)量的不斷增加,開(kāi)發(fā)人員在測(cè)試新的基于主機(jī) DB2 數(shù)據(jù)庫(kù)的應(yīng)用系統(tǒng)時(shí),經(jīng)常需要花費(fèi)大量的精力和時(shí)間來(lái)搭建一個(gè)合格的主機(jī) DB2 測(cè)試環(huán)境。這個(gè)測(cè)試 DB2 系統(tǒng)的結(jié)構(gòu)必須和生成 DB2 系統(tǒng)的結(jié)構(gòu)一致,并且測(cè)試環(huán)境中必須包含有相當(dāng)?shù)臄?shù)據(jù)量,這樣才能確保測(cè)試的準(zhǔn)確性。
兩種數(shù)據(jù)克隆技術(shù)
一般而言,可以通過(guò)以下兩種方法來(lái)將數(shù)據(jù)導(dǎo)入用于測(cè)試的 DB2 系統(tǒng)。
1. 使用 UNLOAD 工具從生產(chǎn) DB2 系統(tǒng)中卸載數(shù)據(jù),然后使用 LOAD 工具裝入測(cè)試 DB2 環(huán)境。這個(gè)方法的優(yōu)點(diǎn)在于,靈活,操作簡(jiǎn)單。這個(gè)方法的主要問(wèn)題在于所需的時(shí)間較長(zhǎng)。
2. 使用 FlashCopy 等磁盤(pán)復(fù)制技術(shù),通過(guò)卷對(duì)卷拷貝的方式,對(duì) DB2 子系統(tǒng)進(jìn)行快速?gòu)?fù)制。這個(gè)方法最大的優(yōu)勢(shì)在于,速度快。其次,通過(guò)卷對(duì)卷的拷貝,我們能夠最大程度的保證測(cè)試 DB2 和生產(chǎn) DB2 物理特性(數(shù)據(jù)在物理磁盤(pán)上的分布情況)的一致性。然而這個(gè)方法主要的問(wèn)題在于,
◆DB2 使用的都是 VSAM 數(shù)據(jù)集,卷對(duì)卷拷貝后,可能需要針對(duì) VSAM 數(shù)據(jù)集新建 VSAM cluster;
◆通常 DB2 所涉及到的 VSAM 數(shù)據(jù)集較多,用戶(hù)很難把這些 VSAM 數(shù)據(jù)集一一改名,因此新生成的 DB2 數(shù)據(jù)庫(kù)的名字只能保持和源 DB2 一致。
第二種方法無(wú)疑是非常有吸引力的,但是它的缺點(diǎn)也十分的棘手。針對(duì)這種情況,IBM DB2 Cloning Tool 應(yīng)運(yùn)而生。它能夠幫助用戶(hù)借助 FlashCopy 等快速磁盤(pán)復(fù)制技術(shù)的威力,方便,快捷的克隆出所需的 DB2 數(shù)據(jù)庫(kù)。
DB2 Cloning Tool 的典型使用場(chǎng)景
◆快速克隆生產(chǎn)系統(tǒng) DB2,使得用戶(hù)能夠并發(fā)的運(yùn)行生產(chǎn)流程;
◆建立和生產(chǎn)系統(tǒng)完全等同的 QA(Quality assurance)測(cè)試環(huán)境,使得性能測(cè)試的結(jié)果更有針對(duì)性;
◆在升級(jí)到 DB2 新版本之前,創(chuàng)建完整的子系統(tǒng)環(huán)境(克隆),用于在生產(chǎn)系統(tǒng)升級(jí)到新版本前測(cè)試新系統(tǒng)的升級(jí)和應(yīng)用;
◆創(chuàng)建數(shù)據(jù)倉(cāng)庫(kù),使用戶(hù)能在不影響生產(chǎn)系統(tǒng)的情況下進(jìn)行數(shù)據(jù)挖掘。
DB2 Cloning Tool 的使用環(huán)境
圖 1. DB2 Cloning Tool 的使用環(huán)境
說(shuō)明:
1. 源系統(tǒng)和目標(biāo)系統(tǒng)可以是同一個(gè) MVS 系統(tǒng)。此時(shí) DB2 Cloning Tool 可以幫助用戶(hù)修改目標(biāo)卷的卷標(biāo),自動(dòng)將其 online 后,修改目標(biāo)卷上數(shù)據(jù)集的名稱(chēng)。
2. DB2 Cloning Tool 支持多種快速磁盤(pán)復(fù)制技術(shù)和磁盤(pán)鏡像技術(shù),包括 IBM FlashCopy,IBM PPRC,EMC TimeFinder/Snap,EMC TimeFinder/Mirror 等等。
DB2 Cloning Tool 客戶(hù)化
要使用 DB2 Cloning Tool,必須在源環(huán)境和目標(biāo)環(huán)境分別通過(guò) SMP/E 安裝 DB2 Cloning Tool 相關(guān)的程序庫(kù)。并根據(jù)要求對(duì)其進(jìn)行相應(yīng)的客戶(hù)化。下面是詳細(xì)的客戶(hù)化步驟:
B<>生成 DB2 Cloning Tool 的運(yùn)行參數(shù) CKZINI:
通過(guò)運(yùn)行作業(yè) DB2CT.V1R1.SCKZJCL(CKZIMRG) 創(chuàng)建一個(gè)新的參數(shù)成員——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
根據(jù)需要修改 CKZINI 參數(shù):
建議新用戶(hù)使用默認(rèn)的 CKZINI 參數(shù)。如果多個(gè)系統(tǒng)間通過(guò) CAMIM/MII 共享 DASD, 那么需要設(shè)置以下的參數(shù)。
清單 2. 多個(gè)系統(tǒng)間通過(guò) CAMIM/MII 共享 DASD 需要設(shè)置的參數(shù)
:RESOURCE_SERIALIZATION
MIM_GDIF = YES
更新 DB2CT.V1R1.SCKZJCL 中的作業(yè):
根據(jù)當(dāng)前系統(tǒng)中 DB2 Cloning Tool 的 HLQ 和 DB2 的 SDSNLOAD 數(shù)據(jù)集修改該作業(yè)庫(kù)中的 JCL。
將 DB2 Cloning Tool 的 LOAD LIB:DB2CT.V1R1.SCKZLOAD 添加到系統(tǒng)的 APF 中:
確保運(yùn)行 DB2 Cloning Tool 的用戶(hù)擁有足夠的 RACF 權(quán)限:
◆執(zhí)行 COPY 和 RENAME 命令,需要擁有源和目標(biāo) user catalog 的 ALTER 權(quán)限;
◆執(zhí)行 DB2UPDATE 命令,需要擁有對(duì)目標(biāo)數(shù)據(jù)集的 UPDATE 權(quán)限;
◆執(zhí)行 COPY 命令,需要使用 ADRDSSU ADMIN 參數(shù)的權(quán)限;
◆通過(guò)保護(hù) DB2 Cloning Tool 的日志文件,可以避免未授權(quán)的用戶(hù)使用 COPYCHECK 命令。
使用 DB2 Cloning Tool 克隆 DB2 子系統(tǒng)
在實(shí)際使用 DB2 Cloning Tool 之前,我們需要對(duì) MVS 系統(tǒng)以及 DB2 子系統(tǒng)做一些準(zhǔn)備工作。針對(duì) MVS 系統(tǒng)環(huán)境的準(zhǔn)備工作,主要是確保 MVS 系統(tǒng)可以順利調(diào)用相應(yīng)的磁盤(pán)復(fù)制技術(shù)(例如,F(xiàn)lashCopy,SnapShot 等)。需要注意的是,使用磁盤(pán)復(fù)制技術(shù)時(shí)必須將 COPYVILID 參數(shù)設(shè)置為 YES。以確保源卷上的 VVDS 會(huì)完整的復(fù)制到目標(biāo)卷上,并保持一致的命名;否則會(huì)造成 DB2 Cloning Tool 在做 RENAME 操作時(shí)出現(xiàn)錯(cuò)誤。
關(guān)于 DB2 環(huán)境的準(zhǔn)備工作
源 DB2 子系統(tǒng)
1. DATA SET 分布
為了保證克隆過(guò)程的正確和完整,源卷上必須包括所有源 DB2 子系統(tǒng)的 direcory,catalog,active log,BSDS 以及與所有用戶(hù)數(shù)據(jù)庫(kù)相關(guān)的 DATA SET。在克隆的過(guò)程中 DB2 的 SDSNLOAD 和 SDSNEXIT 這兩個(gè)添加到 APF 中的 DATA SET 不要放在源卷上一并復(fù)制。與源 DB2 子系統(tǒng)有關(guān)的 USER CATALOG 可以放置在源卷上,也可以放置在其他目標(biāo)環(huán)境能夠訪問(wèn)的卷上。
2. 綁定與 DB2 克隆工具相關(guān)的 Plan 和 Package
在源 DB2 子系統(tǒng)中 bind 相關(guān)的 plan 之后,在對(duì)目標(biāo) DB2 子系統(tǒng)進(jìn)行操作的過(guò)程中就可以直接使用相應(yīng)的 DB2 Cloning Tool 的工具去修改目標(biāo) DB2 子系統(tǒng)的信息,而不需要每次都重新 bind。可參考 JCL:DB2CT.V1R1.SCKZJCL(CKZDBIND) 代碼示例。
清單 3. DB2CT.V1R1.SCKZJCL(CKZDBIND) 代碼
DSN SYSTEM(DSN)
BIND PLAN(CKZPLAN)
PKLIST(CKZPACK.*)
ENCODING(EBCDIC)
DYNAMICRULES(RUN)
ACTION(REPLACE)
RETAIN
END
DSN SYSTEM(DSN)
BIND PACKAGE(CKZPACK)
MEMBER(CKZ00246)
VALIDATE(RUN)
RELEASE(COMMIT)
ENCODING(EBCDIC)
ISOLATION(CS)
DYNAMICRULES(RUN)
ACTION(REPLACE)
END
目標(biāo) DB2 子系統(tǒng)
1. 編譯有效的 ZPARM 和 DSNHDECP 參數(shù)
提交 DB2 安裝作業(yè) DSNTIJUZ,為目標(biāo)系統(tǒng) DB2 子系統(tǒng)定義正常啟動(dòng)和運(yùn)作所需的 ZPARM 參數(shù)和 DSNHDECP 參數(shù)。
2. 準(zhǔn)備目標(biāo) DB2 子系統(tǒng)啟動(dòng)時(shí)需要的 STC proc
為了正常啟動(dòng)目標(biāo) DB2 子系統(tǒng),需要預(yù)先在對(duì)應(yīng)的 PROCLIB 里面定義好相關(guān)的啟動(dòng) STC proc。
3. 定義目標(biāo) DB2 子系統(tǒng)和對(duì)應(yīng)的 IRLM 的子系統(tǒng)
為了正常啟動(dòng)目標(biāo) DB2 子系統(tǒng),需要預(yù)先在對(duì)應(yīng)的 IEFSSNxx 里面定義好 DB2 和 IRLM 啟動(dòng)時(shí)需要使用的子系統(tǒng)借口(SSI)。
4. 為目標(biāo) DB2 子系統(tǒng)編譯一個(gè)特殊的 ZPARM—DSNZSPEC
由于在克隆的過(guò)程中,我們需要修改目標(biāo) DB2 子系統(tǒng)的 VCAT 和 STOGROUP,因此必須預(yù)先定義相應(yīng)的 ZPARM。參考如下的步驟:
◆新建特殊的 DSN6SPRC,將 SDSNMACS(DSN6SPRC) 復(fù)制到 DB2CT.V1R1.SDSNMACS(DSN6SPRC)。
◆修改 DB2CT.V1R1.SDSNMACS(DSN6SPRC) 參數(shù),將 &SPRMCTU SETC ‘0’改成 &SPRMCTU SETC ‘1’。
◆創(chuàng)建編譯 ZPARM 的作業(yè),將 DSNTIJUZ 復(fù)制到 DB2CT.V1R1.SCKZJCL(DSNZSPEC),只保留 DSNZSPEC 里面編譯 ZPARM 的部分。
◆修改新建的 ZPARM 作業(yè):
·在 DSNZSPEC 里面修改 DSN6SPRM 為 DEFER, ALL;
·修改 DSN6SPRM 里面的 SYSADM 和 SYSADM2 參數(shù)為以后運(yùn)行 DB2 Clone Tool 的用戶(hù) ID;
·把 DB2CT.V1R1.SDSNMACS(DSN6SPRC) 放在 SYSLIB Dd 鏈接的最前面;指定生成的 ZPARM 參數(shù) module 名字為 ZPRMSPEC,并編譯該 ZPARM 到 SDSNEXIT 庫(kù)里面去。
根據(jù)復(fù)制過(guò)程中源 DB2 子系統(tǒng)的狀態(tài),我們可以將 DB2 Cloning Tool 克隆 DB2 數(shù)據(jù)庫(kù)的方式分為 DB2 offline 克隆和 DB2 online 克隆兩種。DB2 offline 克隆的過(guò)程相對(duì)簡(jiǎn)單,但需要停止源 DB2 子系統(tǒng)。而采用 DB2 online 克隆的方式,源 DB2 子系統(tǒng)就無(wú)需進(jìn)行停機(jī)和重啟的操作,提高了源 DB2 子系統(tǒng)的可用性。同時(shí),這也會(huì)使克隆過(guò)程變得略微復(fù)雜。
DB2 offline 克隆
步驟 1:在源 MVS 系統(tǒng)停止源 DB2 子系統(tǒng)
清單 4. 在源 MVS 系統(tǒng)停止源 DB2 子系統(tǒng)命令
DB2STOP
DB2-SSID(DSN)
步驟 2:在源 MVS 系統(tǒng)中使用磁盤(pán)復(fù)制技術(shù)對(duì)磁盤(pán)卷進(jìn)行復(fù)制
步驟 3:在源 MVS 系統(tǒng)執(zhí)行 COPY 命令
COPY 命令會(huì)對(duì)和源卷有關(guān)的 USER CATALOG 進(jìn)行備份,并對(duì)本來(lái) offline 狀態(tài)的目標(biāo)卷進(jìn)行 relabel 后重新 online。
清單 5. 在源 MVS 系統(tǒng)執(zhí)行 COPY 命令
COPY
DATA-MOVER(
PGM(NONE)
)
VOLPAIRSDEVN(
M1DB17 P1D280 7600,
M1DB24 P1D28B 760B,
M1DB18 P1D281 7601,
M1DB21 P1D285 7605,
M1DB23 P1D283 7603,
M1DB33 P1D287 7607,
M1DB34 P1D288 7608,
M1DB35 P1D289 7609,
M1DB36 P1D28A 760A
)
USERCATALOGS(
CATU.DM10.CATALOG(M1DB17) CATU.DM30.CATALOG ,
CATU.DM10.SYSTEMA1(M1DB17) CATU.DM30.SYSTEMA1,
CATU.DM10.SYSTEMB1(M1DB17) CATU.DM30.SYSTEMB1,
CATU.SYSTEM.DB2 CATU.SYSTEM.DB2
CATWORK-DSN(DB2CT.V1R1.WRK.* )
JOURNAL-DDN(JOURNAL)
步驟 4:在源 MVS 系統(tǒng)啟動(dòng)源 DB2 子系統(tǒng),之后源 DB2 子系統(tǒng)可正常使用
使用 DB2START 命令啟動(dòng)源 DB2 子系統(tǒng)運(yùn)行。
清單6.在源 MVS 系統(tǒng)啟動(dòng)源 DB2 子系統(tǒng)命令
DB2START
DB2-SSID(DSN)
NORMAL
步驟 5:在目標(biāo) MVS 系統(tǒng)執(zhí)行 RENAME 命令
RENAME 命令能夠?qū)⒛繕?biāo)卷上的 DATA SET 進(jìn)行改名并重新 CATALOG。
清單7.在目標(biāo) MVS 系統(tǒng)執(zhí)行 RENAME 命令
RENAME
SAFE
VOLBKUP-DDN(VOLBKUP)
MAX-TASKS(5)
JOURNAL-DDN(JOURNAL)
RECATALOG(Y)
NOTRENAMED(DELETE,RC(0))
STORCLAS-PAIRS(
SCSTAND,SCSTAND
)
RENAME-MASKS(
DSNDM10.** DSNDM30.**
DSNDM10A.DM11.** DSNDM30A.DM31.**
DSNDM10B.DM11.** DSNDM30B.DM31.**
CLODBTST.** TARDBTST.**
)
步驟 6:在目標(biāo) MVS 系統(tǒng)執(zhí)行 DB2UPDATE 命令
使用 DB2UPDATE 命令對(duì)目標(biāo) DB2 子系統(tǒng)的 directory 和 BSDS 進(jìn)行更新。
清單 8. 在目標(biāo) MVS 系統(tǒng)執(zhí)行 DB2UPDATE 命令
DB2UPDATE
DB2-HLQS(DSNDM10,DSNDM30
DSNDM10A,DSNDM30A
DSNDM10B,DSNDM30B
CLODBTST,TARDBTST)
STOGROUPS(CLODBSTG,TARDBSTG)
DB2-GROUP(DM10,DM30)
DB2-MEMBERS(DM11,DM31)
DB2-XCFCLEAN(Y)
JOURNAL-DDN(JOURNAL)
步驟 7:在目標(biāo) MVS 系統(tǒng)啟動(dòng)目標(biāo) DB2 子系統(tǒng)
使用 DB2START 命令調(diào)用定制的 ZPARM——ZPRMSPEC,啟動(dòng)目標(biāo) DB2 子系統(tǒng)。
清單9. 在目標(biāo) MVS 系統(tǒng)啟動(dòng)目標(biāo) DB2 子系統(tǒng)
DB2START
DB2-SSID(DSN)
SPECIAL
DSNZPARM(ZPRMSPEC)
步驟 8:在目標(biāo) DB2 子系統(tǒng)執(zhí)行 DB2SQL 命令
使用 DB2SQL 命令更新目標(biāo) DB2 子系統(tǒng)的 catalog 信息。
清單10. 在目標(biāo) DB2 子系統(tǒng)執(zhí)行 DB2SQL 命令
DB2SQL
DB2-SSID(DSN)
LISTSQL(N)
JOURNAL-DDN(JOURNAL)
步驟 9:參考 DB2 安裝作業(yè) DSNTIJTM,在目標(biāo) DB2 子系統(tǒng)重新定義 work databases
步驟10:停止目標(biāo) DB2 子系統(tǒng)的運(yùn)行
由于當(dāng)前目標(biāo) DB2 子系統(tǒng)使用特殊的 ZPARM 啟動(dòng),因此必須先停機(jī)然后使用正常的 ZPARM 啟動(dòng)。
清單11. 停止目標(biāo) DB2 子系統(tǒng)
DB2STOP
DB2-SSID(DSN)
步驟 11:重新啟動(dòng)目標(biāo) DB2 子系統(tǒng)
使用 DB2START 命令啟動(dòng)目標(biāo) DB2 子系統(tǒng),至此目標(biāo) DB2 子系統(tǒng)已經(jīng)可以正常的運(yùn)行。
清單12. 重新啟動(dòng)目標(biāo) DB2 子系統(tǒng)
DB2START
DB2-SSID(DM31)
NORMAL
DB2 online 克隆
步驟 1:在源 DB2 子系統(tǒng)執(zhí)行 DB2SETLOG 命令,掛起源 DB2 子系統(tǒng)
使用 DB2STOP 命令掛起源 DB2 子系統(tǒng)中的更新操作,并迫使緩沖池內(nèi)已被更新的數(shù)據(jù)寫(xiě)回到磁盤(pán)上以形成系統(tǒng)的一致點(diǎn)。
清單13. 在源 DB2 子系統(tǒng)執(zhí)行 DB2SETLOG 命令
DB2SETLOG
DB2-SSID(DSN)
SUSPEND
說(shuō)明:
1) 如果是對(duì) DB2 V7 進(jìn)行 SETLOG 的操作,必須要求 DB2 V7 已經(jīng)打過(guò)補(bǔ)丁 PQ77456/UQ80188。
2) 建議用戶(hù)盡量在 DB2 子系統(tǒng)空閑的時(shí)候進(jìn)行 SETLOG SUSPEND 操作。
步驟 2:在源 MVS 系統(tǒng)中使用磁盤(pán)復(fù)制技術(shù)對(duì)磁盤(pán)卷進(jìn)行復(fù)制
步驟 3:在源 MVS 系統(tǒng)執(zhí)行 COPY 命令
COPY 命令會(huì)對(duì)和源卷有關(guān)的 USER CATALOG 進(jìn)行備份,并對(duì)本來(lái) offline 狀態(tài)的目標(biāo)卷進(jìn)行 relabel 后重新 online。
清單14.在源 MVS 系統(tǒng)執(zhí)行 COPY 命令
COPY
DATAMOVER(
PGM(NONE)
)
VOLPAIRSDEVN(
M1DB17 P1D280 7600,
M1DB24 P1D28B 760B,
M1DB18 P1D281 7601,
M1DB21 P1D285 7605,
M1DB23 P1D283 7603,
M1DB33 P1D287 7607,
M1DB34 P1D288 7608,
M1DB35 P1D289 7609,
M1DB36 P1D28A 760A
)
USERCATALOGS(
CATU.DM10.CATALOG(M1DB17) CATU.DM30.CATALOG ,
CATU.DM10.SYSTEMA1(M1DB17) CATU.DM30.SYSTEMA1,
CATU.DM10.SYSTEMB1(M1DB17) CATU.DM30.SYSTEMB1,
CATU.SYSTEM.DB2 CATU.SYSTEM.DB2
)
CATWORK-DSN(DB2CT.V1R1.WRK.* )
JOURNAL-DDN(JOURNAL)
步驟 4:在源 DB2 子系統(tǒng)執(zhí)行 DB2SETLOG 命令,恢復(fù) DB2 中的更新操作
使用 DB2SETLOG 命令恢復(fù)源 DB2 子系統(tǒng)中的更新操作。
清單15. 在源 DB2 子系統(tǒng)執(zhí)行 DB2SETLOG 命令
DB2SETLOG
DB2-SSID(DSN)
RESUME
步驟 5:在目標(biāo) MVS 系統(tǒng)執(zhí)行 RENAME 命令
RENAME 命令能夠?qū)⒛繕?biāo)卷上的 DATA SET 進(jìn)行改名并重新 CATALOG。
清單16. 在目標(biāo) MVS 系統(tǒng)執(zhí)行 RENAME 命令
RENAME
SAFE
VOLBKUP-DDN(VOLBKUP)
MAX-TASKS(5)
JOURNAL-DDN(JOURNAL)
RECATALOG(Y)
NOTRENAMED(DELETE,RC(0))
STORCLAS-PAIRS(
SCSTAND,SCSTAND
)
RENAME-MASKS(
DSNDM10.** DSNDM30.**
DSNDM10A.DM11.** DSNDM30A.DM31.**
DSNDM10B.DM11.** DSNDM30B.DM31.**
CLODBTST.** TARDBTST.**
)
步驟 6:在目標(biāo) MVS 系統(tǒng)執(zhí)行 DB2UPDATE 命令
使用 DB2UPDATE 命令對(duì)目標(biāo) DB2 子系的 directory 和 BSDS 進(jìn)行更新。
清單17. 在目標(biāo) MVS 系統(tǒng)執(zhí)行 DB2UPDATE 命令
DB2UPDATE
DB2-HLQS(DSNDM10,DSNDM30
DSNDM10A,DSNDM30A
DSNDM10B,DSNDM30B
CLODBTST,TARDBTST)
STOGROUPS(CLODBSTG,TARDBSTG)
DB2-GROUP(DM10,DM30)
DB2-MEMBERS(DM11,DM31)
DB2-XCFCLEAN(Y)
JOURNAL-DDN(JOURNAL)
步驟7:在目標(biāo) MVS 環(huán)境啟動(dòng)目標(biāo)DB2子系統(tǒng)
使用 DB2START 命令調(diào)用定制的 ZPARM——ZPRMSPEC,啟動(dòng)目標(biāo) DB2 子系統(tǒng)。
清單18. 在目標(biāo) MVS 環(huán)境啟動(dòng)目標(biāo) DB2 子系統(tǒng)
DB2START
DB2-SSID(DSN)
SPECIAL
DSNZPARM(ZPRMSPEC)
說(shuō)明:
1) 啟動(dòng)目標(biāo) DB2 子系統(tǒng)的時(shí)候,DB2 會(huì)自動(dòng) roll back 處于 inflight 狀態(tài)的交易。請(qǐng)確保目標(biāo) DB2 子系統(tǒng)可以使用回退該交易所需的日志(活動(dòng)日志或歸檔日志)。
步驟8:在目標(biāo) DB2 子系統(tǒng)執(zhí)行DB2FIX命令
DB2FIX 命令會(huì)糾正目標(biāo) DB2 子系統(tǒng)的 catalog 和 directory 中處于受限狀態(tài)的 page spaces。
清單19.在目標(biāo) DB2 子系統(tǒng)執(zhí)行 DB2FIX 命令
DB2FIX
DB2-SSID(DSN)
DATABASES(DB2)
說(shuō)明:
1) 如果目標(biāo) DB2 是 data sharing 環(huán)境,執(zhí)行 DB2FIX 時(shí),只能啟動(dòng)其中的一個(gè) member
步驟 9:在目標(biāo) DB2 子系統(tǒng)執(zhí)行 DB2SQL 命令
使用 DB2SQL 命令更新目標(biāo) DB2 子系統(tǒng)的 catalog 信息。
清單20. 在目標(biāo) DB2 子系統(tǒng)執(zhí)行 DB2SQL 命令
DB2SQL
DB2-SSID(DSN)
LISTSQL(N)
JOURNAL-DDN(JOURNAL)
步驟 10:在目標(biāo) DB2 子系統(tǒng)執(zhí)行 DB2FIX 命令
DB2FIX 命令會(huì)糾正目標(biāo) DB2 子系統(tǒng)的用戶(hù)數(shù)據(jù)庫(kù)中處于受限狀態(tài)的 page spaces。
清單21. 在目標(biāo) DB2 子系統(tǒng)執(zhí)行 DB2FIX命令
DB2FIX
DB2-SSID(DSN)
DATABASES(APPLICATION)
說(shuō)明:
1) 如果目標(biāo) DB2 是 data sharing 環(huán)境,執(zhí)行 DB2FIX 時(shí),只能啟動(dòng)其中的一個(gè) member
步驟 11:在目標(biāo) DB2 子系統(tǒng)重新定義 work databases
參考 DB2 安裝作業(yè) DSNTIJTM,重新定義 DM31 的 work databases。
步驟 12:在目標(biāo) MVS 系統(tǒng)停止目標(biāo) DB2 子系統(tǒng)的運(yùn)行
由于當(dāng)前目標(biāo) DB2 子系統(tǒng)使用特殊的 ZPARM 啟動(dòng),因此必須先停機(jī)然后使用正常的 ZPARM 啟動(dòng)。命令示例如清單 22 所示。
清單22. 在目標(biāo) MVS 系統(tǒng)停止目標(biāo) DB2 子系統(tǒng)
DB2STOP
DB2-SSID(DSN)
步驟13:在目標(biāo) MVS 系統(tǒng)啟動(dòng)目標(biāo) DB2 子系統(tǒng)
使用 DB2START 命令啟動(dòng)目標(biāo) DB2 子系統(tǒng),至此目標(biāo) DB2 子系統(tǒng)已經(jīng)可以正常的運(yùn)行。
清單23. 在目標(biāo) MVS 系統(tǒng)啟動(dòng)目標(biāo) DB2 子系統(tǒng)
DB2START
DB2-SSID(DSN)
NORMAL
總結(jié)
對(duì) DB2 數(shù)據(jù)庫(kù)進(jìn)行復(fù)制的方法多種多樣,本文主要針對(duì)使用快速磁盤(pán)復(fù)制技術(shù)(例如,F(xiàn)lashCopy 等)對(duì) DB2 數(shù)據(jù)進(jìn)行克隆的方案。通過(guò)使用 DB2 Cloning Tool,能夠最大程度簡(jiǎn)化 DB2 數(shù)據(jù)庫(kù)克隆過(guò)程中所需進(jìn)行的操作。另外,通過(guò) TWS 運(yùn)行 DB2 Cloning Tool 提供的 JCL 作業(yè),可以使整個(gè)克隆過(guò)程高度自動(dòng)化,無(wú)需用戶(hù)干預(yù),從而進(jìn)一步加速整個(gè)復(fù)制過(guò)程。
