GoldenGate Integrated Capture Mode介紹及配置方法

君落塵發表於2015-09-21
從Oracle Goldengate 11g版本開始,oracle引入了一種新的capture mode,稱為Integrated Capture Mode。傳統的capture mode被稱為classic capture mode。
在classic capture mode中,goldengate extract程式直接讀取oracle redo log,捕獲資料變化,存為Goldengate的trail file格式,然後利用pump程式將這些trail file傳輸到目標資料庫,目標資料庫上的replicat程式讀取這些trail file,再利用sql將這些變化apply到目標資料庫裡。
而在新的integrated capture mode中,goldengate extract程式不再直接讀取oracle redo log,而是透過與資料庫log mining server整合來捕獲資料變化:log mining server負責以LCR的格式從資料庫日誌中捕獲資料變化,然後extract程式再將這些抓取的資料存成trail file的格式。
與classic capture mode相比,這種integrated capture mode的主要差別就是extract不再直接讀取oracle redo log,而交由資料庫內部的log mining工具來完成。由於extract程式是由作業系統來管理的,身處資料庫系統之外,integrated capture mode的這種改變所帶來的主要好處體現在相容性方面:支援更多的資料型別和儲存型別,以及由於與資料庫更緊密的整合,不再需要為Oracle RAC,ASM和TDE作更多額外的配置工作。
integrated capture mode帶來的另一個重要變化就是:開始支援local和downstream兩種配置選項。而在classic capture mode中,我們只有local這一種選擇,也就是extract程式必須配置在源資料庫伺服器上。
這裡,我們先介紹integrated capture mode中local mining的配置。

Integrated Capture Mode下local mining的配置
環境:
database version:11.2.0.4
goldengate version: 12.1.2.0.0
OS version:Solaris 10 (on sparc 64 bit)

1.資料庫環境準備工作
為了配置integrated capture mode,資料庫最低版本必須是11.2.0.3.
此外,在不同的資料庫版本上安裝goldengate軟體時,我們還需要注意打上相應的補丁,具體參考metalink文件 1557031.1:Oracle GoldenGate -- Oracle RDBMS Server Recommended Patches.
在此測試中,我們的資料庫版本是11.2.0.4,所以根據文件 1557031.1的建議,我們需要打的補丁號為 17735009.

2.開啟minimal supplemental logging和force logging
--on source database only
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
ALTER DATABASE FORCE LOGGING;

3.Enable ENABLE_GOLDENGATE_REPLICATION引數
alter system set ENABLE_GOLDENGATE_REPLICATION=true scope=both;
從資料庫11.2.0.4版本開始,我們需要在source和target資料庫上同時enable該引數,這是oracle用來作license控制的.

4.建立goldengate管理使用者並授權
--on source and target database
create user ggs_owner identified by ggs_owner default tablespace users temporary tablespace temp;
grant connect, resource,dba to ggs_owner;
EXEC DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE( grantee => 'GGS_OWNER', privilege_type => 'CAPTURE', grant_select_privileges=> true, do_grants => TRUE);
關於goldengate管理使用者所需許可權的詳細描述,參考官方文件中<>一書的chapter 4.

5.Register Extract Process
GGSCI> DBLOGIN USERID ggs_owner PASSWORD ggs_owner
GGSCI> REGISTER EXTRACT ext01 DATABASE               --這裡是Enable integrated capture mode的關鍵步驟

6.Enable測試表的supplemental logging
GGSCI> DBLOGIN USERID ggs_owner PASSWORD ggs_owner
GGSCI> add trandata SCOTT.TEST

7.編輯source db server上的manager程式引數
GGSCI> edit params mgr
PORT 7809
USERID ggs_owner, PASSWORD ggs_owner
PURGEOLDEXTRACTS /app/oracle/ggs/dirdat/*,usecheckpoints, minkeepdays 3
AUTOSTART EXTRACT *

8.配置streams_pool_size引數
-- on source db
alter system set streams_pool_size=512MB scope=both;
--對streams記憶體調整的具體方法取決於資料庫的記憶體管理,以上僅供參考

9.建立extract程式
-- on source db
GGSCI> ADD EXTRACT ext01 INTEGRATED TRANLOG, BEGIN NOW
GGSCI> ADD EXTTRAIL /reuters/app/oracle/ggs/dirdat/e1, EXTRACT ext01

GGSCI> edit params ext01
EXTRACT ext01
USERID ggs_owner, PASSWORD ggs_owner
TRANLOGOPTIONS INTEGRATEDPARAMS (MAX_SGA_SIZE 100)
EXTTRAIL /app/oracle/ggs/dirdat/e1
TABLE SCOTT.TEST;

10.建立pump程式
-- on source db
GGSCI> ADD EXTRACT pump01 EXTTRAILSOURCE /app/oracle/ggs/dirdat/e1
GGSCI> ADD RMTTRAIL /app/oracle/ggs/dirdat/r1, EXTRACT pump01


GGSCI> edit params pump01
EXTRACT pump01
USERID ggs_owner, PASSWORD ggs_owner
RMTHOST 10.***, MGRPORT 7809
RMTTRAIL /app/oracle/ggs/dirdat/r1
TABLE SCOTT.TEST;

11.建立checkpoint表
--on target db
GGSCI>DBLOGIN USERID ggs_owner, PASSWORD ggs_owner
GGSCI>ADD CHECKPOINTTABLE GGS_OWNER.CHKPTAB

在Goldengate Home目錄下,編輯GLOBALS引數檔案來指定checkpoint表
vi GLOBALS
CHECKPOINTTABLE GGS_OWNER.CHKPTAB

12.編輯target db server上的manager程式引數
GGSCI> edit params mgr
PORT 7809
USERID ggs_owner, PASSWORD ggs_owner
PURGEOLDEXTRACTS /app/oracle/ggs/dirdat/*,usecheckpoints, minkeepdays 3
AUTOSTART REPLICAT *

13.建立replicat程式
--on target db
GGSCI> ADD REPLICAT rep01,EXTTRAIL /app/oracle/ggs/dirdat/r1
GGSCI> edit params rep01
replicat rep01
USERID ggs_owner, PASSWORD ggs_owner
Assumetargetdefs
DISCARDFILE /app/oracle/ggs/dirrpt/record01.dsc,APPEND,MEGABYTES 50
BATCHSQL
MAP SCOTT.TEST,TARGET SCOTT.TEST;

14.配置完成,啟動goldengate程式
-- on source db
GGSCI> start mgr
--on target db
GGSCI> start mgr


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29819001/viewspace-1805253/,如需轉載,請註明出處,否則將追究法律責任。

相關文章