將 Amazon RDS for Oracle 的資料複寫至 Oracle Object Storage
瞭解如何使用 Oracle Cloud Infrastructure GoldenGate 將資料從 Amazon RDS for Oracle 複製到 Oracle Object Storage。
開始之前
若要順利完成此快速啟動,您必須具備下列項目:
-
註冊或登入您的 Oracle Cloud 帳戶。
-
環境設定中說明的 Amazon RDS for Oracle 執行處理來源。
環境設定:Oracle 的 Amazon RDS
佈建 Amazon RDS for Oracle 執行處理,然後使用下列步驟設定來源資料庫以搭配 Oracle GoldenGate 使用。
-
開啟來源資料庫的補充日誌記錄。
-
將
ENABLE_GOLDENGATE_REPLICATION初始化參數設為true。 -
在來源資料庫啟用存檔功能並保留存檔重做日誌。
-
在來源資料庫上建立 Oracle GoldenGate 使用者帳戶。
-
授予來源資料庫的使用者帳戶權限。
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); -
下載並解壓縮範例資料庫綱要。
-
載入來源範例綱要和資料:
-
以
SRC_OCIGGLL使用者身分從 SQL Developer 連線至 Amazon RDS for Oracle 執行處理。 -
將命令檔從
OCIGGLL_OCIGGS_SETUP_USERS_ATP.sql複製並貼到 SQL 工作表中。 -
選取執行命令檔。命令檔輸出頁籤會顯示確認訊息。
-
清除 SQL 工作表,然後從
OCIGGLL_OCIGGS_SRC_USER_SEED_DATA.sql複製並貼上 SQL 命令檔。提示:您可能需要分別執行每個陳述式,SQL 工具才能順利執行命令檔。
-
若要驗證表格已順利建立,請關閉 SQL 視窗並重新開啟。在「導覽器」頁籤中,尋找
SRC_OCIGGLL綱要,然後從表格的個別下拉式清單中選取表格。
-
作業 1:建立 OCI GoldenGate 資源
-
為 Oracle 執行處理的來源 Amazon RDS 建立 Oracle 部署。
-
建立大數據部署目標 Oracle Object Storage 貯體。
-
為 Oracle 執行處理的來源 Amazon RDS 建立連線。
-
如果您的大數據部署沒有公用端點,請建立 GoldenGate 連線,然後將此連線指派給來源 Oracle 部署。
任務 2:新增並執行擷取
-
在「部署」頁面上,選取 Oracle 部署的來源 Amazon RDS。
-
在部署詳細資料頁面上,選取啟動主控台。
-
以來源部署的管理員使用者名稱和密碼登入。
-
新增擷取。
作業 3:新增並執行分配路徑
-
如果使用 GoldenGate 證明資料存放區,請在目標大數據部署中建立「分送路徑」的使用者,否則請跳至步驟 3。
-
在來源 GoldenGate 部署主控台中,為在步驟 1 中建立的使用者新增「路徑連線」。
-
在來源 GoldenGate 部署主控台中,於左側導覽中選取路徑連線。
-
選取新增路徑連線 (加號圖示),然後完成下列作業:
-
在證明資料別名中,輸入
GGSNetwork。 -
在使用者 ID 中,輸入在步驟 1 中建立的使用者名稱。
-
輸入使用者的密碼兩次以進行驗證。
-
-
選取提交。
路徑連線會顯示在「路徑連線」清單中。
-
-
在來源建置主控台中,使用下列值新增分送路徑:
-
在來源選項頁面上:
-
對於來源擷取,請選取在任務 2 中建立的擷取。
-
在歷程檔名稱中,輸入兩個字元的名稱,例如
E1。
-
-
在目標選項頁面上:
-
在目標主機中,輸入目標部署的主機網域。
-
在連接埠號碼中,輸入
443。 -
在歷程檔名稱中,輸入兩個字元的名稱,例如
E1。 -
在別名中,輸入在步驟 2 中建立的「證明資料別名」。
-
-
-
在目標大數據部署主控台中,複查因「分送路徑」而建立的「接收者路徑」。
-
在目標 Big Data 部署主控台中,選取接收者服務。
-
複查路徑詳細資料。此路徑是由上一個步驟中建立的「分送路徑」所建立。
-
作業 4:新增並執行 Replicat
-
在目標大數據部署主控台導覽功能表中,選取複製。
-
在「複本」頁面上,選取新增 Replicat (加號圖示),然後依照下列方式完成表單:
-
在 Replicat 資訊頁面上:
-
在 Replicat 類型中,選取傳統 Replicat 。
-
針對程序名稱,輸入名稱,例如
REP
-
-
在「Replicat 選項」頁面上:
-
在複製追蹤名稱中,輸入兩個字元的名稱,例如
E1。 -
若為目標,請選取 Oracle Object Storage
-
-
在「參數檔」頁面上,以下列項目取代
MAP *.*, TARGET *.*;:MAP SRC_OCIGGLL.*, TARGET *.*; -
在「特性檔」頁面中,視需要設定「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:驗證複製
對 Oracle 執行處理的來源 Amazon RDS 執行一些更新,以驗證對 Oracle Object Storage 的複寫。
-
以
SRC_OCIGGLL使用者身分從 SQL Developer 連線至 Amazon RDS for Oracle 執行處理。 -
在工作表中輸入下列內容,然後選取執行命令檔。
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); -
在來源 GoldenGate OCI GoldenGate 部署主控台中,選取 Extract 名稱,然後選取統計資料。確認 SRC_OCIGGLL.SRC_CITY 有 10 個插入項目。
-
在目標 Big Data OCI GoldenGate 部署主控台中,選取 Replicat 名稱,然後選取統計資料。確認 SRC_OCIGGLL.SRC_CITY 有 10 個插入項目。