Oracle GoldenGate 安装配置windows32

Oracle GoldenGate 安装配置windows32

 

Oracle GoldenGate的工作原理和体系结构,在每个复制数据源和目标端都需要安装一套GoldenGate软件,同时需要分别启动一个 GoldenGate实例,一个GoldenGate实例就是一个管理进程(Manager process),这个管理进程也是整个GoldenGate实例运行时最主要的控制进程。

 

Oracle GoldenGate主要由如下一些组件组成:

   ● Extract ---提取

   ● Data pump  ---ORALCE数据库泵

   ● Replicat

   ● Trails or extract files

   ● Checkpoints

   ● Manager ----管理服务

   ● Collector

Data Pump是一个次级的Extract Group,如果你的GG环境中不使用Data Pump的话,那么Primary Extract Group必须直接将trail通过网络写到Target系统上。配置Data Pump实现一对多拓扑方案。

对于RAC环境,GoldenGate的相关软件和工作目录需要配置在shared disk环境中,从而保证对所有node都是可用的,从任何一个node都可以启动GoldenGate的进程,当其中一个node出现异常时,可以在剩余的node启动而无须修改任何配置参数.否则如果运行在单个node上的话,需要将剩余node中的归档日志通过一定的技术共享出来并加载到 GoldenGate运行节点.

GG中的相关进程

⊙Extract (source database)

⊙Replicat (target database)

⊙Manager (source database, if using DDL support)

⊙DEFGEN (source or target database)

对于Source Oracle Database要求

Ø  数据库处于归档模式下

Ø  打开补充日志

打开force logging

 

 

 

GGSCI提示符下运行create subdirs

 

在配置GoldenGate环境时,刚开始的时候,我们总是需要先初始化把Source Database中需要复制的表的数据先load到目标库中,除非Source Database是一个新建的库或需要复制的对象中还没有任何数据。

 

环境:同一个数据库下的两个用户user_s,user_t,把S下的表,同步到T下面

 

源数据库用户USER_S下,新建一个表TEST_01,并事先插入一些数据

create table test_01 (id number ,name varchar2(100))

 

目标数据库USER_T下,新建一个表TEST_01,作为目标表,这个表不需要插入数据;

在源数据上配置管理进程MGR

   在目标数据库上配置管理进程MGR

sourcetarget端检查管理进程是否启动

 

 

 

 

dblogin userid user_s,password user_s

 

 

在源数据库上增加需要传输的用户表

 

add trandata user_s.test_01

 

info trandata user_s.*

 

 

 

在源数据库上配置extract进程 Eora01

add extract eora01,sourceistable

 

 

info extract *, tasks

 

 

edit params eora01

 

extract eora01

userid user_s, password user_s

rmthost 192.168.1.100, mgrport 7809

rmttask replicat, group rora01

table user_s.*;

 

 

 

在目标数据库上配置replicat进程 Rora01

ADD REPLICAT Rora01, SPECIALRUN

 

 

INFO REPLICAT *, TASKS

 

 

EDIT PARAMS Rora01

 

REPLICAT Rora01

ASSUMETARGETDEFS

USERID user_t, PASSWORD "user_t"

DISCARDFILE ./dirrpt/Rora01.dsc, PURGE

MAP user_s.*, TARGET user_t.*;

 

在源数据库上执行初始化过程

 

 

 

 

 

在源数据上查看是否有报错

 

 

 

 

 

 

 

 

 

 

在目标数据上查看是否有报错

 

 

 

 

 

 

 

源数据库的修改实时同步到目标数据库

1、在源数据上配置extract捕获进程 EXT01

----捕获进程EXT01配置参数文件

>EDIT PARAMS EXT01

EXTRACT EXT01

USERID user_s,  password user_s

EXTTRAIL ./dirdat/wm

--DDL

TABLE user_s.*;

 

---添加捕获进程EXT01

>ADD EXTRACT EXT01, TRANLOG, BEGIN NOW

 

 (direct load方式:ADD EXTRACT EXT01, SOURCEISTABLE)

---添加队列文件,并将该队列文件指定给相应的捕获进程

>ADD EXTTRAIL ./dirdat/wm, EXTRACT EXT01, MEGABYTES 5

 

 

INFO EXTRACT EXT01, DETAIL

 

 

 

 

2、在源数据上配置pump传输进程 PUMP01

---传输进程PUMP01配置参数文件

>EDIT PARAMS PUMP01

EXTRACT PUMP01

PASSTHRU

RMTHOST 192.168.1.100,  MGRPORT 7809

RMTTRAIL ./dirdat/wm

TABLE user_s.*;

---添加传输进程PUMP01,并指明它的源数据是刚才建立的队列文件./dirdat/et

>ADD EXTRACT PUMP01, EXTTRAILSOURCE ./dirdat/wm

 

----创建远程队列文件,并将其指定给传输进程PUMP01

>ADD RMTTRAIL ./dirdat/wm, EXTRACT PUMP01, MEGABYTES 5

 

3、在源数据库上启动data pump capture process

        注意:在启动传输进程前,必须确保目标端的manager进程已经启动,否则会启动失败

>START EXTRACT EXT01

>START EXTRACT PUMP01

>INFO ALL

 

 

 

 

 

5、在目标数据库的全局文件中添加checkpoint表,用来实现一致性的

>EDIT PARAMS ./GLOBALS

CHECKPOINTTABLE user_t.GGS_CHECKPOINT

注意:要退出GGSCI命令行,再进入GGSCI命令行,使得全局文件生效。

 

 

6、目标数据库配置replicat进程 REP01

---配置复制进程REP01参数文件

>EDIT PARAMS REP01

REPLICAT REP01

USERID  user_t,  PASSWORD user_t

HANDLECOLLISIONS

ASSUMETARGETDEFS

DISCARDFILE ./dirrpt/REP01.dsc, PURGE

MAP user_s.*, TARGET user_t.*;

 

---增加复制进程REP01,并指定存放的队列文件,CHECKPOINTTABLE实现一致性。

DBLOGIN USERID  user_t, PASSWORD  user_t

DBLOGIN USERID  user_t, PASSWORD  user_t

Successfully logged into database.

 

>ADD CHECKPOINTTABLE

 

 

>ADD REPLICAT REP01, EXTTRAIL ./dirdat/wm

 

 

---启动目标数据库的复制进程

>START REPLICAT REP01

GGSCI (target) 5> START REPLICAT REP01

 

 

 

 

结束了。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值