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

瞭解如何使用 Oracle Cloud Infrastructure GoldenGate 將資料從 Amazon RDS for Oracle 複製到 Oracle Object Storage。

開始之前

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

環境設定:Oracle 的 Amazon RDS

佈建 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 建立 Oracle 部署

  2. 建立大數據部署目標 Oracle Object Storage 貯體。

  3. 為 Oracle 執行處理的來源 Amazon RDS 建立連線。

  4. 建立目標 Oracle Object Storage 連線

  5. 如果您的大數據部署沒有公用端點,請建立 GoldenGate 連線,然後將此連線指派給來源 Oracle 部署。

  6. 將 Amazon RDS for Oracle 連線指派給來源 Oracle 部署

  7. 指派 Oracle Object Storage 連線至目標大數據部署

  8. 指派 GoldenGate 連線至來源 Oracle 部署

任務 2:新增並執行擷取

  1. 在「部署」頁面上,選取 Oracle 部署的來源 Amazon RDS。

  2. 在部署詳細資料頁面上,選取啟動主控台

  3. 以來源部署的管理員使用者名稱和密碼登入。

  4. 新增擷取

作業 3:新增並執行分配路徑

  1. 如果使用 GoldenGate 證明資料存放區,請在目標大數據部署中建立「分送路徑」的使用者,否則請跳至步驟 3。

  2. 來源 GoldenGate 部署主控台中,為在步驟 1 中建立的使用者新增「路徑連線」。

    1. 在來源 GoldenGate 部署主控台中,於左側導覽中選取路徑連線

    2. 選取新增路徑連線 (加號圖示),然後完成下列作業:

      1. 證明資料別名中,輸入 GGSNetwork

      2. 使用者 ID 中,輸入在步驟 1 中建立的使用者名稱。

      3. 輸入使用者的密碼兩次以進行驗證。

    3. 選取提交

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

  3. 來源建置主控台中,使用下列值新增分送路徑

    1. 來源選項頁面上:

      • 對於來源擷取,請選取在任務 2 中建立的擷取。

      • 歷程檔名稱中,輸入兩個字元的名稱,例如 E1

    2. 目標選項頁面上:

      • 目標主機中,輸入目標部署的主機網域。

      • 連接埠號碼中,輸入 443

      • 歷程檔名稱中,輸入兩個字元的名稱,例如 E1

      • 別名中,輸入在步驟 2 中建立的「證明資料別名」。

  4. 目標大數據部署主控台中,複查因「分送路徑」而建立的「接收者路徑」。

    1. 在目標 Big Data 部署主控台中,選取接收者服務

    2. 複查路徑詳細資料。此路徑是由上一個步驟中建立的「分送路徑」所建立。

作業 4:新增並執行 Replicat

  1. 目標大數據部署主控台導覽功能表中,選取複製

  2. 在「複本」頁面上,選取新增 Replicat (加號圖示),然後依照下列方式完成表單:

    1. 在 Replicat 資訊頁面上:

      1. Replicat 類型中,選取傳統 Replicat

      2. 針對程序名稱,輸入名稱,例如 REP

    2. 在「Replicat 選項」頁面上:

      1. 複製追蹤名稱中,輸入兩個字元的名稱,例如 E1

      2. 若為目標,請選取 Oracle Object Storage

    3. 在「參數檔」頁面上,以下列項目取代 MAP *.*, TARGET *.*;

      MAP SRC_OCIGGLL.*, TARGET *.*;
    4. 在「特性檔」頁面中,視需要設定「OCI 事件處理程式」特性。

      必要特性:

      • gg.eventhandler.oci.compartmentID:Oracle Object Storage 貯體所在的區間 OCID。

      • gg.handler.oci.fileNameMappingTemplate:使用範本關鍵字動態產生檔案名稱。

      您可以考慮修改的特性包括:

      • gg.handler.oci.format:選取輸出的格式。json_row 為預設設定。可用的選項包括:

      • gg.handler.oci.inactivityRollInterval:GoldenGate 會建立檔案並保持開啟以供寫入。此特性會在指定的無活動期間 (沒有內送交易) 之後關閉檔案,然後將它載入 Oracle Object Storage。依預設,它會設為 5 秒。您可以指定時間 (毫秒)、秒 (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 時,GoldenGate 會在您停止 Replicat 處理作業時關閉開啟的檔案。依照預設,「檔案寫入器處理程式」會保持檔案開啟,即使 Replicat 會停止並在 Replicat 重新啟動時繼續寫入同一個檔案。例如,gg.handler.oci.rollOnShutdown=false

      • gg.handler.oci.fileRollInterval:指定檔案關閉前保持開啟的時間量,並轉存至新檔案。預設會設為 7 分鐘。您可以指定時間 (毫秒)、秒 (s)、分鐘 (m) 或小時 (h)。例如,gg.handler.oci.fileRollInterval=10m

      • gg.eventhandler.oci.bucketMappingTemplate:輸入 Oracle Object Storage 貯體名稱。

    5. 選取建立並執行

工作 5:驗證複製

對 Oracle 執行處理的來源 Amazon RDS 執行一些更新,以驗證對 Oracle 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. 在目標 Big Data OCI GoldenGate 部署主控台中,選取 Replicat 名稱,然後選取統計資料。確認 SRC_OCIGGLL.SRC_CITY 有 10 個插入項目。

工作 6:監督和維護處理作業

  1. 監督複製處理作業

  2. 管理歷程檔