OGG_GoldenGate复杂参数定义(案例)
2014-03-10 Created By BaoXinjian
一、摘要
1. Manger参数
2. Extract / Pump参数
3. Replicat参数
4. GLOBAL参数
二、Manger参数
1. MANAGER常用参数
(1). PORT
指定服务监听端口,这里以7839为例,默认端口为7809
(2). DYNAMICPORTLIST
动态端口,可以制定最大256个可用端口的动态列表,当指定的端口不可用时,管理进程将会从列表中选择一个可用的端口,源端和目标段的Collector、Replicat、GGSCI进程通信也会使用这些端口;
(3). COMMENT
注释行,也可以用--来代替;
(4). AUTOSTART
指定在管理进程启动时自动启动哪些进程;
(5). AUTORESTART
自动重启参数设置,本处设置表示每3分钟尝试重新启动所有EXTRACT进程,共尝试5次;
(6). PURGEOLDEXTRACTS
定期清理trail文件设置,本处设置表示对于超过3天的trail文件进行删除。
(7). LAGREPORT、LAGINFO、LAGCRITICAL
定义数据延迟的预警机制,本处设置表示MGR进程每隔1小时检查EXTRACT的延迟情况,如果超过了30分钟就把延迟作为信息记录到错误日志中,如果延迟超过了45分钟,则把它作为警告写到错误日志中。
2. 参数案例
PORT 7839
DYNAMICPORTLIST 7840-7939
--AUTOSTART ER *
AUTORESTART EXTRACT *,RETRIES5,WAITMINUTES 3
PURGEOLDEXTRACTS./dirdat/*,usecheckpoints, minkeepdays 3
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45
三、Extract / Pump参数
1. Extrarct / Pump 常用参数
(1). SETENV
配置系统环境变量
(2). USERID/ PASSWORD
指定OGG连接数据库的用户名和密码,这里使用3.4部分中创建的数据库用户OGG;
(3). COMMENT
注释行,也可以用--来代替;
(4). TABLE
定义需复制的表,后面需以;结尾
(5). TABLEEXCLUDE
定义需要排除的表,如果在TABLE参数中使用了通配符,可以使用该参数指定排除掉得表。
(6). GETUPDATEAFTERS|IGNOREUPDATEAFTERS
是否在队列中写入后影像,缺省复制
(7). GETUPDATEBEFORES| IGNOREUPDATEBEFORES
是否在队列中写入前影像,缺省不复制
(8). GETUPDATES|IGNOREUPDATES
是否复制UPDATE操作,缺省复制
(9). GETDELETES|IGNOREDELETES
是否复制DELETE操作,缺省复制
(10). GETINSERTS|IGNOREINSERTS
是否复制INSERT操作,缺省复制
(11). GETTRUNCATES|IGNORETRUNDATES
是否复制TRUNCATE操作,缺省不复制;
(12). RMTHOST
指定目标系统及其GoldengateManager进程的端口号,还用于定义是否使用压缩进行传输,本例中的compress为压缩传输;
(13). RMTTRAIL
指定写入到目标断的哪个队列;
(14). EXTTRAIL
指定写入到本地的哪个队列;
(15). SQLEXEC
在extract进程运行时首先运行一个SQL语句;
(16). PASSTHRU
禁止extract进程与数据库交互,适用于Data Pump传输进程;
(17). REPORT
定义自动定时报告;
(18). STATOPTIONS
定义每次使用stat时统计数字是否需要重置;
(19). REPORTCOUNT
报告已经处理的记录条数统计数字;
(20). TLTRACE
打开对于数据库日志的跟踪日志;
(21). DISCARDFILE
定义discardfile文件位置,如果处理中油记录出错会写入到此文件中;
(22). DBOPTIONS
指定对于某种特定数据库所需要的特殊参数;
(23). TRANLOGOPTIONS
指定在解析数据库日志时所需要的特殊参数,例如:对于裸设备,可能需要加入以下参数rawdeviceoggset 0
(24). WARNLONGTRANS
指定对于超过一定时间的长交易可以在gsserr.log里面写入警告信息,本处配置为每隔3分钟检查一次场交易,对于超过2小时的进行警告;
2. Extract参数案例
EXTRACTextnd
setenv(NLS_LANG = "AMERICAN_AMERICA.UTF8")
SETENV(ORACLE_HOME = "/u01/oracle/oracle/product/10.2.0/db_1")
SETENV(ORACLE_SID = "ndtest")
USERID ogg, PASSWORD oracle
--GETTRUNCATES
REPORTCOUNTEVERY 1 MINUTES, RATE
DISCARDFILE./dirrpt/extnd.dsc,APPEND,MEGABYTES 1024
--THREADOPTIONS MAXCOMMITPROPAGATIONDELAY 60000 IOLATENS60000
DBOPTIONS ALLOWUNUSEDCOLUMN
WARNLONGTRANS2h,CHECKINTERVAL 3m
EXTTRAIL./dirdat/nd
--TRANLOGOPTIONSEXCLUDEUSER USERNAME
FETCHOPTIONSNOUSESNAPSHOT
TRANLOGOPTIONS CONVERTUCS2CLOBS
TABLEolive.ol$_objects
3. Pump参数案例
EXTRACTdpend
SETENV(NLS_LANG = "AMERICAN_AMERICA.UTF8")
USERID ogg, PASSWORD oracle
PASSTHRU
RMTHOST10.122.0.113, MGRPORT 7839, compress
RMTTRAILF:\ogg\dirdat\nd
TABLEolive.ol$_objects;
五、Replicat参数
1. 参数常用
(1). ASSUMETARGETDEFS
假定两端数据结构一致使用此参数;
(2). SOURCEDEFS
假定两端数据结构不一致,使用此参数指定源端的数据结构定义文件,该文件需要由GlodenGate工具产生。
(3). MAP
用于指定源端与目标端表的映射关系;
(4). MAPEXCLUDE
用于使用在MAP中使用*匹配时排除掉指定的表;
(5). REPERROR
定义出错以后进程的响应,一般可以定义为两种:
(6). ABEND
即一旦出现错误即停止复制,此为缺省配置;
(7). DISCARD
出现错误后继续复制,只是把错误的数据放到discard文件中。
(8). DISCARDFILE
定义discardfile文件位置,如果处理中油记录出错会写入到此文件中;
(9). SQLEXEC
在进程运行时首先运行一个SQL语句;
(10). GROUPTRANSOPS
将小交易合并成一个大的交易进行提交,减少提交次数,降低系统IO消耗;
(11). MAXTRANSOPS
将大交易拆分,每XX条记录提交一次;
2. 参数案例
六、GLOBAL参数
1. 参数常用
2. 参数案例
七、总结
1. 常用命令
(1). edit params命令
(2). DBLOGIN USERID <user>, PASSWORD <password>
(3). ADD TRANDATA命令
(4). ADD EXTRACT 命令
(5). ADD EXTTRAIL命令
(6). EXTFILESOURCE <file name>意思
(7). ADD RMTTRAIL命令
(8). ADD REPLICAT命令
(9). PURGEOLDEXTRACTS
(10). AUTOSTART参数
(11). DYNAMICRESOLUTION
(12). SOURCEDB
(13). PASSTHRU
(14). ASSUMETARGETDEFS
(15). REPERROR
(16). 使用通配符
Thanks and Regards
技术交流,技术讨论,欢迎加入
Technology Blog Created By Oracle ERP - 鲍新建