附註:

使用 Oracle Database 在 Oracle Cloud Infrastructure 的各個區域部署 Oracle GoldenGate Microservices

簡介

Oracle GoldenGate 微服務架構 (MA) 是一種複製工具,可讓您管理與設定多個資料庫環境間的資料複製。它使用 RESTful 服務和微服務型架構來簡化雲端部署的管理、組態和監控。

圖像

Oracle GoldenGate 23ai:

Oracle GoldenGate 23ai 評估歷史記錄

圖像

Oracle GoldenGate 23ai 特色

圖像

Oracle GoldenGate 導入

在本教學課程中,我們將使用來源和目標資料庫作為 Oracle Database 23ai 和 Oracle GoldenGate 23ai 微服務作為 OCI 中的服務,從來源資料庫 (DB) Ashburn 區域複製資料至目標資料庫 San Jose 區域。Oracle GoldenGate 可以部署在任一區域。我們將在聖荷西區域部署 Oracle GoldenGate,並使用相同的 Oracle GoldenGate 部署連線來源和目標資料庫。

圖像

注意:這是簡化的圖表。實際網路名稱可能不同。

環境:

OCI 區域 區間 VCN 子網路 CDB PDB Vault 索引鍵 Secrete Golden Gate
阿什本 資料庫 /NonProd VCN_ASH 出版品 /Pri_VCN_ASH VMDB1 VMDB1_PDB1 Vault_ASH
San Jose 資料庫 /NonProd VCN_SJ 出版品 /Pri_VCN_SJ VMDB2 VMDB2_GG Vault_SJ GGKey 蛋形管理 OGG_Dep_23ai

適用對象

本教學課程的對象是系統管理員和資料庫使用者,可瞭解 Oracle GoldenGate 微服務。假設讀者熟悉 Oracle GoldenGate 技術、Web 技術、OCI,以及對 UNIX 平台有一般的瞭解。

目標

必要條件

作業 1:佈建 Oracle GoldenGate 部署

若要在 OCI 中以服務方式佈建 Oracle GoldenGate 部署,將會建立部署和連線的使用者必須遵守最低原則。維護期間的其他作業是停止並開始部署。

需要下列原則:

allow group <identity-domain>/<group-name> to manage goldengate-family in compartment <compartment-name>
allow group <identity-domain>/<group-name> to manage virtual-network-family in compartment <compartment-name>
allow service goldengate to {idcs_user_viewer, domain_resources_viewer} in tenancy
allow group <identity-domain>/<group-name> to manage secret-family in <location>
allow group <identity-domain>/<group-name> to use keys in <location>
allow group <identity-domain>/<group-name> to use vaults in <location>
allow service goldengate to use keys in <location>
allow service goldengate to use vaults in <location>

若要佈建 Oracle GoldenGate 部署,請前往 OCI 主控台並選取個別的區域和區間。

  1. 按一下 Oracle Database ,然後選取 GoldenGate

  2. 選取部署,然後按一下建立部署

  3. 輸入部署的名稱,建立 Oracle GoldenGate 部署必須所在的區間,選取部署或測試,輸入 OCPU 數目。自現在起,我們已將自動調整設為停用,之後可以啟用。選取子網路授權類型,然後按一下下一步

    圖像

  4. 選取 Oracle GoldenGate 的部署類型版本GoldenGate 執行處理名稱,輸入管理員使用者名稱作為 oggadmin,然後在「先決條件」區段中提供建立加密密碼的區間名稱,從下拉式功能表中選取密碼加密密碼,然後按一下建立

    圖像

    建立 Oracle GoldenGate 部署需要幾分鐘的時間。將會在 (root)/Database/NonProd 區間底下建立 Oracle GoldenGate 部署。

工作 2:登入 Oracle GoldenGate 主控台

  1. Oracle GoldenGate 部署完成後,請開啟部署,然後按一下啟動主控台

    圖像

  2. 使用建立部署期間使用的 Oracle GoldenGate 部署使用者名稱密碼登入。(Ex.oggadmin/password)

    圖像

作業 3。準備來源與目標資料庫

注意:從 Oracle GoldenGate 23ai 開始,不支援根層次擷取。這表示僅在 PDB 層次指派使用者權限,而 c##ggadmin 使用者未與 Oracle GoldenGate 23ai 搭配使用。Oracle GoldenGate 23ai 和 Oracle Database 可讓來源和目標導入可插式資料庫 (PDB)。Extract 會針對特定 PDB 註冊,此 PDB 稱為每一 PDB 擷取。

  1. 確定已在來源資料庫啟用強制日誌記錄。

    select name, force_logging from v$database;
    ALTER DATABASE FORCE LOGGING;
    select name, force_logging from v$database;
    
  2. 啟用最低層次的補充日誌記錄。

    SELECT supplemental_log_data_min "Minimum", supplemental_log_data_pk  "Primary key", supplemental_log_data_ui  "Unique Key",
    supplemental_log_data_fk  "Foreign Key",supplemental_log_data_all "All" FROM  v$database;
    
    ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
    
    SELECT supplemental_log_data_min "Minimum", supplemental_log_data_pk  "Primary key", supplemental_log_data_ui  "Unique Key",
    supplemental_log_data_fk  "Foreign Key",supplemental_log_data_all "All" FROM  v$database;
    
  3. 變更 Oracle GoldenGate 擷取的參數。

    Show parameter enable_goldengate_replication
    show parameter streams_pool_size
    ALTER SYSTEM SET enable_goldengate_replication=TRUE SCOPE=BOTH;
    alter system set streams_pool_size=2G scope=both sid='*';
    Show parameter enable_goldengate_replication
    show parameter streams_pool_size
    
  4. 在來源資料庫 (PDB) 中執行下列查詢。

    alter session set container=VMDB1_PDB1;
    create tablespace ggs_tbs;
    create tablespace gguser_tbs;
    create user GGADMIN identified by PPassword_123 default tablespace ggs_tbs quota unlimited on ggs_tbs profile C##GGADMINPROFILE;
    
    GRANT CONNECT, RESOURCE TO GGADMIN;
    GRANT CREATE ANY TABLE, ALTER ANY TABLE, DROP ANY TABLE, SELECT ANY TO GGADMIN;
    GRANT OGG_CAPTURE TO GGADMIN;
    grant select any dictionary to GGUSER;
    grant select any transaction to GGUSER;
    
  5. 在目標資料庫 (PDB) 中執行下列查詢。

    alter session set container=VMDB1_GG;
    create tablespace ggs_tbs;
    create tablespace gguser_tbs;
    
    create user GGADMIN identified by PPassword_123 default tablespace ggs_tbs quota unlimited on ggs_tbs profile C##GGADMINPROFILE;
    
    GRANT CONNECT, RESOURCE TO GGADMIN;
    GRANT CREATE ANY TABLE, ALTER ANY TABLE, DROP ANY TABLE, SELECT ANY TO GGADMIN;
    GRANT OGG_APPLY, OGG_APPLY_PROCREP  TO GGADMIN;
    grant select any dictionary to GGUSER;
    grant select any transaction to GGUSER;
    

作業 4。建立來源與目標資料庫的連線

Oracle GoldenGate 部署和資料庫就緒之後,我們就需要在 Oracle GoldenGate 服務與資料庫之間建立連線。

  1. 登入 OCI 主控台,選取區域和區間。

  2. 按一下 Oracle Database ,然後選取 GoldenGate

  3. 選取連線,然後按一下建立連線

  4. 輸入連線的名稱、要建立連線的區間、資料庫的類型,然後按一下下一步

    圖像

  5. 若要建立與來源資料庫的連線,請輸入下列資訊,然後按一下建立

    • 選取輸入資料庫資訊,因為資料庫位於其他區域。
    • 資料庫連線字串:輸入 IP 作為主機名稱,因為主機名稱需要 DNS 才能解析它。
    • 資料庫使用者名稱:輸入在「工作 3」中建立的 GGADMIN
    • 資料庫使用者密碼:輸入資料庫使用者密碼。
    • 流量路由方法:選取專用端點
    • 階段作業模式:選取直接
    • 子網路公用:輸入 Subnet-VCN_SJ

    圖像

    (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.192)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = vmdb1_pdbsub02090909270.vcnash.oraclevcn.com)))
    

    建立連線之後,請在 GoldenGate 下開啟連線詳細資訊,按一下指派的部署指派部署

    圖像

  6. 與來源相同,建立目標資料庫的連線 OGG_VMDB2_SJ 並指派部署。只有 Oracle GoldenGate 和 Oracle Database 位於相同區域和 VCN 的差異,我們才能直接選取資料庫,如以下螢幕擷取畫面所示。

    圖像

    由於資料庫位於相同的區域,因此我們可以直接選取資料庫,並輸入在任務 3 中建立之 GGADMIN 的資料庫使用者名稱與密碼。

    圖像

  7. 驗證 Oracle GoldenGate 中的來源和目標連線。建立連線之後,請登入 Oracle GoldenGate 主控台。按一下資料庫連線,它會顯示所有連線。按一下來源與目標連線,並確定兩個連線都已解決。

    圖像

作業 5:擷取組態

  1. 新增異動資料。

    注意:請務必新增 TRANDATA 來啟用表格層次補充。如果綱要層次的補充日誌記錄已經啟用,您可以略過這些步驟。

    1. 若要新增 trandata,首先必須從「Oracle GoldenGate 主控台」連線至來源資料庫。按一下來源資料庫連線。

    2. 按一下 + ,選取表格綱要,然後輸入表格名稱綱要名稱

      若是表格層次複製,請選取表格,然後以 <Schema_Name.Table_Name> 格式輸入表格名稱。

    3. 如果表格沒有任何索引鍵,請選取所有資料欄,然後選取準備 CSN 模式作為現在

      圖像

    4. 新增交易資料後,您可以在搜尋列中提供表格或綱要名稱來進行搜尋,如下圖所示。

      圖像

  2. 建立整合式 Extract。

    1. 連線至 Oracle GoldenGate 主控台中的來源資料庫 (PDB) OGG_VMDB1_PDB1_ASH 連線,並建立 CheckPoint 表格

      圖像

    2. 連線至 Oracle GoldenGate 主控台中的來源資料庫 (PDB) OGG_VMDB1_PDB1_ASH 連線,並只針對目標資料庫建立活動訊號表格

      圖像

  3. 新增整合式 Extract。

    1. 順利新增 trandata 後,請為提及的表格或綱要新增 Integrated Extract。從 Oracle GoldenGate 導覽功能表中選取擷取。按一下擷取區段中的 +

    2. 選取整合式擷取,輸入程序名稱 (最多 8 個字元) 和說明

      圖像

    3. 從下拉式功能表、證明資料別名歷程檔加密設定檔等選取 OracleGoldenGate 作為來源證明資料網域

      圖像

    4. 受管理選項區段中,選取設定檔名稱自動重新啟動重試次數上限重試延遲分鐘數重試視窗,然後按下一步

      圖像

    5. 建立預設參數檔之後,視需要在參數檔中新增額外的必要參數,然後按一下建立

      圖像

      用於 DEV 擷取的參數。

      EXTRACT EX_VMDB1
      USERIDALIAS OGG_VMDB1_PDB1_ASH DOMAIN OracleGoldenGate
      EXTTRAIL et
      TABLE GG_ASH.*;
      
  4. 啟動 Integrated Extract。

    1. 擷取建立後,按一下開始

      圖像

      擷取執行成功後,會顯示為執行中狀態。

      圖像

    2. 展開擷取處理作業,它會顯示多個區段,例如「檢查點」、「統計資料」以及「報表」。目前您可以查看報表。按一下右邊的重新整理即可重新整理報表或統計資料。

      圖像

作業 6:初始資料載入

  1. 從來源 PDB 取得所提及綱要的 SCN 匯出傾印。

    $mkdir -p /u01/app/oracle/dump
    
    SQL>  alter session set container=VMDB1_PDB1;
    set lines 300 pages 100
    col DIRECTORY_NAME for a30
    col DIRECTORY_PATH for a100
    select DIRECTORY_NAME,DIRECTORY_PATH from dba_directories where DIRECTORY_NAME='DUMP' ;
    
    create directory dump as '/u01/app/oracle/dump';
    grant read,write on directory DUMP to GG_ASH;
    
    SQL> select current_scn from v$database;
    
    CURRENT_SCN
    -----------
       20049713
    
    expdp GG_ASH/PPassword_123@VMDB1_PDB1_ASH directory=dump dumpfile=GG_ASH.dmp logfile=GG_ASH.log schemas=GG_ASH FLASHBACK_SCN=20049713
    
  2. 匯入目標 PDB 中的資料。

    注意:在此教學課程中,我們已授與 DBA 存取 GG_ash,但您可以視需要授與存取權。

    $mkdir -p /u01/app/oracle/dump/
    SQL> alter session set container=VMDB2_GG1;
    SQL> create user GG_ash identified by PPassword_123 default tablespace ggs_tbs quota unlimited on ggs_tbs ;
    SQL> grant DBA to GG_ash;
    SQL> create directory dump as '/u01/app/oracle/dump';
    SQL> grant read,write on directory DUMP to GG_ASH;
    [oracle@sjvmdb2 admin]$ cp /tmp/GG_ASH.dmp /u01/app/oracle/dump/GG_ASH.dmp
    [oracle@sjvmdb2 admin]$ impdp GG_ASH/PPassword_123@VMDB2_GG1 directory=dump dumpfile=GG_ASH.dmp logfile=imp_GG_SJ.log
    

作業 7:Replicat 組態

  1. 建立整合的 Replicat。

    1. 若要新增交易資料,首先必須先從 Oracle Goldengate 主控台連線至來源資料庫。從左側窗格中選取複製,然後按一下複製中的 +

    2. 選取整合式 Replicat ,輸入 Replicat 名稱描述,然後按一下下一步

      圖像

    3. 輸入 Replicat Trail (與「擷取處理作業 - 工作 5」中的指定項目相同)、加密設定檔網域別名CheckPoint 表格 (在「擷取 - 工作 5」期間建立) 以及日誌位置

      圖像

    4. 受管理選項區段中,選取設定檔名稱自動重新啟動重試次數上限重試延遲重試視窗,然後按下一步

      圖像

    5. 建立預設參數檔之後。視需要在參數檔中新增其他必要參數,然後按一下建立

      圖像

  2. 從 flashback_SCN 啟動 Replicat。

    1. 建立 Replicat 處理作業之後,請按一下三個點並從選項開始

      圖像

    2. 選取起點作為 CSN 之後CSN 號碼,這是匯出時作為倒溯 SCN 所使用的 SCN 號碼。啟用篩選重複項目,然後按一下啟動

      圖像

    3. 按一下 Replicat ,它會顯示許多區段,例如「檢查點」、「統計資料」和「報表」。按一下右側的報表重新整理,以重新整理報表或統計資料。

      圖像

作業 8:驗證資料複製

  1. 設定 Extract 和 Replicat 之後,請登入「Oracle GoldenGate 主控台」,然後按一下本位目錄。您可以看到 Extract 和 Replicat 在執行中。

  2. 在來源資料庫 (PDB) 中插入一些資料,就應該反映在目標資料庫 (PDB) 中。

    圖像

  3. 連線至來源資料庫。

    圖像

  4. 連線到目標資料庫。

    圖像

認可

其他學習資源

探索 docs.oracle.com/learn 上的其他實驗室,或存取 Oracle Learning YouTube 頻道上的更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。

如需產品文件,請造訪 Oracle Help Center