在任何支持 DB2 UDB 的工作站平台上,MTK 都支持從 Sybase 11.9.2 和 Microsoft SQL Server 6.5 及 7.0 到 DB2 UDB版本 7.2 和更高)數據庫的轉換。對於 Sybase V11.x 以前的版本和 MS SQL Server V7.0 以前的版本,MTK 也可以用來轉換從這些數據庫中導入的腳本。MTK 不支持向 DB2 UDB for OS/390® 和 DB2 UDB for z/OS™ 以及 DB2 UDB for iSeries™ 的轉換。但是,可以用 MTK 的轉換和細化步驟創建 DB2 腳本,可以手工修改這些腳本以用於在這些平台上進行部署。MTK 目前可在 Windows NT® 和 Windows 2000® 上運行,但僅有英文版可用。
利用免費的 IBM® DB2® Universal Database™UDB)Migration ToolkitMTK)簡化和改進向 DB2 UDB 的遷移工作。這個新的遷移實用程序提供了向導和易於使用的五步界面,這些有助於您快速地將現有的 Sybase 和 Microsoft® SQL Server 數據庫對象轉換到 DB2 通用數據庫。
使用 MTK,可以將數據類型、表、列、視圖、索引、存儲過程和觸發器自動地轉換成等價的 DB2 數據庫對象。MTK 向數據庫管理員DBA)和應用程序程序員提供了使遷移任務自動化所需要的工具,而以前這些任務不但效率低下而且開銷巨大。通過使用 MTK 中的以下特性,您可以減少停機時間、消除人為錯誤,以及降低人工和與傳統數據庫遷移相關聯的其它資源消耗:
在數據庫解決方案決策中考慮使用 MTK
遷移到新數據庫的決策需要對許多將影響業務的因素進行仔細考慮。其中一個因素是:將數據庫對象、存儲過程和物理數據從原始數據庫遷移到 DB2 所需要的資源分配。與數據庫遷移相關的人工、停機時間和可能發生的人為錯誤,這些都會極大地影響您總體數據管理升級的投資回報ROI)。獲得功能全面的遷移工具,以幫助您根據業務遷移規范定制對象,能夠顯著地降低與數據庫轉換相關的開銷。盡管有幾種為數據庫遷移提供資源的簡單工具,但幾乎沒有一種能在允許您在工具界面內定制 DDL 對象的同時還支持過程語言如 T-SQL)。它們也不支持對復雜對象如觸發器和存儲過程)的細化和轉換。MTK 與其它遷移產品相比的過人之處在於,它在您將數據庫對象部署到目標數據庫之前,幫助您查看和手工定制數據庫對象。
MTK 支持大多數關系數據庫管理系統RDBMS)中存在的大部分特性的轉換。但是,對於某些遷移,可能有復雜的 RDBMS 特性如可擴展性對象和集合)無法由遷移實用程序處理,而需要手工修改。
圖 1
隨著被轉換的 RDBMS 特性復雜性的增加,自動化級別就降低了,並且需要額外的手工干預。MTK 的價值在此類復雜的遷移環境中就體現出來了,此時,該工具可以用作手工元數據操作的集中式界面。此外,MTK 可以使其余數據庫對象的轉換自動化,並讓您將寶貴的資源集中投入到最復雜的 RDBMS 特性上。
MTK 和總體遷移策略
數據庫遷移是多階段過程,需要大量的計劃和項目管理工作。理解一般遷移過程以了解 MTK 可以如何以及在何處適合您的策略,這很重要。通常,遷移過程由以下幾個階段組成:
MTK 旨在用於遷移的第二階段;這個階段包括數據庫對象的實際轉換,以及將那些對象和數據部署到目標 DB2 數據庫。雖然 MTK 會在遷移的最關鍵階段輔助您,但正確地實現其它階段對於確保成功和有成本效益的遷移還是不可或缺的。IBM 提供了很多遷移經驗,可以幫助您概括和實現遷移策略的所有階段。
MTK 是如何工作的
MTK 界面提供了五個迭代的步驟請參閱圖2);MTK 界面中的每一頁代表轉換過程中的一步。
圖 2. MTK 的五個步驟
五步遷移過程從“指定源Specify Source)”步驟開始,它用來標識要轉換的對象的源。在整個遷移過程中,在 轉換Convert)步驟將來自源輸入的對象轉換成 DB2 對象,然後在 細化Refine)步驟中查看和定制轉換結果。您重復 轉換和 細化步驟,直到 Refine選項卡中顯示的轉換結果是准確和完整的為止。在最後兩個遷移步驟中,您 生成數據轉移腳本Generate Data Transfer Scripts)並將數據庫對象和數據 部署Deploy)到目標 DB2 數據庫。
遷移環境
當您設置一個要在其中進行遷移的環境時,您要指定運行數據庫服務器的操作平台。源數據庫管理器存在於一個特殊的平台上,而 DB2 通用數據庫可以存在於另一個平台上,DB2 Migration Toolkit 在 Microsoft® Windows NT 或 Windows 2000 上運行。
如果您的目標 DB2 數據庫管理器在 Windows NT 或 Windows2000 上運行,那麼您可以將 DB2 Migration Toolkit 與 DB2 安裝在同一系統上。用 ODBC 或 JDBC™ 本機驅動器訪問源數據庫。如果文件包含已用正確格式標准 SQL — 非專用格式)導出的 SQL,那麼該工具箱也可以從文件進行導入,請參閱圖3。
圖 3. 使用 ODBC 或 JDBC 訪問數據庫
將數據庫部署到並非由 MTK 明確支持的系統平台是有可能的。在部署期間,MTK 執行一組批處理文件,其中包含用於部署的必要命令。如果您知道目標系統的 shell 命令語法,就可以自行將文件復制到系統、對它們作必要的修改並執行它們。例如,您可以手工修改並在本地運行遷移期間生成的 UNIX®*.sh)腳本,這樣就可以將部署和數據轉移放在目標 UNIX 機器上進行,而不是安裝了 MTK 的中間 Windows 機器。
圖 4. 將批處理文件用於部署
下面描述了 MTK 界面的五個迭代的步驟:
步驟 1:指定源
在創建或打開了遷移項目之後,就可以啟動遷移過程了。您的第一步是獲取將要轉換成 DB2 的 DDL 源文件。這一步在 Specify Source 頁完成。
使用 ODBC 或 Java™ 連接,您可以直接從源數據庫抽取源,或導入腳本。例如,當導入腳本時,您可以從先前的抽取或源庫中導入源腳本。您也可以同時指定和轉換多個源文件。
步驟 2: 轉換
在轉換步驟中,您可以從影響轉換輸出的一列格式化選項中進行選擇。轉換步驟也可以用來更改源數據類型及其目標 DB2 數據類型之間的缺省映射。
在從轉換選項中進行選擇之後,源 DDL 語句被轉換成了 DB2 DDL。每次轉換的結果都是一個 DB2 文件.db2)和一個報告文件.rpt),每個文件都包含您在 Prefix for generated files域指定的前綴。DB2 文件包含轉換期間創建的 DB2 DDL 語句,通常在這些語句前加上源 DDL 語句作為注釋。報告文件包含在轉換期間標識的一列錯誤。您可以在 Refine頁上查看和編輯這些文件,該頁在對象被轉換之後自動打開。
圖 6. 步驟 2,轉換
步驟 3:細化
細化步驟用來查看轉換結果,定位錯誤消息和對已轉換的 DDL 進行更改。
圖 7. 步驟 3,細化
在細化了已轉換的數據之後,您必須返回到轉換步驟來應用更改。當您再次執行轉換步驟時,轉換器將細化的更改與最初抽取的源 DDL 語句合並,以產生更新的目標 DB2 和 XML 元數據由 DDL 指定的源對象表示)。最初的 DDL 語句沒有被更改。重復 轉換-細化步驟,直到您對結果滿意為止。
您可以使用其它工具如 SQL Translator、Log 和 Reports)來幫助自己細化轉換。在將 DB2 DDL 語句細化到您滿意的程度後,可以繼續轉到生成數據轉換腳本步驟來准備數據轉換腳本,或轉到 部署到DB2步驟以執行 DB2 DDL 語句。
步驟 4:生成數據轉換腳本
在本步驟中,生成了 Windows NT*.bat)和 UNIX*.sh)數據轉換腳本,可將其用於創建 DB2 格式的數據文件。有幾個選項允許您指定裝入和導入、文件格式、文件類型修飾符、參數以及用來滿足您的特定遷移需求的創建索引選項。
圖 8. 步驟 4,生成腳本
步驟 5:部署到 DB2
部署步驟用來選擇將數據部署到目標 DB2 數據庫的方法。在這個步驟中,您可以執行 DDL 來創建元數據對象、從源數據庫抽取數據、將數據裝入目標 DB2 表或選擇這三個選項的任意組合。
MTK 提供了這些不同的選項來適應眾多可能的系統環境。這些特性的一個通用方法是使用 Deploy 選項,這樣您就可以在白天執行 DDL 語句,而在網絡使用率較低的夜晚部署實際數據。
如果您需要在與 DB2 所駐留的系統不同的系統上轉換和細化,那麼您可以將 MTK 及其項目目錄復制到 DB2 系統並在本地部署它。如果您熟悉非 Windows 2000 操作系統上的 DB2,那麼,在那些系統上修改批處理文件以適應到那些系統上 DB2 的部署是有可能的。MTK 生成用於 UNIX 和 Windows 平台的腳本。雖然這種情形仍沒有被充分測試和支持,但可以通過復制 mtk.jar 文件和部署期間用的批處理文件來完成。因為使用了 .jar 文件,所以 Java 1.3.0 仍然是啟動系統的先決條件。