Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1025278
  • 博文数量: 171
  • 博客积分: 55
  • 博客等级: 民兵
  • 技术积分: 2077
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-04 10:11
个人简介

pugna

文章分类

全部博文(171)

文章存档

2021年(4)

2020年(1)

2019年(4)

2018年(5)

2017年(7)

2016年(9)

2015年(36)

2014年(8)

2013年(96)

2012年(1)

分类: Oracle

2015-05-17 23:15:10

从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

http://blog.itpub.net/27243841/viewspace-1067942/
阅读(1897) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~