GoldenGate Integrated Capture Mode介绍及配置方法

转自:http://blog.itpub.net/27243841/viewspace-1067942/

从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

你可能感兴趣的:(Oracle,Goldengate)