設定使用者和環境

「移轉儲存區域」是儲存移轉處理作業中收集和轉換之描述資料的資料庫綱要。

建立移轉的使用者

建立移轉的使用者。

  1. 以 admin 使用者身分登入 Autonomous Database。
  2. 建立移轉描述資料的移轉儲存區域使用者,並授與使用者描述資料無限制的空間配額。
    此範例使用使用者 mwrep
    SQL> CREATE USER MWREP 
    IDENTIFIED BY Welcome112233 
    DEFAULT TABLESPACE DATA
    TEMPORARY TABLESPACE TEMP;
    ALTER USER MWREP QUOTA UNLIMITED on DATA;
  3. 將權限授予 mwrep 使用者。
    SQL> GRANT 
        CONNECT, 
        RESOURCE, 
        CREATE SESSION, 
        CREATE VIEW, 
        CREATE MATERIALIZED VIEW 
        TO mwrep;

建立移轉儲存區域

若要將 Microsoft SQL Server 資料庫轉換成 Oracle,請建立儲存區域以儲存必要的儲存區域表格和 PL/SQL 套裝程式,然後與 mwrep 使用者建立 SQL Developer 連線。

  1. 在「Oracle Cloud 主控台」中,按一下線頁籤,在線上按一下滑鼠右鍵,然後選取新連線。
    新建/選取資料庫連線」視窗便會顯示。
  2. 完成「新增/選取資料庫連線」視窗中連線的下列欄位
    1. 稱:輸入 mwrep_adb (或識別連線的名稱)。
    2. 資料庫類型:選取 Oracle。
    3. 認證類型:選取預設。
    4. 使用者名稱:輸入 mwrep
    5. 碼:輸入密碼,然後選取儲存密碼。
    6. 連線類型:從下拉式功能表中選取雲端公事包。
    7. 組態檔:瀏覽至儲存自治式公事包壓縮檔的位置,然後選取 wallet_ adbName .zip 檔案。
      輸入壓縮檔時,會自動填入預設的資料庫服務。
  3. 按一下試以測試連線。
    確認頁面左下方的連線狀態顯示「狀態:成功」。
  4. 按一下存以儲存連線,然後關閉視窗。
    連線便會儲存,並列在線頁籤中的連線底下。
  5. 確認您的連線頁籤中列有下列連線。
    • admin_adb
    • mwrep_adb
    • SQL Server 2016
  6. mwrep_adb 連線上按一下滑鼠右鍵,選取移轉儲存區域,然後選取關聯移轉儲存區域。
  7. 按一下定。

擷取 Microsoft SQL Server 資料庫的快照

您可以使用「SQL Developer 移轉精靈」來擷取包括 Microsoft SQL Server 資料庫描述資料和資料的「快照」。

在此範例中,來源 SQL Server 部署有兩個範例資料庫:AdventureWorks (OLTP DB) 和 AdventureWorksDW ( Oracle Autonomous Data Warehouse )。您可以從 Microsoft SQL Server Github 儲存區域下載這兩個範例資料庫。

在離線移轉期間,建議靜止所有連線至 MS SQL Server 的應用程式,或將 SQL Server 資料庫切換至 ReadOnly 模式,以擷取資料庫的一致性狀態。

  1. 簡介:選取工具轉,然後選取轉。
    移轉精靈將逐步引導您完成將 SQL Server 資料庫轉換成 Oracle 的步驟。
  2. 存區域:選取移轉儲存區域的連線。選取 mwrep_adb 連線,然後按一下下一 步。
  3. 專案:提供專案的名稱並指定輸出目錄 (通常是 wkdir,其中 mssqlservermigration.zip 已解壓縮)。按下一步。
    專案是移轉實體的容器。
  4. 來源資料庫:提供「來源資料庫」詳細資訊並接受所有預設值。依照預設,模式為線上,線為 SQL 2016。按下一步。
  5. 擷取:選取定義擷取 AdventureWorks 資料庫,然後按一下下一步。
  6. 轉換:指定轉換選項。您可以新增規則。按下一步。
  7. 轉譯:選取要轉譯的 SQL 物件。此工具會自動選取 sql 物件。按一下下一步。
  8. 目標資料庫:提供「目標資料庫」詳細資訊。在模式中,選取線。您可以選取將目標物件置於此處。儲存「產生的命令檔目錄」位置,通常是 wkdir\ProjectName\generated\YYYY-MM-DD_HH-MM-SS 格式。按一下下一步。
  9. 移動資料:提供「資料移動」的相關詳細資訊。模式應為「離線」。儲存「資料移動命令檔目錄」的位置,通常是 wkdir\ProjectName\datamove\YYYY-MM-DD_HH-MM-SS 格式。按下一步。
  10. 摘要:提供整個專案的摘要。儲存詳細資訊。若要進行修改,請按一下上一步。按一下完成
    就會顯示「資料庫移轉狀態」方塊。

移轉完成並在 SQL Developer 中載入 master.sql 檔案後,將會顯示即現式訊息:Migration actions have successfully completed。物件和資料會透過 SQL Developer 載入並移轉至自治式資料庫。

建立 Oracle Database 物件

Oracle SQL Developer Migration Workbench 會產生 DDL 敘述句,以根據「轉換的模型」物件建立 Oracle Autonomous Database 物件。執行 DDL 敘述句會導致在 Oracle Autonomous Database 中建立物件。您可以使用 SQL Developer 或 sqlplus 命令行,在 Oracle Autonomous Database 上執行 sql 命令檔來建立 SQL Server 轉換的物件。
  1. 複查「產生的命令檔目錄」以取得想要的輸出。
    1. 使用 Windows 檔案總管、Windows 命令或 Windows powershell 來瀏覽至產生的命令檔目錄。
      一般而言,它位於安裝 mssqlservermigration.zip 檔案期間所定義的 wkdir 目錄中。
    2. 展開 wkdir 目錄樹狀結構。
      目錄看起來應該像下列這樣:
      Wkdir
      	[projectName]
      		datamove
      		generated
      			YYYY-MM-DD_HH-MI-SS
    3. 開啟加上日期與時戳的目錄,您應該會看到下列 oracle sql 命令檔:
      dropallschemas.sql
      master.sql
      passworddefinition.sql
      reportallstatus.sql
  2. 透過 sql developer 或直接 sqlplus 命令行介面執行 master.sql 命令檔,在 Oracle Autonomous Database 上建立 SQL Server 轉換的物件。
    • 若要使用 SQL Developer 在 Oracle Autonomous Database 上建立 SQL Server 轉換的物件,請執行 master.sql 命令檔:
      1. 從右側圖示的下拉式清單中選取 admin_adb。然後按一下執行命令檔 (F5)。
      2. (選擇性) 執行下列 SQL 查詢,以檢視因轉換程序而建立的新 Oracle 綱要。
        SQL> select * from dba_users where created > sysdate - 1;
    • 使用 sqlplus 命令行在 Oracle Autonomous Database 上建立 SQL Server 轉換的物件:
      1. 執行 master.sql 以建立中繼資料和架構結構。
        $ sqlplus admin/[password]@atpdb_tp @master.sql
      2. 執行 reportallstatus.sql。來建立「綱要驗證狀態」報表
        $ sqlplus admin/{password]@atpdb_tp @reportallstatus.sql

        這會為每個綱要產生輸出檔,在此情況下為 7 個日誌檔。複查以確定沒有任何錯誤,而且所有物件都顯示 VALID 狀態。

此時,處理程序已在 Oracle Autonomous Database 上將 MS SQL Server 資料庫 AdventureWorks 資料庫轉換成 Oracle Database 結構。轉換處理作業在 Oracle 上建立 7 個新綱要:
  • ADVENTUREWORKS
  • SALES_ADVENTUREWORKS
  • PERSON_ADVENTUREWORKS
  • PURCHASING_ADVENTUREWORKS
  • 模擬
  • HUMANRESOURCES_ADVENTUREWORKS
  • PRODUCTION_ADVENTUREWORKS