移轉指南:將 Oracle 移轉到 Azure 虛擬機器上的 SQL Server

適用於:Azure SQL Database

本指南說明如何使用適用於 Oracle 的 SQL Server 移轉小幫手,將 Oracle 結構描述移轉到 Azure 虛擬機器上的 SQL Server。

如需其他移轉指南,請參閱資料庫移轉

先決條件

若要將您的 Oracle 結構描述移轉至 Azure 虛擬機器上的 SQL Server,您需要:

移轉前

若要準備移轉至雲端,請確認您的來源環境支援此操作,而且您已符合了所有必要條件。 這麼做有助於確保有效率且成功的移轉。

此部分的流程包括:

  • 為需要移轉的資料庫紀載詳細目錄。
  • 評估這些資料庫是否有潛在的移轉問題或阻礙。
  • 解決您所發現的任何問題。

探索

使用 MAP 工具組來識別現有的資料來源,以及您企業所使用功能的詳細資料。 這麼做可讓您更瞭解移轉狀況,並協助您進行規劃。 此流程將包括掃描網路,以識別您的組織 Oracle 執行個體,以及您所使用的版本和功能。

若要使用 MAP 工具組進行詳細目錄掃描,請遵循下列步驟:

  1. 開啟 MAP 工具組

  2. 選取 [建立/選取資料庫]:

    Screenshot that shows the Create/Select database option.

  3. 選取 [建立詳細目錄資料庫]。 為新增詳細目錄資料庫輸入名稱和簡短描述,然後選取 [確定]

    Screenshot that shows the interface for creating an inventory database.

  4. 選取 [收集詳細目錄資料] 以開啟詳細目錄和評量精靈

    Screenshot that shows the Collect inventory data link.

  5. 詳細目錄與評量精靈中,選取 [Oracle],然後選取 [下一步]:

    Screenshot that shows the Inventory Scenarios page of the Inventory and Assessment Wizard.

  6. 選取最符合您業務需求和環境的電腦搜尋選項,然後選取 [下一步]:

    Screenshot that shows the Discovery Methods page of the Inventory and Assessment Wizard.

  7. 為想要探索的系統輸入認證或是建立新的認證,然後選取 [下一步]:

    Screenshot that shows the All Computers Credentials page of the Inventory and Assessment Wizard.

  8. 設定認證的順序,然後選取 [下一步]:

    Screenshot that shows the Credentials Order page of the Inventory and Assessment Wizard.

  9. 為想要探索的每部電腦各自輸入認證。 您可以針對每部電腦/機器使用唯一的認證,也可以使用 [所有電腦] 認證清單。

    Screenshot that shows the Specify Computers and Credentials page of the Inventory and Assessment Wizard.

  10. 驗證您的選取項目,然後選取 [完成]:

    Screenshot that shows the Summary page of the Inventory and Assessment Wizard.

  11. 掃描完成之後,請查看資料收集摘要。 掃描可能需要幾分鐘的時間,視資料庫的數量而定。 完成後請選取 [關閉]:

    Screenshot that shows the Data Collection summary.

  12. 選取 [選項] 以產生有關 Oracle 評量和資料庫詳細資料的報告。 同時選取兩個選項以產生報告。

評定

識別資料來源之後,請使用適用於 Oracle 的 SQL Server 移轉小幫手以評估移轉至 SQL Server VM 的 Oracle 執行個體。 小幫手能協助您瞭解來源與目的地資料庫之間的差距。 您可以查看資料庫物件和資料、評估要移轉的資料庫、將資料庫物件移轉至 SQL Server,接著將資料移轉至 SQL Server。

若要建立評定,遵循以下步驟:

  1. 開啟適用於 Oracle 的 SQL Server 移轉小幫手

  2. 在 [檔案] 功能表上,選取 [新增專案]

  3. 提供專案名稱以及儲存專案的位置,然後從清單中選取的SQL Server 移轉目標。 選取 [確定]:

    Screenshot that shows the New Project dialog box.

  4. 選取 [連線到 Oracle]。 在 [連線到 Oracle] 對話方塊中,輸入 Oracle 連線所需的值:

    Screenshot that shows the Connect to Oracle dialog box.

    選取您要移轉的 Oracle 結構描述:

    Screenshot that shows the list of Oracle schemas that can be migrated.

  5. 在 [Oracle 中繼資料總管] 中,用滑鼠右鍵按一下您要移轉的 Oracle 結構描述,然後選取 [建立報告]。 這麼做會產生 HTML 報表。 或者,您也可以選取資料庫,然後選取頂端功能表中的 [建立報表]。

    Screenshot that shows how to create a report.

  6. 檢閱 HTML 報告以了解轉換統計資料、錯誤和警告。 分析該報告以了解轉換問題和解決方式。

    您也可以在 Excel 中開啟報告,以取得 Oracle 物件的詳細目錄,以及完成結構描述轉換所需的工作。 報告預設位置在 SSMAProjects 內的報告資料夾中。

    例如:drive:\<username>\Documents\SSMAProjects\MyOracleMigration\report\report_2016_11_12T02_47_55\

    Screenshot that shows a conversion report.

驗證資料類型

驗證預設資料類型對應,並視需要來根據需求加以變更。 若要這樣做,請依照下列步驟執行:

  1. 在 [工具] 功能表上,選取 [專案設定]。

  2. 選取 [類型對應] 索引標籤。

    Screenshot that shows the Type Mappings tab.

  3. 您可以在 [Oracle 中繼資料總管] 中選取資料表,然後變更每一個資料表的類型對應。

轉換結構描述

若要轉換結構描述,請遵循以下步驟:

  1. (選用) 若要轉換動態或臨機操作查詢,請使用滑鼠右鍵按一下節點,然後選取 [新增陳述式]。

  2. 選取頂端功能表中的 [連線至 SQL Server]。

    1. 輸入您位於 Azure VM 上,SQL Server 的連線詳細資料。
    2. 從清單中選取您的目標資料庫,或提供新的名稱。 若您提供了新的名稱,系統將會在目標伺服器上建立資料庫。
    3. 提供驗證詳細資料。
    4. 選取 [連線]。

    Screenshot that shows how to connect to SQL Server.

  3. 在 [Oracle 中繼資料總管] 中,用滑鼠右鍵按一下 Oracle 結構描述,然後選取 [轉換結構描述]。 或者,您也可以選取頂端功能表中的 [轉換結構描述]:

    Screenshot that shows how to convert the schema.

  4. 結構描述轉換完成之後,請檢查轉換後的物件並將它們與原始物件比較,以找出潛在的問題。 使用這些建議來解決任何發生的問題:

    Screenshot that shows a comparison of two schemas.

    將已轉換的 Transact-SQL 文字與原始預存程序進行比較,並檢閱建議:

    Screenshot that shows Transact-SQL, stored procedures, and a warning.

    您能將專案儲存在本機,以進行離線結構描述補救練習。 若要這樣做,請選取 [檔案] 功能表上的 [儲存專案]。 在本地端儲存專案能讓您離線評估來源及目標結構描述,並執行補救,再將結構描述發佈到 SQL Server。

  5. 選取 [輸出] 窗格中的 [檢閱結果],接著檢閱 [錯誤清單] 窗格中的錯誤。

  6. 將專案儲存在本機,以進行離線結構描述補救練習。 選取 [檔案] 功能表中的 [儲存專案]。 這讓您有機會離線評估來源及目標結構描述,並執行補救,再將結構描述發佈到 Azure 虛擬機器上的 SQL Server。

遷移

當必要的先決條件準備就緒,並完成與移轉前階段相關聯的工作之後,您就可以開始進行結構描述和資料移轉。 移轉包含兩個步驟:發佈結構描述以及移轉資料。

若要發佈結構描述並移轉資料,請遵循以下步驟:

  1. 發佈結構描述:在SQL Server 中繼資料瀏覽器中的資料庫上按一下滑鼠右鍵,然後選取 [與資料庫同步處理]。 這麼做會將 Oracle 結構描述發佈至 Azure 虛擬機器上的 SQL Server。

    Screenshot that shows the Synchronize with Database command.

    檢閱來源專案與目標之間的對應:

    Screenshot that shows the synchronization status.

  2. 移轉資料:在 [Oracle 中繼資料總管] 中,用滑鼠右鍵按一下您要移轉的資料庫或物件,然後選取 [移轉資料]。 或者,您也可以選取 [移轉資料] 索引標籤。若要移轉整個資料庫的資料,請選取該資料庫名稱旁的核取方塊。 若要移轉個別資料表中的資料,請依序展開資料庫和 [資料表],然後選取資料表旁的核取方塊。 若要省略個別資料表中的資料,請清除這些核取方塊。

    Screenshot that shows the Migrate Data command.

  3. 在 Azure 虛擬機器上的對話方塊中,提供 Oracle 和 SQL Server 的連線詳細資料。

  4. 在完成移轉之後,請檢視 [資料移轉報告]:

    Screenshot that shows the Data Migration Report.

  5. 使用 SQL Server Management Studio 來連線到 Azure 虛擬機器執行個體上的 SQL Server。 檢閱資料和結構描述來驗證移轉:

    Screenshot that shows a SQL Server instance in SSMA.

您可以使用 SQL Server Integration Services (SSIS) 來移轉資料,而不是使用 SSMA。 若要深入了解,請參閱:

移轉後

完成移轉階段之後,您需要完成一系列的移轉後工作,以確保所有項目盡可能順暢且有效率地運作。

修復應用程式

將資料移轉至目標環境之後,先前取用來源的所有應用程式都必須開始取用目標。 進行這些變更可能也需要更動應用程式。

Data Access Migration Toolkit是 Visual Studio Code 的延伸模組。 它讓您能分析 JAVA 原始程式碼,以及偵測資料存取 API 呼叫和查詢。 此工具組可提供有關待解決問題的單一窗格檢視,以支援新資料庫後端。 若要深入瞭解,請參閱從 Oracle 移轉您的 JAVA 應用程式

執行測試

若要測試您的資料庫移轉,請完成下列活動:

  1. 開發驗證測試。 若要測試資料庫移轉,則需要使用 SQL 查詢。 建立驗證查詢以針對來源及目標資料庫執行。 您的驗證查詢應該涵蓋定義的範圍。

  2. 設定測試環境。 測試環境應該包含來源資料庫及目標資料庫的複本。 請務必隔離測試環境。

  3. 執行驗證測試。 對來源及目標執行驗證測試,然後分析結果。

  4. 執行效能測試。 對來源及目標執行效能測試,然後分析並比較結果。

驗證移轉的物件

適用於「Oracle 測試器」的 Microsoft SQL Server 移轉小幫手 (SSMA 測試器) 可讓您測試移轉的資料庫物件。 「SSMA 測試器」可用來驗證轉換物件的行為是否相同。

建立測試案例

  1. 開啟 SSMA for Oracle,依序選取 [測試器] 和 [新增測試案例]。

    Screenshot that shows new test case.

  2. 在 [測試案例] 精靈中,提供下列資訊:

    名稱:輸入用來識別測試案例的名稱。

    建立日期:今天的目前日期,由系統自動定義。

    上次修改日期:系統自動填寫,不得變更。

    描述:輸入任何其他資訊以識別測試案例的用途。

    Screenshot that shows step to initialize a test case.

  3. 從左側的 Oracle 物件樹狀結構上,選取屬於測試案例的物件。

    Screenshot that shows step to select and configure object.

    在此範例中,會選取預存程序 ADD_REGION 和資料表 REGION

    若要深入了解,請參閱選取和設定要測試的物件

  4. 接下來,在左側視窗的 Oracle 物件樹狀結構中選取資料表、外部索引鍵和其他相依物件。

    Screenshot that shows step to select and configure affected object.

    若要深入了解,請參閱選取和設定受影響的物件

  5. 檢閱物件的評估順序。 選取方格中的按鈕以變更順序。

    Screenshot that shows step to sequence test object execution.

  6. 檢查先前步驟中提供的資訊以完成測試案例。 根據測試案例,設定測試執行選項。

    Screenshot that shows step to finalize object.

    如需測試案例設定的詳細資訊,請完成測試案例準備

  7. 選取 [完成] 以建立測試案例。

    Screenshot that shows step to test repo.

執行測試案例

當「SSMA 測試器」執行測試案例時,測試引擎會執行選定要測試的物件,然後產生驗證報告。

  1. 從測試存放庫中選取測試案例,然後選取 [執行]。

    Screenshot that shows to review test repo.

  2. 檢閱啟動測試案例,然後選取 [執行]。

    Screenshot that shows step to launch test case.

  3. 接下來,請提供 Oracle 來源認證。 輸入認證之後,請選取 [連線]。

    Screenshot that shows step to connect to oracle source.

  4. 提供目標 SQL Server 認證,然後選取 [連線]。

    Screenshot that shows step to connect to sql target.

    成功時,測試案例會移至初始化階段。

  5. 即時進度列會顯示測試回合的執行狀態。

    Screenshot that shows tester test progress.

  6. 測試完成之後,請檢閱報告。 此報告會提供統計資料、測試回合期間所發生的任何錯誤,以及詳細資料報表。

    Screenshot that shows a sample tester test report

  7. 選取 [詳細資料] 以取得詳細資訊。

    正面資料驗證範例。

    Screenshot that shows a sample tester success report.

    失敗資料驗證範例。

    Screenshot that shows tester failure report.

最佳化

移轉後階段對於協調資料精確度問題,以及驗證完整性而言非常重要。 這對於解決工作負載的效能問題也相當重要。

注意

如需這些問題的詳細資訊,及減輕問題的詳細步驟,請參閱移轉後驗證和最佳化指南

移轉資源

如需完成此移轉案例的詳細說明,請參閱下列資源。這些資源皆是為了支援實際的移轉專案而開發出來的。

標題/連結 描述
資料工作負載評量模型及工具 此工具會針對指定的工作負載,提供建議的最適合目標平台、雲端整備,以及應用程式/資料庫補救等級。 提供自動化和統一的目標對平台決策程序,簡單按一下就能計算和報告,有助於加快評估大型資產。
Oracle 詳細目錄指令碼成品 此資產包含標定 Oracle 系統資料表的 PL/SQL 查詢,並依結構描述類型、物件類型和狀態來提供物件計數。 此外也在每個結構描述中提供原始資料的粗略估計,以及每個結構描述中的資料表大小,並以 CSV 格式儲存這些結果。
自動化 SSMA Oracle 評定集合與整合 這組資源使用 .csv 檔案 (專案資料夾中的 sources.csv) 作為輸入,產生在主控台模式中執行 SSMA 評量所需的 XML 檔案。 您可以藉由取出現有 Oracle 執行個體的詳細目錄,來提供 source.csv 檔案。 輸出檔案為 AssessmentReportGeneration_source_1.xml、ServersConnectionFile.xml 和 VariableValueFile.xml。
移轉 Oracle 資料庫時可能碰到的 SSMA 問題和可能的因應措施 使用 Oracle 時,您可以在 WHERE 子句中指派非純量條件。 SQL Server 則不支援這種類型的條件。 因此,適用於 Oracle 的 SSMA 不會在 WHERE 子句中轉換具有非純量條件的查詢。 相對地,它會產生錯誤:O2SS0001。 這份白皮書提供了關於此問題的詳細資料,以及解決的方法。
移轉 Oracle 至 SQL Server 操作手冊 本文件著重於將 Oracle 結構描述移轉至最新版本 SQL Server 的相關工作上。 如果移轉時需要針對特徵/功能做出更動,您必須仔細考慮對於使用資料庫的應用程式來說,每項變更可能會造成怎麼樣的影響。
Oracle 移轉至 SQL Server - 資料庫比較公用程式 「SSMA for Oracle 測試器」是自動驗證資料庫物件轉換和資料移轉的建議工具,此工具是資料庫比較功能的超集。

如果您要尋找替代的資料驗證選項,可以使用「資料庫比較」公用程式,將所有或選定資料表、資料列和資料行中的資料,按資料列或資料行層級進行比較。

資料 SQL 工程小組開發這些資源。 此小組的核心任務是為資料平台遷移專案的複雜現代化排除障礙,加速遷移至 Microsoft 的 Azure 資料平台。

下一步