Oracle Golden Gate 单向DML数据复制配置

一、环境信息:

源;

系统:windows server 2012

数据库:oracle 11g 11.2.0.1.0

OGG:oracle goldengate 11.1.1.1.0

目标:

系统:windows server 2012

数据库:oracle 11g 11.2.0.1.0

OGG:oracle goldengate 11.1.1.1.0


备注:也是为了方便所以选择了相同的环境进行测试,但是在我自己感觉来言的话,只要ogg的版本尽量保持在一致的情况下比较稳妥,若无法保证可以向下继承着走(我也是第一次进行ogg的实验)


二、goldengate须了解的4个必要交互进程

源DB:

  1. Manager进程:GoldenGate的控制进程,负责启动,监控和管理其他进程
  2. Extract进程:抽取进程,负责从源数据库中捕获修改的数据,然后保存为本地的tail文件
  3. Pump进程:传输进程,负责从本地tial文件中传输到目标数据库上

目标DB:

  1. Manager进程:同样需要配置一个 Manager进程
  2. Replicat进程:应用进程,负责把解析传输过来的tail文件,把修改应用到本地数据库里面

三、goldengate配置流程

一)配置数据源/目标库(使用源和目标)

1.开启归档日志(若DB非归档日志模式,需使用sqlplus执行以下代码开启日志)

	SQL> archive log list

	SQL> shutdown immediate

	SQL> startup mount

	SQL> alter database archivelog;

	SQL> alter database open

2.开启最小附加日志(补充日志)

	SQL>select supplemental_log_data_min from v$database;	//若为NO,则执行如下代码

	SQL>alter database add supplemental log data;	//打开附加日志

	SQL〉ALTERSYSTEM ARCHIVE LOG CURRENT;	//切换日志以使附加日志生效

3.创建数据源/目标库用户(为了简化我直接授权了dba权限)

	SQL>create user ogg identified by ogg; 

	SQL>grant dba to ogg;

备注:若需要详细的用户权限配置请看本文最下方

二)下载配置goldengate(适用源和目标)

1.下载

可以从http://edelivery.oracle.com/网站下载
需注册和登录
选择Oracle Fusion Middleware程序包和对应平台
点击Oracle GoldenGate on Oracle Media Pack for 对应平台
点击相应的操作系统版本及类型旁边的下载链接即可开始下载
根据平台不同其安装介质一般为zip或gz文件
2.软件安装基本配置
1.为goldengate创建子目录
打开goldengate目录,运行ggsci,执行以下代码:
			GGSCI>create subdirs  //执行完成后,会为ogg子目录创建若干子目录
备注:详细了解子目录作用请看本文最下方
3.配置MGR(Manager)进程
1.为mgr进程配置参数
		GGSCI>edit param mgr
2.这里会打开一个窗口,在其中输入以下内容然后保存退出
		PORT 7809
		DYNAMICPORTLIST 7810-7820	
		AUTORESTART ER *, RETRIES 4, WAITMINUTES 4
3.启动mgr进程
		GGSCI>start mgr
备注:详细各个进程参数详解看本文最下方
4.为需要同步的表添加表级附加日志(适用源端)
1.进入ggsci,执行一下代码登录DBuser
		GGSCI> dblogin userid ogg,password ogg
2.登录成功后执行以下代码
		Ggsci>add trandata myschema.mytable1
备注:myschema是你需要同步的用户名,mytable1是你需要同步的表,如果是全部可以使用*通配符来代替。


三)配置源端 Extract(抽取)和Pump(传输)进程(适用源端)
1.添加Extract进程
1)创建名字为:extest的抽取进程配置文件
			GGSCI> edit params extest
2)在打开文件中添加以下代码并保存退出
			extract extest
			userid ogg,password ogg
			exttrail D:\OGG\dirdat\et //这个是源端本地存放tail文件的位置()
			dynamicresolution
			table  ogg.* ; //通配符意思是ogg下的所有表,所有的都是一个道理
3)添加Extract进程
			GGSCI>add extract  extest,tranlog,begin now
4)添加本地tail文件
			GGSCI>add exttrail D:\OGG\dirdat\et, extract  extest
5)启动Extract进程
			GGSCI>start extest
2.添加Pump进程
1)创建名字为:dupump的传输进程配置文件
			GGSCI>edit params dpump
2)在打开文件中添加以下代码并保存退出
			extract dpump
			passthru
			userid ogg,password ogg
			rmthost 192.168.7.234,mgrport 7809,compress //目标IP和ogg端口
			rmttrail E:\ogg\dirdat\et	//目标端保存tail文件的位置
			table ogg.* ;
3)添加本地PUMP进程tail路径(源tail的路径↓↓↓)注意该路径与上面配置文件中tail路径一致
			GGSCI>add extract dpump, exttrailsource D:\ogg\dirdat\et
4)添加远程PUMP进程保存tail路径(目标tail保存的路径)
			GGSCI>add rmttrail  D:\ogg\dirdat\et ,extract dpump
5)启动PUMP进程
			GGSCI>start dpump
四)配置目标端检查点与Replicat应用进程(适用目标端)
首先就是创建dba的用户这个上面有就不说了,在来就是开启附加日志和归档日志,然后就可以看下面咯!
1.添加检查点(用于从异常场景中恢复数据)
	GGSCI>edit params ./GLOBALS
2.在打开文件中添加以下代码,然后保存退出
	checkpointtable ogg.checkpoint
3.在目标数据库中添加检查点
	GGSCI>dblogin userid ogg,password ogg
	GGSCI>add checkpointtable ggs.checkpoint
4. 配置目标数据库的Manager进程
这个就不多说了,上面都有,这个进程是每个ogg实例必须有的进程来监控其他进程用的
5.配置目标数据库的replicat进程(适用目标端)
1)
创建Replicat进程
	GGSCI> add replicat repl,exttrail D:\gg\dirdat\et ,checkpointtable ogg.checkpoint
注意:该地址应为trail文件的地址
2) 创建名字为:repl的Replicat进程的参数文件
	GGSCI> edit params  repl
3) 在打开的文件里添加以下内容,保存后退出即可
	replicat repl
	userid ggs,password ggs
	assumetargetdefs
	reperror default,discard
	discardfile D:\gg\dirrpt\repl.dsc,append,megabytes 50
	dynamicresolution
	MAP ogg.*,TARGET ogg.* ;
4) 启动replicat进程
	GGSCI>start repl


这样配置的话简单的单向DML操作数据同步就完成了,下面可以测试一下了!

测试环节:
1.首先在源端和目标端使用“info all”查询所有进程是否为开启状态
2.在源端插入数据
3.使用stats 进程名查询操作日志,抽取、传输、应用都是1那就是OK了。
4.就可以去你的表中查询数据了




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值