附註:
- 此教學課程需要存取 Oracle Cloud。若要註冊免費帳戶,請參閱 Oracle Cloud Infrastructure Free Tier 入門。
- 它使用 Oracle Cloud Infrastructure 證明資料、租用戶及區間的範例值。完成實驗室時,請將這些值取代為您雲端環境特定的值。
使用 Oracle Database 在 Oracle Cloud Infrastructure 的各個區域部署 Oracle GoldenGate Microservices
簡介
Oracle GoldenGate 微服務架構 (MA) 是一種複製工具,可讓您管理與設定多個資料庫環境間的資料複製。它使用 RESTful
服務和微服務型架構來簡化雲端部署的管理、組態和監控。
Oracle GoldenGate 23ai:
- 可在 Oracle Cloud Infrastructure (OCI) 中作為完全託管的雲端服務使用。
- 包括微服務高可用性、改善的可觀察性,以及對 Oracle Database 23ai 的支援等功能。
- 可用於各種使用案例,包括跨區域和跨雲端高可用性、資料移轉,以及各種資料庫的資料分析,例如 Oracle、MySQL、MS SQL、PostgreSQL 和 Microsoft Azure、Amazon Relational Database Service (RDS) 等。
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 部署連線來源和目標資料庫。
注意:這是簡化的圖表。實際網路名稱可能不同。
環境:
- 來源資料庫:
Oracle 23ai DBCS
- 目標資料庫:
Oracle 23ai DBCS
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 平台有一般的瞭解。
目標
- 使用 Oracle Database 23ai 在 OCI 的不同區域部署及設定 Oracle GoldenGate 23ai 微服務。
必要條件
-
訂閱 OCI 租用戶:
- 登入 OCI 主控台。
- 按一下我的公司和 OCI 租用戶。
- 按一下新增 OCI 租用戶。
- 輸入必要資訊。
- 按一下儲存。
-
訂閱 OCI 區域: OCI 區域是包含一或多個資料中心的本地化地理區域,稱為可用性網域。區域獨立於其他區域,而廣大的距離可以將其分開 (跨國家或大陸)。
- 登入 OCI 主控台,然後按一下治理與管理。
- 選取區域管理。
- 訂閱選取的區域。
注意:在此教學課程中,我們將使用 Ashburn 與 San Jose 之間的跨區域資料複寫。
-
佈建租用戶的區間: OCI 中的區間是一個邏輯容器,可組織及控制對雲端資源的存取。區間是 OCI 的基本元件,可用來隔離資源、測量用量和計費、控制存取及組織資源。
- 移至 OCI 主控台並選取個別的區域。
- 按一下識別與安全。
- 在識別底下,選取區間並建立區間。
注意:在此教學課程中,我們已在阿什本和聖荷西區域的根 / 資料庫區間底下建立一個 NonProd 區間。
-
建立 VCN 和子網路:VCN 是您在 OCI 區域中設定的可自訂軟體定義網路。與傳統的資料中心網路一樣,虛擬雲端網路 (VCN) 可讓您控制網路環境。VCN 可以有多個非重疊的 CIDR 區塊,您可以在建立 VCN 之後變更。您可以將 VCN 區隔成子網路,此子網路可以設定區域範圍或可用性網域。每個子網路都是由連續的位址範圍組成,這些位址不會與 VCN 中的其他子網路重疊。您可以在建立子網路後變更其大小。子網路可以是公用或專用。
若要建立 VCN,請前往 OCI 主控台並選取個別的區域。
- 按一下網路和虛擬雲端網路。
- 選取要在其中建立 VCN 的區間。
- 按一下建立 VCN 。
注意:在本教學課程中,我們已在阿什本和聖荷西地區建立 VCN
VCN_ASH
和VCN_SJ
。雖然我們可以在不同的區間中建立 VCN,但網路和資料庫使用相同的區間 (資料庫 /NonProd)。為了避免網路重疊,我們跨區域使用不同的 CIDR 區塊。
IPv4 CIDR 區塊:
VCN_SJ: 192.168.0.0/16
VCN_ASH: 10.0.0.0/16
若要建立 VCN 子網路,請前往 OCI 主控台並選取個別的區域。
- 按一下網路和虛擬雲端網路。
- 選取您已建立 VCN 的區間。
- 選取 VCN。
- 按一下建立子網路。
我們已在兩個區域的相同區間底下建立公用和專用子網路。
-
公用子網路:
VCN_SJ: 192.168.0.0/24
-
專用子網路:
VCN_SJ: 192.168.0/24
和
-
公用子網路 - VCN_ash:
10.0.0.0/24
-
private subnet-VCN_ash:
10.0.0/24
-
佈建來源與目標資料庫:
注意:在本教學課程中,我們已在
VMDB1_ash
和VMDB2_sj
的不同區域中建立 Oracle Base Database System (DBCS - 23ai)。若要佈建資料庫,請前往 OCI 主控台並選取個別的區域。
- 按一下 Oracle Database 和 Oracle Base Database Services 。
- 選取建立資料庫系統。
- 輸入區間、名稱、資源配置、大小、VCN 、子網路、DB_NAME 、 PDB 等等。
- 建立資料庫系統。
如需詳細資訊,請參閱啟動設定基準資料庫。
-
建立保存庫以儲存加密密碼: OCI GoldenGate 會將密碼以加密密碼形式儲存在使用主要加密金鑰加密的保存庫中。保存庫、主要加密金鑰以及加密密碼都是在安全區間中建立。
注意:在此教學課程中,我們在個別區域中使用了
Vault_SJ
和Vault_ASH
。若要在保存庫中建立加密密碼,請前往 OCI 主控台並選取個別的區域。
- 按一下識別與安全和保存庫。
- 選取要在其中建立保存庫的區間。
- 輸入保存庫名稱並建立保存庫。
-
建立主要加密金鑰: OCI 中的主要加密金鑰 (MEK) 是加密系統中其他金鑰的金鑰。您可以在 OCI 中使用 MEK 進行各種用途,包括保護 Oracle Autonomous Database 中的資料、加密 Oracle GoldenGate 中的歷程檔,以及將金鑰儲存在 Oracle Cloud Infrastructure Vault 中。
注意:在本教學課程中,我們在聖荷西區域使用 (GGKey) 來儲存 ggadmin 證明資料。
若要建立加密金鑰,請前往 OCI 主控台並選取個別的區域。
- 按一下識別與安全和保存庫。
- 選取建立保存庫的區間。
- 選取要建立金鑰的保存庫。
- 在資源底下,按一下主要加密金鑰和建立金鑰。
-
建立加密密碼:加密密碼為用於連線至 OCI 服務和系統的證明資料,例如密碼、憑證、SSH 金鑰以及認證權杖。加密密碼最好儲存在 OCI 保存庫中,這是 OCI 加密密碼管理的子元件。將加密密碼儲存在 Vault 中會比將它們儲存在程式碼或規劃檔案中更安全。
若要在保存庫中建立加密密碼,請前往 OCI 主控台並選取個別的區域。
- 按一下識別與安全和保存庫。
- 選取已建立的區間保存庫。
- 選取要在其中建立加密密碼的保存庫。
- 在資源底下,按一下加密密碼和建立加密密碼。
-
遠端 VCN 對等互連: OCI 中的 VCN 對等互連是連接多個虛擬雲端網路 (VCN) 的流程,因此資源可以使用專用 IP 位址相互通訊。這可讓資源與在相同網路中的通訊方式進行。遠端 VCN 對等互連可連接不同區域中的兩個 VCN。
針對遠端對等互連,請依照下列步驟進行:
-
在兩個區域中建立動態路由閘道 (DRG)。請前往網路、動態路由閘道,並建立 DRG 作為
DRG_SJ
和DRG_ASH
。 -
在兩個區域中連附 VCN 的 DRG。選取 VCN 、DRG 連附項,然後建立 DRG 連附項。
-
在這兩個區域中建立遠端對等互連連線 (RPC)。選取 DRG,在資源底下,按一下遠端對等互連連線,然後以
RPC_ASH
和RPC_SJ
身分建立遠端對等互連連線。 -
建立 VCN 之間的連線。依序選取
DRG_SJ
、遠端對等互連連線連附項、遠端對等互連連線 (RPC_SJ) 、建立連線、區域,以及複製其他 VCN 的 OCID 並建立連線。您現在可以看到遠端對等互連連線狀態為已對等互連。 -
新增
VCN_SJ
和VCN_ASH
的輸入規則。依序選取 VCN 、安全清單、預設安全清單,然後按一下新增傳入規則。- 來源
CIDR=0.0.0.0/0
。 - IP 協定:
All Protocol
。
- 來源
驗證 VCN 遠端對等互連:
Telnet the Private IP address of DB hosts in the Ashburn and San Jose region. [oracle@ashvmdb1 ~]$ curl -sv telnet://192.168.0.202:1521 * Rebuilt URL to: telnet://192.168.0.202:1521/ * Trying 192.168.0.20.. * TCP_NODELAY set * Connected to 192.168.0.202 (192.168.0.202) port 1521 (#0) [oracle@sjvmdb2 ~]$ curl -sv telnet://10.0.0.192:1521 * Rebuilt URL to: telnet://10.0.0.192:1521/ * Trying 10.0.0.19.. * TCP_NODELAY set * Connected to 10.0.0.192 (10.0.0.192) port 1521 (#0)
如需詳細資訊,請參閱透過已升級的 DRG 進行遠端 VCN 對等互連。
-
作業 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 主控台並選取個別的區域和區間。
-
按一下 Oracle Database ,然後選取 GoldenGate 。
-
選取部署,然後按一下建立部署。
-
輸入部署的名稱,建立 Oracle GoldenGate 部署必須所在的區間,選取部署或測試,輸入 OCPU 數目。自現在起,我們已將自動調整設為停用,之後可以啟用。選取子網路、授權類型,然後按一下下一步。
-
選取 Oracle GoldenGate 的部署類型、版本和 GoldenGate 執行處理名稱,輸入管理員使用者名稱作為
oggadmin
,然後在「先決條件」區段中提供建立加密密碼的區間名稱,從下拉式功能表中選取密碼加密密碼,然後按一下建立。建立 Oracle GoldenGate 部署需要幾分鐘的時間。將會在
(root)/Database/NonProd
區間底下建立 Oracle GoldenGate 部署。
工作 2:登入 Oracle GoldenGate 主控台
-
Oracle GoldenGate 部署完成後,請開啟部署,然後按一下啟動主控台。
-
使用建立部署期間使用的 Oracle GoldenGate 部署使用者名稱和密碼登入。(Ex.oggadmin/password)
-
Goldengate 主控台看起來如下。
作業 3。準備來源與目標資料庫
注意:從 Oracle GoldenGate 23ai 開始,不支援根層次擷取。這表示僅在 PDB 層次指派使用者權限,而 c##ggadmin 使用者未與 Oracle GoldenGate 23ai 搭配使用。Oracle GoldenGate 23ai 和 Oracle Database 可讓來源和目標導入可插式資料庫 (PDB)。Extract 會針對特定 PDB 註冊,此 PDB 稱為每一 PDB 擷取。
-
確定已在來源資料庫啟用強制日誌記錄。
select name, force_logging from v$database; ALTER DATABASE FORCE LOGGING; select name, force_logging from v$database;
-
啟用最低層次的補充日誌記錄。
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;
-
變更 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
-
在來源資料庫 (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;
-
在目標資料庫 (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 服務與資料庫之間建立連線。
-
登入 OCI 主控台,選取區域和區間。
-
按一下 Oracle Database ,然後選取 GoldenGate 。
-
選取連線,然後按一下建立連線。
-
輸入連線的名稱、要建立連線的區間、資料庫的類型,然後按一下下一步。
-
若要建立與來源資料庫的連線,請輸入下列資訊,然後按一下建立。
- 選取輸入資料庫資訊,因為資料庫位於其他區域。
- 資料庫連線字串:輸入 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 下開啟連線詳細資訊,按一下指派的部署和指派部署。
-
與來源相同,建立目標資料庫的連線
OGG_VMDB2_SJ
並指派部署。只有 Oracle GoldenGate 和 Oracle Database 位於相同區域和 VCN 的差異,我們才能直接選取資料庫,如以下螢幕擷取畫面所示。由於資料庫位於相同的區域,因此我們可以直接選取資料庫,並輸入在任務 3 中建立之 GGADMIN 的資料庫使用者名稱與密碼。
-
驗證 Oracle GoldenGate 中的來源和目標連線。建立連線之後,請登入 Oracle GoldenGate 主控台。按一下資料庫連線,它會顯示所有連線。按一下來源與目標連線,並確定兩個連線都已解決。
作業 5:擷取組態
-
新增異動資料。
注意:請務必新增
TRANDATA
來啟用表格層次補充。如果綱要層次的補充日誌記錄已經啟用,您可以略過這些步驟。-
若要新增 trandata,首先必須從「Oracle GoldenGate 主控台」連線至來源資料庫。按一下來源資料庫連線。
-
按一下 + ,選取表格或綱要,然後輸入表格名稱或綱要名稱。
若是表格層次複製,請選取表格,然後以
<Schema_Name.Table_Name>
格式輸入表格名稱。 -
如果表格沒有任何索引鍵,請選取所有資料欄,然後選取準備 CSN 模式作為現在。
-
新增交易資料後,您可以在搜尋列中提供表格或綱要名稱來進行搜尋,如下圖所示。
-
-
建立整合式 Extract。
-
連線至 Oracle GoldenGate 主控台中的來源資料庫 (PDB)
OGG_VMDB1_PDB1_ASH
連線,並建立 CheckPoint 表格。 -
連線至 Oracle GoldenGate 主控台中的來源資料庫 (PDB)
OGG_VMDB1_PDB1_ASH
連線,並只針對目標資料庫建立活動訊號表格。
-
-
新增整合式 Extract。
-
順利新增 trandata 後,請為提及的表格或綱要新增 Integrated Extract。從 Oracle GoldenGate 導覽功能表中選取擷取。按一下擷取區段中的 + 。
-
選取整合式擷取,輸入程序名稱 (最多 8 個字元) 和說明。
-
從下拉式功能表、證明資料別名、歷程檔、加密設定檔等選取 OracleGoldenGate 作為來源證明資料網域。
-
在受管理選項區段中,選取設定檔名稱、自動重新啟動、重試次數上限、重試延遲分鐘數、重試視窗,然後按下一步。
-
建立預設參數檔之後,視需要在參數檔中新增額外的必要參數,然後按一下建立。
用於 DEV 擷取的參數。
EXTRACT EX_VMDB1 USERIDALIAS OGG_VMDB1_PDB1_ASH DOMAIN OracleGoldenGate EXTTRAIL et TABLE GG_ASH.*;
-
-
啟動 Integrated Extract。
-
擷取建立後,按一下開始。
擷取執行成功後,會顯示為執行中狀態。
-
展開擷取處理作業,它會顯示多個區段,例如「檢查點」、「統計資料」以及「報表」。目前您可以查看報表。按一下右邊的重新整理即可重新整理報表或統計資料。
-
作業 6:初始資料載入
-
從來源 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
-
匯入目標 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 組態
-
建立整合的 Replicat。
-
若要新增交易資料,首先必須先從 Oracle Goldengate 主控台連線至來源資料庫。從左側窗格中選取複製,然後按一下複製中的 + 。
-
選取整合式 Replicat ,輸入 Replicat 名稱、描述,然後按一下下一步。
-
輸入 Replicat Trail (與「擷取處理作業 - 工作 5」中的指定項目相同)、加密設定檔、網域、別名、CheckPoint 表格 (在「擷取 - 工作 5」期間建立) 以及日誌位置。
-
在受管理選項區段中,選取設定檔名稱、自動重新啟動、重試次數上限、重試延遲、重試視窗,然後按下一步。
-
建立預設參數檔之後。視需要在參數檔中新增其他必要參數,然後按一下建立。
-
-
從 flashback_SCN 啟動 Replicat。
-
建立 Replicat 處理作業之後,請按一下三個點並從選項開始。
-
選取起點作為 CSN 之後和 CSN 號碼,這是匯出時作為倒溯 SCN 所使用的 SCN 號碼。啟用篩選重複項目,然後按一下啟動。
-
按一下 Replicat ,它會顯示許多區段,例如「檢查點」、「統計資料」和「報表」。按一下右側的報表與重新整理,以重新整理報表或統計資料。
-
作業 8:驗證資料複製
-
設定 Extract 和 Replicat 之後,請登入「Oracle GoldenGate 主控台」,然後按一下本位目錄。您可以看到 Extract 和 Replicat 在執行中。
-
在來源資料庫 (PDB) 中插入一些資料,就應該反映在目標資料庫 (PDB) 中。
-
連線至來源資料庫。
-
連線到目標資料庫。
相關連結
認可
- 作者 - Dharmesh Patel (Oracle 北美洲雲端服務首席雲端架構師 - NACIE)
其他學習資源
探索 docs.oracle.com/learn 上的其他實驗室,或存取 Oracle Learning YouTube 頻道上的更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。
如需產品文件,請造訪 Oracle Help Center 。
Deploy Oracle GoldenGate Microservices Across Regions in Oracle Cloud Infrastructure using Oracle Database
G17464-01
October 2024