MGR进程参数
| 参数 | 说明 |
|---|---|
| PORT | 指定服务监听端口,默认端口为7809 |
| DYNAMICPORTLIST | 动态端口,当指定端口不可用时,MGR进程会从动态端口中选择一个可用端口 |
| COMMENT | 注释行,等价于– |
| AUTOSTART | MGR进程启动时自动启动指定进程 |
| AUTORESTART | 自动重启进程。例如:AUTORESTART EXTRACT,RETRIES 5,WAITMINUTES 3表示当EXTRACT进程异常时,每三分钟尝试重启所有EXTRACT进程,尝试五次 |
| PURGEOLDEXTRACTS | 定期清理指定目录下的trail文件,例如:PURGEOLDEXTRACTS ./dirdat/,usecheckpoints,minkeepdays 3 表示对超过三天的trail文件进行清理 |
| LAGREPORT / LAGINFO / LAGCRITICAL | 设置延迟告警阀值,例如:LAGREPORTHOURS 1 LAGINFOMINUTES 30 LAGCRITICALMINUTES 60表示每小时进行一次延迟检查,延迟超过30分钟则以普通信息输出到错误日志文件中,如果超过60分钟则以警告的形式记录到错误日志中 |
| CHECKMINUTES | 定义MGR检查和告警的频率 |
EXTRACT进程参数
| 参数 | 说明 |
|---|---|
| SETENV | 设置环境变量,例如设置ORACLE_SID:SETENV(ORACLE_SID=“source”) |
| USERID/PASSWORD | 指定连接数据库的用户名和密码 |
| TABLE | 指定同步表,以分号分割。可以设置为单表也可以通过’schema.*‘指定schema下的所有表。同时可以结合FETCHCOLS指定需要的列 |
| TABLEEXCLUDE | 指定需要排除的同步表 |
| GETUPDATEAFTERS / IGNOREUPDATEAFTERS | 是否写入更新后的镜像,默认复制 |
| GETUPDATEBEFORES / INGOREUPDATEBEFORES | 是否写入更新前的镜像,默认不复制 |
| GETUPDATES / INGOREUPDATES | 是否复制UPDATE,默认复制 |
| GETDELETES / INGOREDELETES | 是否复制DELETE,默认复制 |
| GETINSERTS / INGOREINSERTS | 是否复制INSERT,默认复制 |
| GETTRUNCATES / INGORETRUNCATES | 是否复制TRUNCATE,默认不复制 |
| RMTHOST,MGRPORT | 指定目标端IP以及MGR进程端口,例如 RMTHOST 10.0.10.110,MGRPORT 780 |
| RMTTRAIL | 目标端存放trail文件的路径 |
| EXTTRAIL | 本地存放trail文件的路径 |
| SQLEXEC | 在EXTRACT进程运行前先指定特定SQL |
| PASSTHRU | 禁止EXTRACT进程与数据库交互,但源端与目标端objects必须一致 |
| REPORT | 定义自动定时报告 |
| STATOPTIONS | 定义stat统计时是否需要重置 |
| REPORTCOUNT | 报告已处理的记录数 |
| TLTRACE | 打开对于数据库日志的跟踪日志 |
| DISCARDFILE | 指定discardfile文件位置,将错误信息输出到此文件,通常放在dirrpt目录下 |
| DBOPTIONS | 针对数据库的特殊参数 |
| TRANLOGOPTIONS | 针对事务日志的特定参数,例如在配置双向同步时指定TRANLOGOPTIONS EXCLUDEUSER OGG 过滤OGG用户提交的事务 |
| WARNLONGTRANS | 将长事务告警写入错误日志,例如:warnlongtrans 4h,checkinterval 10m 表示10分钟检查一次,超过四小时的长事务记录到错误日志中 |
replicat进程参数
| 参数 | 说明 |
| ASSUMETARGETDEFS | 表示源端与目标端数据结构一致 |
| SOURCEDEFS | 两端数据结构不一致时,指定源数据结构,配置defgen文件使用,一般用于异构数据库同步 |
| MAP,TARGET | 表示源端与目标端数据结构一致 |
| ASSUMETARGETDEFS | 指定源端与目标端同步表的映射关系,例如:MAP TEST01.TAB1,TARGET TEST02.TAB2.
另外还支持定义过滤条件的参数结合使用,例如FILTER,WHERE,KEYCOLS,COLMAP FILTER: 常用在使用Data Pump方式新增同步表时指定单表的起始SCN,例如:filter ( @getenv('TRANSACTION', 'CSN') > 9490772077906); WHERE: 与FILTER不同的地方是FILTER只用于比较NUMBER类型,而WHERE则支持其它类型,例如:where (info_status = "9" ); KEYCOLS: 当同步表不存在主键或唯一键时,同步可能会遇到OGG-00869的错误,这时可以通过KEYCOLS指定一个或多个字段作为主键 COLMAP: 用于列映射,通常用于字段名不同,转换,插入常量等情况。例如:COLMAP(USEDEFAULTS,ID1=ID2,TIME=@DATENNOW());USEDEFAULTS表示字段名相同的自动匹配 |
| MAPEXCLUDE | 排除指定表 |
| REPERROR | 定义进程碰到错误时的处理方式,一般分为两种方式:ABEND和DISCARD。ABEND表示停止复制,DISCARD表示继续复制并把错误记录到DISCARD文件中,默认为ABEND |
| DISCARDFILE | 指定DISCARDFILE文件的位置,将错误信息输出到此文件,通常放在dirrpt目录下 |
| SQLEXEC | 在Replicat进程运行前先执行特定SQL |
| GROUPTRANSOPS | 把小事务合并成大事务进行提交,减少提交次数 |
| MAXTRANSOPS | 拆分大事务,指定多少条记录提交一次 |