IBM DB2跨平臺(tái)數(shù)據(jù)庫(kù)遷移操作步驟與注意點(diǎn)!
以下的文章主要描述的是IBM DB2跨平臺(tái)數(shù)據(jù)庫(kù)遷移步驟與在實(shí)際操作中的一些注意事項(xiàng)的描述,我們大家都知道DB2數(shù)據(jù)庫(kù)是一個(gè)有著廣泛商業(yè)應(yīng)用的關(guān)系的軟件。作為一個(gè)數(shù)據(jù)庫(kù)管理員時(shí)常面臨著數(shù)據(jù)庫(kù)系統(tǒng)的遷移工作,這是一個(gè)復(fù)雜而艱巨的過(guò)程。
互聯(lián)網(wǎng)和 DB2 的幫助文檔中有許多關(guān)于 DB2 數(shù)據(jù)庫(kù)遷移的介紹,但是對(duì)于 IBM DB2跨平臺(tái)數(shù)據(jù)庫(kù)遷移卻很少談及。本文將基于筆者的成功實(shí)踐,總結(jié)一下跨平臺(tái)數(shù)據(jù)庫(kù)遷移的步驟和注意事項(xiàng)。
簡(jiǎn)介
設(shè)想您是一個(gè) DB2 商業(yè)數(shù)據(jù)庫(kù)系統(tǒng)的管理員。您被給予一項(xiàng)任務(wù),支持業(yè)務(wù)開(kāi)發(fā)和測(cè)試團(tuán)隊(duì)對(duì)商業(yè)系統(tǒng)的持續(xù)開(kāi)發(fā),為他們創(chuàng)建一套獨(dú)立于產(chǎn)品環(huán)境的數(shù)據(jù)庫(kù)系統(tǒng),從而不影響日常的商業(yè)運(yùn)作。由于種種原因,這套開(kāi)發(fā)和測(cè)試數(shù)據(jù)庫(kù)系統(tǒng)將運(yùn)行在一個(gè)不同于產(chǎn)品環(huán)境的操作系統(tǒng)。
我們知道 DB2 提供了一些方便的數(shù)據(jù)庫(kù)管理工具,比如數(shù)據(jù)庫(kù)的整體備份和恢復(fù)功能,用戶可以用它很方便的將一個(gè) DB2 數(shù)據(jù)庫(kù)從一臺(tái)物理節(jié)點(diǎn)遷移到另一個(gè)物理節(jié)點(diǎn),但是 DB2 的備份和恢復(fù)功能目前只支持同構(gòu)操作系統(tǒng)平臺(tái)間的遷移,比如從 windows 平臺(tái)到 windows 平臺(tái),AIX 平臺(tái)到 AIX 平臺(tái)。對(duì)于上述任務(wù)要求的跨平臺(tái)的數(shù)據(jù)庫(kù)遷移,就沒(méi)有一個(gè)專門(mén)的工具可以很方便的實(shí)現(xiàn)。
遷移步驟
經(jīng)過(guò)筆者的實(shí)踐,總結(jié) DB2 數(shù)據(jù)庫(kù)的跨平臺(tái)遷移步驟如下:
記錄源數(shù)據(jù)庫(kù)管理系統(tǒng)配置參數(shù),以備遷移過(guò)后數(shù)據(jù)庫(kù)系統(tǒng)性能調(diào)優(yōu);
檢查源數(shù)據(jù)庫(kù)系統(tǒng)對(duì)象,明確要IBM DB2跨平臺(tái)數(shù)據(jù)庫(kù)遷移哪些數(shù)據(jù)庫(kù)系統(tǒng)對(duì)象;
導(dǎo)出源數(shù)據(jù)庫(kù)系統(tǒng)的數(shù)據(jù)集;
生成源數(shù)據(jù)庫(kù)系統(tǒng)的數(shù)據(jù)對(duì)象定義語(yǔ)句;
在目標(biāo)平臺(tái)創(chuàng)建新的數(shù)據(jù)庫(kù),參照源系統(tǒng)進(jìn)行設(shè)置;
導(dǎo)入源數(shù)據(jù)集;
檢查數(shù)據(jù)集導(dǎo)入過(guò)程日志,排除可能的錯(cuò)誤;
執(zhí)行數(shù)據(jù)對(duì)象定義語(yǔ)句;
檢查數(shù)據(jù)對(duì)象語(yǔ)句執(zhí)行日志,排除可能的錯(cuò)誤;
檢查更新存儲(chǔ)過(guò)程的定義;
連接應(yīng)用系統(tǒng),測(cè)試數(shù)據(jù)庫(kù)遷移是否成功。
下面給出一個(gè)遵循上述步驟的具體例子,其中將給出執(zhí)行這些步驟的具體 DB2 命令以供參考。
1. 記錄源數(shù)據(jù)庫(kù)管理系統(tǒng)配置參數(shù)。這些是很重要的數(shù)據(jù)環(huán)境設(shè)置,其中的一些設(shè)置關(guān)系到IBM DB2跨平臺(tái)數(shù)據(jù)庫(kù)遷移能否成功。
清單 1. 顯示數(shù)據(jù)庫(kù)管理系統(tǒng)配置參數(shù)的命令
以下是引用片段:
DB2 get dbm cfg
清單 2. 顯示數(shù)據(jù)庫(kù)配置參數(shù)的命令
以下是引用片段:
- DB2 get db cfg for source_db_name
注意:
- Italic part should be replaced by your settings.
注意:對(duì)于比較復(fù)雜的源數(shù)據(jù)庫(kù),要注意它的應(yīng)用程序組內(nèi)存大小參數(shù)(appgroup_memo_sz)。如果它的大小不夠,后面生成數(shù)據(jù)對(duì)象定義的時(shí)候會(huì)有問(wèn)題。
清單3. 顯示數(shù)據(jù)庫(kù)注冊(cè)表變量的命令
以下是引用片段:
DB2set -all
清單 4. 顯示數(shù)據(jù)庫(kù)表空間的命令
以下是引用片段:
- DB2 list tablespaces show detail
清單 5. 顯示數(shù)據(jù)庫(kù)程序包的命令
以下是引用片段:
- DB2 list packages
上述顯示表空間和程序包的命令都需要先建立到源數(shù)據(jù)庫(kù)的連接。
2. 檢查源數(shù)據(jù)庫(kù)系統(tǒng)對(duì)象,明確要IBM DB2跨平臺(tái)數(shù)據(jù)庫(kù)遷移哪些數(shù)據(jù)庫(kù)系統(tǒng)對(duì)象
如何檢查源數(shù)據(jù)庫(kù)系統(tǒng)對(duì)象?一個(gè)最直觀的方法就是使用DB2控制中心(DB2cc)瀏覽查看表,視圖,觸發(fā)器,用戶定義的函數(shù),存儲(chǔ)過(guò)程等數(shù)據(jù)庫(kù)對(duì)象。尤其要注意有無(wú)大的表,比如一行數(shù)據(jù)的表定義可能大于8K的表。 這樣的表需要在目標(biāo)數(shù)據(jù)庫(kù)上建立具有足夠頁(yè)大小的表空間。下面的步驟中將會(huì)給出列子。還需要注意的是有無(wú)外部定義的存儲(chǔ)過(guò)程,這些存儲(chǔ)過(guò)程所關(guān)聯(lián)的外部程序包需要手工重新關(guān)聯(lián)。
【編輯推薦】
- DB2數(shù)據(jù)庫(kù)下正確對(duì)IMPORT命令性能進(jìn)行提高的操作
- DB2存儲(chǔ)過(guò)程編寫(xiě)時(shí)要用到的代碼有哪些?
- DB2數(shù)據(jù)庫(kù)的備份是否成功,一看就知道!
- DB2實(shí)施備份時(shí)應(yīng)作的事項(xiàng)有哪些?
- IBM DB2 UDB 在線備份與恢復(fù)完美演習(xí)!