應(yīng)用程序從Oracle遷移到 DB2 V9.7很簡單!
此文章主要講述的是把應(yīng)用程序輕松地從 Oracle 數(shù)據(jù)庫遷移到 DB2 V9.7數(shù)據(jù)庫的實(shí)際操作過程,本文主要是提供一個(gè)簡單強(qiáng)大的實(shí)際應(yīng)用工具,可以把應(yīng)用程序從 Oracle 遷移到 IBM® DB2® Version 9.7 for Linux®, UNIX®, and Windows® 上。
還可以使用這個(gè)工具把數(shù)據(jù)從其他數(shù)據(jù)庫管理系統(tǒng)轉(zhuǎn)移到 DB2 for Linux, UNIX, and Windows 和 DB2 for z/OS®。
簡介
從 DB2 V9.7 for Linux, UNIX, and Windows 開始,不再需要通過 Migration Toolkit (MTK) 在 DB2 產(chǎn)品上使用 Oracle 應(yīng)用程序。Data Movement Tool 替代了 MTK 功能并顯著簡化了工作流。
對于所有其他場景,例如把數(shù)據(jù)從數(shù)據(jù)庫轉(zhuǎn)移到 DB2 for z/OS,這個(gè)工具在高速數(shù)據(jù)轉(zhuǎn)移方面尤其出色。曾經(jīng)使用這個(gè)工具在三天內(nèi)轉(zhuǎn)移了 4TB 數(shù)據(jù)。
GUI 為新手提供容易使用的界面,而高級用戶往往更喜歡命令行 API。
準(zhǔn)備
下載
首先,從 下載 中把這個(gè)工具下載到您的目標(biāo) DB2 服務(wù)器。把數(shù)據(jù)轉(zhuǎn)移到 DB2 for z/OS 需要執(zhí)行額外步驟。
安裝
下載 IBMDataMovementTool.zip 文件之后,把文件解壓到目標(biāo) DB2 服務(wù)器上的 IBMDataMovementTool 目錄。為了實(shí)現(xiàn)***的數(shù)據(jù)轉(zhuǎn)移性能,強(qiáng)烈建議進(jìn)行服務(wù)器端安裝(在 DB2 上)。
前提條件
如果希望在 DB2 for Linux, UNIX, and Windows 上運(yùn)行 Oracle 應(yīng)用程序,應(yīng)該在目標(biāo)服務(wù)器上安裝 DB2 V9.7。
在目標(biāo)服務(wù)器上必須安裝 Java™ version 1.5 或更高版本。可以通過運(yùn)行 java -version 命令檢查當(dāng)前的 Java 版本。在默認(rèn)情況下,Java 安裝在 DB2 for Linux, UNIX, and Windows 中的 <install_dir>\SQLLIB\java\jdk (Windows) 或 /opt/ibm/db2/V9.7/java/jdk (Linux) 中。
查明源數(shù)據(jù)庫和 DB2 的 JDBC 驅(qū)動程序的位置。
數(shù)據(jù)庫 JDBC 驅(qū)動程序
- Oracle ojdbc14.jar、xdb.jar、xmlparserv2.jar 或 classes12.jar(對于 Oracle 7 或 8i,是 classes111.jar)
- SQL Server sqljdbc.jar
- Sybase jconn3.jar
- MySQL mysql-connector-java-5.0.8-bin.jar
- PostgreSQL postgresql-8.1-405.jdbc3.jar
- Ingres iijdbc.jar
- DB2 for Linux, UNIX, and Windows db2jcc.jar、db2jcc_license_cu.jar
- DB2 for z db2jcc.jar、db2jcc_license_cisuz.jar
- MS Access 可選的 Access_JDBC30.jar
環(huán)境設(shè)置
UNIX:作為 DB2 實(shí)例所有者登錄服務(wù)器。
Windows:啟動 DB2 命令窗口。
切換到 IBMDataMovementTool 目錄。這個(gè)工具包括一個(gè) JAR 文件和兩個(gè)驅(qū)動程序腳本。
IBMDataMovementTool.cmd - 在 Windows 上運(yùn)行此工具的命令腳本。
IBMDataMovementTool.sh - 在 UNIX 上運(yùn)行此工具的命令腳本。
IBMDataMovementTool.jar - 此工具的 JAR 文件。
創(chuàng)建 DB2 目標(biāo)數(shù)據(jù)庫
運(yùn)行此工具需要連接目標(biāo)數(shù)據(jù)庫,所以必須首先創(chuàng)建這個(gè)數(shù)據(jù)庫。在 DB2 V9.7 上,建議使用默認(rèn)的自動存儲并選擇 32KB 頁面大小。在 DB2 V9.7 上啟用應(yīng)用程序時(shí),實(shí)例和數(shù)據(jù)庫必須處于兼容模式。還建議調(diào)整舍入行為以匹配 Oracle。通過把重新驗(yàn)證語義(revalidation semantics)設(shè)置為 deferred_force,可以不按依賴次序部署對象。
在 UNIX 系統(tǒng)上 $ db2set DB2_COMPATIBILITY_VECTOR=ORA
- $ db2set DB2_DEFERRED_PREPARE_SEMANTICS=YES
- $ db2stop force
- $ db2start
- $ db2 "create db testdb automatic storage yes on /db2data1,
- /db2data2,/db2data3 DBPATH ON /db2system PAGESIZE 32 K"
- $ db2 update db cfg for testdb using auto_reval deferred_enforce
- $ db2 update db cfg for testdb using decflt_rounding round_half_up
- 在 Windows 系統(tǒng)上 C:\> db2set DB2_COMPATIBILITY_VECTOR=ORA
- C:\> db2set DB2_DEFERRED_PREPARE_SEMANTICS=YES
- C:\> db2stop force
- C:\> db2start
- C:\> db2 "create db testdb automatic storage yes on C:,D: DBPATH ON E: PAGESIZE 32 K"
- C:\> db2 update db cfg for testdb using auto_reval deferred_enforce
- C:\> db2 update db cfg for testdb using decflt_rounding round_half_up
提取對象和數(shù)據(jù)
在運(yùn)行此工具之前,應(yīng)該準(zhǔn)備好源數(shù)據(jù)庫和 DB2 服務(wù)器的以下信息:
源數(shù)據(jù)庫和 DB2 服務(wù)器的 IP 地址或主機(jī)名
要連接的端口號
需要的數(shù)據(jù)庫名、SID、子系統(tǒng)名等等
在源數(shù)據(jù)庫上有 DBA 特權(quán)的用戶 ID
此用戶的密碼
源數(shù)據(jù)庫和 DB2 JDBC 驅(qū)動程序的位置
將存儲數(shù)據(jù)的空間或卷/掛載點(diǎn)信息
在 Windows 上運(yùn)行 IBMDataMovementTool.cmd,或在 UNIX 上運(yùn)行 ./IBMDataMovementTool.sh。如果服務(wù)器能夠顯示圖形,此工具會啟動一個(gè) GUI。否則,它會切換到交互式命令行模式。
在 Windows 上:
- IBMDataMovementTool.cmd
在 UNIX 上:
- ./IBMDataMovementTool.sh
現(xiàn)在會看到一個(gè) GUI 窗口。shell 窗口中還應(yīng)該出現(xiàn)一些消息。在開始使用 GUI 之前,請看一下這些消息,確認(rèn)沒有錯(cuò)誤。
如果沒有設(shè)置 DB2_COMPATIBILITY_VECTOR,此工具會報(bào)告一個(gè)警告。請按以下步驟設(shè)置兼容向量(如果還沒有這么做的話)。
- [2009-05-15 12.48.59.218] INPUT Directory = .
- [2009-05-15 12.48.59.218] Configuration file loaded: 'jdbcdriver.properties'
- [2009-05-15 12.48.59.218] Configuration file loaded: 'IBMExtract.properties'
- [2009-05-15 12.48.59.218] appJar : 'C:\Vikram\Prospects\DB2Cobra\IBMDataMovementTool.jar'
- [2009-05-15 12.49.01.000] * WARNING *. I did not detect DB2_COMPATIBILITY_VECTOR set for
- compatibility mode.
- [2009-05-15 12.49.01.000] To set compatibility mode, discontinue this program and
- run the following commands
- [2009-05-15 12.49.01.000] db2set DB2_COMPATIBILITY_VECTOR=ORA
- [2009-05-15 12.49.01.000] db2stop force
以上的相關(guān)內(nèi)容就是對把應(yīng)用程序輕松地從 Oracle 遷移到 DB2 V9.7的介紹。
【編輯推薦】