將 Amazon RDS for Oracle 的資料複寫至 OCI Object Storage

瞭解如何使用 Oracle Cloud Infrastructure GoldenGate 將 Amazon RDS for Oracle 的資料複寫至 OCI Object Storage。

開始之前

若要順利完成此快速啟動,您必須具有下列項目:

  • 註冊或登入您的 Oracle Cloud 帳戶。
  • Oracle 執行處理的來源 Amazon RDS,於環境設定中說明。

環境設定:Amazon RDS for Oracle

佈建 Amazon RDS for Oracle 執行處理,然後使用下列步驟設定要與 Oracle GoldenGate 搭配使用的來源資料庫。

  1. 開啟來源資料庫的補充日誌記錄。
  2. ENABLE_GOLDENGATE_REPLICATION 初始化參數設為 true
  3. 在「來源」資料庫啟用存檔並保留存檔重做日誌。
  4. 在來源資料庫上建立 Oracle GoldenGate 使用者帳戶。
  5. 授予來源資料庫的使用者帳戶權限。
    GRANT CREATE SESSION, ALTER SESSION TO GGADMIN;
    GRANT RESOURCE TO GGADMIN;
    GRANT SELECT ANY DICTIONARY TO GGADMIN;
    GRANT FLASHBACK ANY TABLE TO GGADMIN;
    GRANT SELECT ANY TABLE TO GGADMIN;
    GRANT EXECUTE ON DBMS_FLASHBACK TO GGADMIN;
    GRANT SELECT ON SYS.V_$DATABASE TO GGADMIN;
    GRANT ALTER ANY TABLE TO GGADMIN;
    EXEC rdsadmin.rdsadmin_dbms_goldengate_auth.grant_admin_privilege (
    grantee                 => 'GGADMIN',
    privilege_type          => 'capture',
    grant_select_privileges => true,
    do_grants               => TRUE);
    
  6. 下載並解壓縮範例資料庫綱要
  7. 載入來源範例綱要和資料:
    1. SRC_OCIGGLL 使用者身分從 SQL Developer 連線至 Amazon RDS for Oracle 執行處理。
    2. 將命令檔從 OCIGGLL_OCIGGS_SETUP_USERS_ATP.sql 複製並貼到 SQL 工作表中。
    3. 按一下執行命令碼命令檔輸出頁籤會顯示確認訊息。
    4. 清除 SQL 工作表,然後從 OCIGGLL_OCIGGS_SRC_USER_SEED_DATA.sql 複製並貼上 SQL 命令檔。

      秘訣:

      您可能需要個別執行每個敘述句,SQL 工具才能順利執行命令檔。
    5. 如果要確認表格已成功建立,請關閉 SQL 視窗並重新開啟該視窗。在「導覽器」頁籤中,尋找 SRC_OCIGGLL 綱要,然後從它們各自的下拉式清單中選取表格。

作業 1:建立 OCI GoldenGate 資源

  1. 建立 Oracle 部署的來源 Amazon RDS for Oracle 執行處理。
  2. 建立大數據部署目標 OCI 物件儲存的儲存桶。
  3. 建立來源 Amazon RDS for Oracle 執行處理的連線。
  4. 建立目標 OCI 物件儲存的連線
  5. 如果您的大數據部署沒有公用端點,請建立與 GoldenGate 的連線,然後將此連線指派給來源 Oracle 部署。
  6. 將 Amazon RDS 指定給來源 Oracle 部署的 Oracle 連線
  7. 將 OCI Object Storage 連線指定給目標大數據部署
  8. 將 GoldenGate 連線指定給來源 Oracle 部署

任務 2:新增並執行擷取

  1. 在「部署項目」頁面上,選取 Oracle 部署項目的來源 Amazon RDS。
  2. 在部署詳細資訊頁面上,按一下啟動主控台
  3. 使用來源部署的管理員使用者名稱和密碼登入。
  4. 新增異動資訊
  5. 新增 Extract

工作 3:新增並執行 Distribution Path

  1. 如果使用 GoldenGate 證明資料存放區,請在目標大數據部署中建立分配路徑的使用者,否則請跳至步驟 3。
  2. 來源 ATP GoldenGate 部署主控台中,為步驟 1 中建立的使用者新增「路徑連線」。
    1. 在來源 ATP GoldenGate 部署主控台中,按一下左側導覽中的路徑連線
    2. 按一下新增路徑連線 (加號圖示),然後完成下列項目:
      1. 證明資料別名中,輸入 GGSNetwork
      2. 使用者 ID 中,輸入在步驟 1 中建立的使用者名稱。
      3. 輸入使用者的密碼兩次以進行驗證。
    3. 按一下提交

      路徑連線會顯示在「路徑連線」清單中。

  3. 來源可承諾量部署主控台中,使用下列值新增分配路徑
    1. 來源選項頁面上:
      • 對於來源擷取,請選取在任務 2 中建立的擷取。
      • 歷程檔名稱中,輸入兩個字元的名稱,例如 E1
    2. 目標選項頁面上:
      • 若為目標主機,請輸入目標部署的主機網域。
      • 對於連接埠號碼,請輸入 443
      • 歷程檔名稱中,輸入兩個字元的名稱,例如 E1
      • 別名中,輸入在步驟 2 中建立的證明資料別名。
  4. 目標大數據部署主控台中,複查因 Distribution Path 而建立的 Receiver Path
    1. 在目標「大數據」部署主控台中,按一下 Receiver Service
    2. 複查路徑詳細資訊。此路徑是由上一個步驟中建立的 Distribution Path 所建立。

工作 4:新增並執行 Replicat

  1. 目標大數據部署主控台導覽功能表中,按一下 Replicats
  2. Replicats 頁面上,按一下新增 Replicat (加號圖示),然後完成表單,如下所示:
    1. Replicat 資訊頁面上:
      1. Replicat 類型中,選取傳統 Replicat
      2. 針對程序名稱,輸入名稱,例如 REP
    2. 在「Replicat 選項」頁面上:
      1. Replicat 軌跡名稱中,輸入兩個字元的名稱,例如 E1
      2. 針對目標,選取 OCI Object Storage
    3. 在「參數檔 (Parameter File)」頁面上,將 MAP *.*, TARGET *.*; 取代為:
      MAP SRC_OCIGGLL.*, TARGET *.*;
    4. 在「特性檔」頁面上,視需要設定 OCI 事件處理程式特性。
      必要特性:
      • gg.eventhandler.oci.compartmentID:OCI 物件儲存的儲存桶所在的區間 OCID。
      • gg.handler.oci.fileNameMappingTemplate:使用範本關鍵字動態產生檔案名稱。
      您可以考慮修改的特性包括:
      • gg.handler.oci.format:選取輸出的格式。json_row 是預設設定。可用的選項包括:

        秘訣:

        若要使用 OCI 物件儲存的格式特性,請將 name 取代為 oci。例如,gg.handler.name.format 會變成 gg.handler.oci.format
      • gg.handler.oci.inactivityRollInterval:GoldenGate 會建立檔案並保持開啟以供寫入。此特性會在指定的無活動期間 (沒有內送交易) 之後關閉檔案,然後將其載入 OCI Object Storage。預設會設為 5 秒。您可以指定以毫秒 (ms)、秒 (s)、分鐘 (m) 或小時 (h) 為單位的時間。例如,gg.handler.oci.inactivityRollInterval=10m
      • gg.handler.oci.maxFileSize:「檔案寫入器處理程式」會開啟檔案並保持開啟,直到達到檔案大小上限為止 (假設沒有描述資料變更)。依預設,檔案大小上限為 1 GB,不過您可以使用此特性加以變更。達到大小時,檔案會關閉,然後產生新檔案。例如,gg.handler.oci.maxFileSize=500m
      • gg.handler.oci.rollOnShutdown:預設值為 true。設為 true 時,當您停止 Replicat 處理作業時,GoldenGate 會關閉開啟的檔案。依照預設,「檔案寫入器處理程式」會保持檔案開啟,即使 ReplicatReplicat 重新啟動時停止並繼續寫入相同的檔案。例如,gg.handler.oci.rollOnShutdown=false
      • gg.handler.oci.fileRollInterval:指定檔案關閉前保持開啟的時間量,並轉存至新檔案。預設設定為 7 分鐘。您可以指定以毫秒 (ms)、秒 (s)、分鐘 (m) 或小時 (h) 為單位的時間。例如,gg.handler.oci.fileRollInterval=10m
      • gg.eventhandler.oci.bucketMappingTemplate:輸入物件儲存的儲存桶名稱。
    5. 按一下建立並執行

工作 5:驗證複製

對 Oracle 執行處理的來源 Amazon RDS 執行一些更新,以驗證複製到 OCI Object Storage 的複寫。
  1. SRC_OCIGGLL 使用者身分從 SQL Developer 連線至 Amazon RDS for Oracle 執行處理。
  2. 在工作表中輸入下列項目,然後按一下執行命令檔
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1000,'Houston',20,743113);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1001,'Dallas',20,822416);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1002,'San Francisco',21,157574);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1003,'Los Angeles',21,743878);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1004,'San Diego',21,840689);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1005,'Chicago',23,616472);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1006,'Memphis',23,580075);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1007,'New York City',22,124434);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1008,'Boston',22,275581);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1009,'Washington D.C.',22,688002);
  3. 在來源 GoldenGate OCI GoldenGate 部署主控台中,選取 Extract 名稱,然後按一下統計資料。確認 SRC_OCIGGLL.SRC_CITY 有 10 個插入項目。
  4. 在目標大數據 OCI GoldenGate 部署主控台中,選取 Replicat 名稱,然後按一下統計資料。確認 SRC_OCIGGLL.SRC_CITY 有 10 個插入項目。

作業 6:監視與維護處理

  1. 監督效能
  2. 管理歷程檔