移轉指南:Oracle 到 Azure SQL 資料庫

適用於:Azure SQL Database

本指南說明如何使用適用於 Oracle 的 SQL Server 移轉小幫手 (SSMA for Oracle),將 Oracle 結構描述移轉到 Azure SQL Database。

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

重要

試用 Azure Data Studio 中的新 Database Migration Assessment for Oracle 延伸模組,進行 Oracle 移轉至 SQL 的預先評定和工作負載分類。 如果您在 Oracle 移轉至 SQL 的早期階段中,而且需要執行高階工作負載評估,有興趣調整 Oracle 工作負載 Azure SQL 目標的大小,或瞭解功能移轉同位,請嘗試新的延伸功能。 如需詳細的程式碼評定和轉換,請繼續使用 SSMA for Oracle。

必要條件

在開始將 Oracle 結構描述移轉至 SQL Database 之前:

移轉前

當您滿足必要條件之後,即可開始探索環境的拓撲,並評定 Azure 雲端移轉的可行性。 這部分的程序牽涉到清查您需要移轉的資料庫、評估這些資料庫是否有潛在的移轉問題或阻礙,然後解決您已發現的任何問題。

評定

使用 SSMA for Oracle,您可以查看資料庫物件和資料、評估要移轉的資料庫、將資料庫物件移轉至 SQL Database,最後將資料移轉至資料庫。

若要建立評量:

  1. 開啟 SSMA for Oracle

  2. 選取 [檔案],然後選取 [新增專案]。

  3. 輸入專案名稱和儲存專案的位置。 然後,從下拉式清單中選取 [Azure SQL Database] 作為移轉目標,然後選取 [確定]。

    Screenshot that shows Connect to Oracle.

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

  5. 選取您要移轉的 Oracle 結構描述。

    Screenshot that shows selecting Oracle schema.

  6. 在 [Oracle 中繼資料總管] 中,用滑鼠右鍵按一下您要移轉的 Oracle 結構描述,然後選取 [建立報告] 以產生 HTML 報告。 您也可以選取資料庫,然後選取 [建立報告] 索引標籤。

    Screenshot that shows Create Report.

  7. 請檢閱 HTML 報表,以了解轉換統計資料以及任何錯誤或警告。 您也可以在 Excel 中開啟報告,以取得 Oracle 物件的詳細目錄,以及執行結構描述轉換所需的工作。 報表其預設位置是在 SSMAProjects 內的報表資料夾中。

    如需範例,請參閱 drive:\<username>\Documents\SSMAProjects\MyOracleMigration\report\report_2020_11_12T02_47_55\

    Screenshot that shows an Assessment report.

驗證資料類型

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

  1. 在 SSMA for Oracle 中,選取 [工具],然後選取 [專案設定]。

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

    Screenshot that shows Type Mapping.

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

轉換結構描述

若要轉換結構描述:

  1. (選擇性) 將動態或臨機操作查詢新增至陳述式。 以滑鼠右鍵按一下節點,然後選取 [新增陳述式]。

  2. 選取 [連線到 Azure SQL Database] 索引標籤。

    1. SQL Database 中輸入連線詳細資料,以連線至您的資料庫。
    2. 從下拉式清單中選取您的目標 SQL 資料庫執行個體,或輸入新的名稱,若為此情況,則會在目標伺服器上建立資料庫。
    3. 輸入驗證詳細資料,然後選取 [連線]。

    Screenshot that shows Connect to Azure SQL Database.

  3. 在 [Oracle 中繼資料總管] 中,用滑鼠右鍵按一下 Oracle 結構描述,然後選取 [轉換結構描述]。 或者,您也可以選取您的結構描述,然後選取 [轉換結構描述] 索引標籤。

    Screenshot that shows Convert Schema.

  4. 轉換完成後,請檢閱轉換的物件並與起始物件進行比較,以找出潛在問題,並根據建議來解決問題。

    Screenshot that shows the Review recommendations schema.

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

    Screenshot that shows the Review recommendations.

  6. 在 [輸出] 窗格中,選取 [檢閱結果],並檢閱 [錯誤清單] 窗格中的錯誤。

  7. 將專案儲存在本機,以進行離線結構描述補救練習。 在 [檔案] 功能表中,選取 [儲存專案]。 此步驟讓您有機會離線評估來源及目標結構描述,並執行補救,再將其發佈到 SQL Database。

移轉

評定資料庫並解決任何不一致的情況之後,下一步就是執行移轉程序。 移轉需要執行兩個步驟:發佈結構描述和移轉資料。

若要發佈您的結構描述並移轉資料:

  1. 在 [Azure SQL Database 中繼資料總管] 中,用滑鼠右鍵按一下 [資料庫] 節點上的資料庫,然後選取 [與資料庫同步處理],即可發佈結構描述。

    Screenshot that shows Synchronize with Database.

  2. 檢閱來源專案與目標之間的對應。

    Screenshot that shows Synchronize with the Database review.

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

    Screenshot that shows Migrate Data.

  4. 輸入 Oracle 和 SQL Database 的連線詳細資料。

  5. 完成移轉之後,請檢視 [資料移轉報告]。

    Screenshot that shows the Data Migration Report.

  6. 使用 SQL Server Management Studio 連線至 SQL 資料庫執行個體,並藉由檢閱資料及結構描述來驗證移轉。

    Screenshot that shows validation in SQL Server Management Studio.

或者,您也可以使用 SQL Server Integration Services 來執行移轉。 若要深入了解,請參閱:

移轉後

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

修復應用程式

將資料移轉至目標環境之後,先前取用來源的所有應用程式都必須開始取用目標。 在某些情況下,完成這個工作需要對應用程式進行變更。

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 to create new test case.

  2. 請提供新測試案例的下列資訊:

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

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

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

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

    Screenshot that shows steps 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 run 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 檔案。 source.csv 是由客戶依據現有 Oracle 執行個體的詳細目錄提供。 輸出檔案為 AssessmentReportGeneration_source_1.xml、ServersConnectionFile.xml 和 VariableValueFile.xml。
將 Oracle 移轉至 SQL DB - 資料庫比較公用程式 「SSMA for Oracle 測試器」是自動驗證資料庫物件轉換和資料移轉的建議工具,此工具是資料庫比較功能的超集。

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

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

後續步驟