GoldenGate Integrated Capture Mode介紹及配置方法
從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
在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管理使用者所需許可權的詳細描述,參考官方文件中<
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Goldengate Replicate Mode介紹Go
- IPTABLES 配置方法介紹(轉)
- OSPF介紹及基礎配置
- OGG Integrated Mode(downstream方式)環境搭建
- Lombok介紹及使用方法Lombok
- Apply Mode in GoldengateAPPGo
- Rsync原理介紹及配置應用
- Lombok介紹,使用方法及原理Lombok
- Ldd命令介紹及使用方法
- mybatis原理,配置介紹及原始碼分析MyBatis原始碼
- oracle goldengate 相關概念介紹OracleGo
- writing-mode屬性用法介紹
- tcpdump抓包及tshark解包方法介紹TCP
- GoldenGate 12.3 MA架構介紹系列(4)–Restful API介紹Go架構RESTAPI
- vue 腳手架 配置 及檔案介紹Vue
- Oracle 優化引數 optimizer_mode 介紹Oracle優化
- Ubuntu系統下配置IP地址方法介紹Ubuntu
- GoldenGate 12.3 MA架構介紹系列(3) - 各功能模組介紹Go架構
- 達夢資料庫SQL跟蹤日誌詳細介紹及配置方法資料庫SQL
- 前端跨域有哪些種方法及介紹?前端跨域
- ArrayList相關方法介紹及原始碼分析原始碼
- Cookie介紹及JavaScript操作Cookie方法詳解CookieJavaScript
- JB的git之旅-git介紹及GitHub配置教程Github
- Oracle 最佳化引數 optimizer_mode 介紹Oracle
- 三大主流前端框架介紹及選型方法前端框架
- vue 腳手架 配置 及檔案介紹 2.0 版本Vue
- GoldenGate for Java Adapter介紹一(原理篇)GoJavaAPT
- GoldenGate for Java adapter介紹二(程式碼篇)GoJavaAPT
- Lombok介紹和配置Lombok
- Mock方法介紹Mock
- vagrant介紹及使用
- win7配置IPV6方法介紹Win7
- linux 檔案屬性介紹及改變方法Linux
- PHP魔術方法和魔術常量介紹及使用PHP
- css中em與px的介紹及換算方法CSS
- SPF 記錄:原理、語法及配置方法簡介
- goldengate 故障及解決方法彙總Go
- Nginx 安裝配置介紹Nginx