【大数据开发运维解决方案】ogg(GoldenGate)三大进程常用参数

简介: PORT 7809管理进程的监听端口,默认使7809,当7809不可用时会从DYNAMICPORTLIST定义的列表中选择一个可用的端口,主要用于本地goldengate进程之间的通信DYNAMICPORTLIST 7810-7860动态端口,可以指定最大256个可用端口列表,用于主端和备端的进程通信,当目标端有防火墙设置时或者主端的投递进程传送数据要经过防火墙(就是主端有防火墙设置时)才能到达备端时,需要在网络上开通指定的端口。源端和目标段的Collector、Replicat、GGSCI进程通信也会使用这些端口,指定足够的端口去容纳进程数的扩张,这样就不需要停止和重启管理器进程

============================================1、管理进程
oggCI (ogg1) 22> edit params mgr
PORT 7809
DYNAMICPORTLIST 7810-7860
AUTORESTART ER *, RETRIES 3, WAITMINUTES 5
PURGEOLDEXTRACTS ./dirdat/pd*, USECHECKPOINTS, MINKEEPDAYS 30
lagreporthours 1
laginfominutes 30
lagcriticalminutes 60

参数说明:
PORT 7809
管理进程的监听端口,默认使7809,当7809不可用时会从DYNAMICPORTLIST定义的列表中选择一个可用的端口,主要用于本地goldengate进程之间的通信
DYNAMICPORTLIST 7810-7860
动态端口,可以指定最大256个可用端口列表,用于主端和备端的进程通信,当目标端有防火墙设置时或者主端的投递进程传送数据要经过防火墙(就是主端有防火墙设置时)才能到达备端时,需要在网络上开通指定的端口。源端和目标段的Collector、Replicat、GGSCI进程通信也会使用这些端口,指定足够的端口去容纳进程数的扩张,这样就不需要停止和重启管理器进程
AUTORESTART ER *, RETRIES 3, WAITMINUTES 5
AUTORESTART 自动启动所有的进程,包含所有的抓取进程和投递进程
RETRIES 3, WAITMINUTES 5 自动重启参数设置,本处设置表示每3分钟对所有失败的EXTRACT进程尝试重新启动,共尝试5次
PURGEOLDEXTRACTS ./dirdat/pd*, USECHECKPOINTS, MINKEEPDAYS 30
定期清理trail文件设置,本处设置表示对于超过30天的trail文件进行删除
lagreporthours 1
laginfominutes 30
lagcriticalminutes 60
定义数据延迟的预警机制,本处设置表示MGR进程每隔1小时检查EXTRACT的延迟情况,如果超过了30分钟就把延迟作为信息记录到错误日志中,如果延迟超过了60分钟,则把它作为警告写到错误日志中

============================================2、抽取进程配置

GGSCI (m25) 1> edit params e_prd

extract e_prd
setenv(NLS_LANG="AMERICAN_AMERICA.UTF8")
setenv(ORACLE_SID="prd")
userid ogg@PRD,password ogg0826
reportcount every 10 minutes,rate
numfiles 5000
discardfile ./dirrpt/e_prd.dsc,append,megabytes 1000
warnlongtrans 2h,checkinterval 3m
exttrail ./dirdat/pd
threadoptions maxcommitpropagationdelay 60000
dboptions allowunusedcolumn
tranlogoptions archivedlogonly
tranlogoptions altarchivelogdest primary /oracle/PP2/oraarch
tranlogoptions altarchivedlogformat %t_%s_%r.dbf
dynamicresolution
ddl include mapped
notcpsourcetimer
nocompressupdates
fetchoptions nousesnapshot
----------T_MIDDECLAREPREMIUM
table T1.T_MIDDECLAREPREMIUM,tokens(
TKN-CSN = @GETENV("TRANSACTION", "CSN"),
TKN-COMMIT-TS = @GETENV ("GGHEADER", "COMMITTIMESTAMP"),
TKN-OP-TYPE = @GETENV ("GGHEADER", "OPTYPE")
);

参数说明:
extract e_prd
抓取进程的名称
setenv(NLS_LANG="AMERICAN_AMERICA.UTF8")
指定ogg进程执行环境的字符集,与数据库字符集保持一致
setenv(ORACLE_SID="prd")
数据库实例名
userid ogg@PRD,password ogg0826
ogg管理员的账户和密码
reportcount every 10 minutes,rate
报告自extract启动以来处理的记录条数统计数字,记录的数字打印到屏幕或者报告文件内
numfiles 5000
控制OGG给多少张TABLE和MAP进行初始化的内存分配,并且此参数必须在TABLE、MAP、SOURCEDEFS、TARGETDEFS之前生效,默认值1000 ,最大值2百万,我们这里配置了5000,就是最多处理5000张表
discardfile ./dirrpt/e_prd.dsc,append,megabytes 1000
定义discardfile文件位置,文件路径必须为相对路径,如果处理中有记录出错会写入到此文件中,记录模式为追加,文件最大设置为1G
warnlongtrans 2h,checkinterval 3m
每隔3分钟检查一下长交易,如果有超过2个小时的长交易,GoldenGate会在根目录下的ggserr.log里面加入一条告警信息。可以通过察看ggserr.log或者在ggsci中执行view ggsevt命令查看这些告警信息。此配置可以有助于及时发现长交易并予以处理
exttrail ./dirdat/pd
定义抓取进程trail文件存放路径
threadoptions maxcommitpropagationdelay 60000
特定参数,在rac环境下需要配置,非rac环境下不需要配置。RAC集群中的所有节点必须同步系统时钟,GoldenGate通过比较本地系统的时间和事务提交的时间点来做出关键决策
dboptions allowunusedcolumn
在生产端库表中存在unused列时,需要配置该参数
tranlogoptions archivedlogonly
抓取进程使用ALO(Archived Log Only)模式,只抓取归档日志,不抓取redo日志
tranlogoptions altarchivelogdest primary /oracle/PP2/oraarch
指定dg库归档日志日志路径
tranlogoptions altarchivedlogformat %t_%s_%r.dbf
指定归档日志格式
dynamicresolution
抓取进程开启之前将需要同步的表建立一个记录并且存入到磁盘中,这样就需要耗费大量的时间。使用该参数来解决此问题
ddl include mapped
配置ddl映射访问,mapped 值映射我们下面配置的table里的表
notcpsourcetimer
EXTRACT使用TCPSOURCETIMER参数时,数据传递到目标端,会调整数据库记录的时间戳,这个时候GETENV("GGHEADER","COMMITTIMESTAMP")得到的时间戳既不是源端数据提交时间,也不是目标端的提交时间,使用NOTCPSOURCETIMER时,反应出事物在源端的提交时间,但是时间戳的精度只到秒
nocompressupdates
目标端有update set a=1 where a=1;这种操作,extract就要配置NOCOMPRESSUPDATES
fetchoptions nousesnapshot
抽取进程从源表中获取所需的数据,而不是从闪回日志种获取,默认值是usesnapshot从闪回日志中获取
table T1.T_MIDDECLAREPREMIUM,tokens(
TKN-CSN = @GETENV("TRANSACTION", "CSN"),
TKN-COMMIT-TS = @GETENV ("GGHEADER", "COMMITTIMESTAMP"),
TKN-OP-TYPE = @GETENV ("GGHEADER", "OPTYPE")
);
抓取进程抓取哪些表
TKN-CSN 源端事物操作的scn号
TKN-COMMIT-TS 源端事物的提交时间
TKN-OP-TYPE 源端实物的操作类型

===========================================3、添加抽取进程
add extract e_prd,tranlog,begin now
添加抽取进程,指定进程名称,从源端数据库的事务日志中抽取变化中抽取数据变化,命令结束后开始抽取
add exttrail ./dirdat/pd,extract e_prd,megabytes 500
添加trail文件,指定trail文件的相对路径,trail文件进程归属,文件最大大小为500M

===========================================4、投递进程配置
GGSCI (m25) 3> edit params d_prd

extract d_prd
rmthost 10.1.197.242(更换为新地址),mgrport 7809,compress
userid ogg@PRD,password ogg0826
passthru
numfiles 50000
rmttrail ./dirdat/pd
dynamicresolution
table t1.*;

参数说明:
extract d_prd
定义投递进程名称
rmthost 10.1.197.242(更换为新地址),mgrport 7809,compress
灾备端主机IP,管理进程端口号,投递前压缩队列文件
userid ogg@PRD,password ogg0826
ogg管理账户密码
passthru
投递进程数据投递模式有的两种选择: PASSTHRU(直通模式)、NOPASSTHRU(普通模式),默认是普通模式。
PASSTHRU: 不与数据库交互,前提是源库与目标库objects必须一致
没有指定PASSTHRU,就必须要有数据库连接信息:userid ogg@ORACSOGG,password ogg
numfiles 50000
最多处理5000张表
rmttrail ./dirdat/pd
灾备端保存队列文件的目录
dynamicresolution
动态解析表名
table t1.*;
要投递的表清单
===========================================5、添加投递进程
add extract d_prd,exttrailsource ./dirdat/pd
添加投递进程,指定进程名称,数据源为trail文,trail文件的相对路径
add rmttrail ./dirdat/pd,extract d_prd,megabytes 500
添加远程投递trail文件,指定远程投递trail文件的相对路径,文件归属,文件最大大小为500M

===========================================6、应用进程配置
GGSCI (m25) 1> edit params r_prd

replicat r_prd
setenv(NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK")
userid ogg,password ogg
reportcount every 30 minutes,rate
reperror default,abend
numfiles 50000
checkpointsecs 40
assumetargetdefs
discardfile ./dirrpt/r_prd.dsc,append,megabytes 1000
allownoopupdates
ddl &
include mapped &
exclude objname t1.*_audit &
exclude optype create &

    objtype 'table' &

exclude optype drop &

    objtype 'table' &

exclude objtype 'index' &

    objname t1.*_his &

exclude instr 'constraint' &
exclude instr 'null' &
exclude instr 'trigger' &
exclude instr 'rename to' &
exclude instr 'grant' &
exclude instr 'revoke' &
exclude instr 'analyze'
ddloptions report
allowduptargetmap
----------T_MIDDECLAREPREMIUM
getinserts
getupdates
getdeletes
noupdatedeletes
map T1.T_MIDDECLAREPREMIUM,target T1.T_MIDDECLAREPREMIUM;
updatedeletes
map T1.T_MIDDECLAREPREMIUM,target T1.T_MIDDECLAREPREMIUM_HIS,keycols(SERIALNO);
getinserts
ignoreupdates
ignoredeletes
map T1.T_MIDDECLAREPREMIUM,target T1.T_MIDDECLAREPREMIUM_AUDIT,keycols(SERIALNO),colmap(
usedefaults,
csn=@token("TKN-CSN"),
optime=@token("TKN-COMMIT-TS"),
optype=@token("TKN-OP-TYPE"),
inserttime=@token("TKN-COMMIT-TS"),
curdate=@DATENOW()
);
ignoreinserts
getupdates
getdeletes
map T1.T_MIDDECLAREPREMIUM,target T1.T_MIDDECLAREPREMIUM_AUDIT,keycols(SERIALNO),colmap(
usedefaults,
csn=@token("TKN-CSN"),
optime=@token("TKN-COMMIT-TS"),
optype=@token("TKN-OP-TYPE"),
curdate=@DATENOW()
);

参数说明:
replicat r_prd
定义应用进程名称
setenv(NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK")
指定ogg进程执行环境的字符集,与数据库字符集保持一致
userid ogg,password ogg
ogg库管理员账户密码
reportcount every 30 minutes,rate
报告自replicat启动以来处理的记录条数统计数字,记录的数字打印到屏幕或者报告文件内
reperror default,abend
定义出错以后进程的响应,一般可以定义为两种:
ABEND,即一旦出现错误即停止复制,此为缺省配置;
DISCARD,出现错误后继续复制,只是把错误的数据放到discard文件中
numfiles 50000
最多处理5000张表
checkpointsecs 40
将写检查点的时间设置为40秒,默认为10秒,调节这两个参数可能会使数据复制的延迟相应增大若干秒
assumetargetdefs
当源表和目标表结构一样时,使用此参数,此参数告知ogg不要从源表定义的结构文件中查询表结构,如果源表和目标表结构不一样时,用SOURCEDEFS替换ASSUMETARGETDEFS
discardfile ./dirrpt/r_prd.dsc,append,megabytes 1000
定义discardfile文件位置,文件路径必须为相对路径,如果处理中有记录出错会写入到此文件中,记录模式为追加,文件最大设置为1G
allownoopupdates
用来处理“没有操作的操作”,例如:源表 set x=a where x=a
ddl &
include mapped &
exclude objname t1.*_audit &
exclude optype create &

    objtype 'table' &

exclude optype drop &

    objtype 'table' &

exclude objtype 'index' &

    objname t1.*_his &

exclude instr 'constraint' &
exclude instr 'null' &
exclude instr 'trigger' &
exclude instr 'rename to' &
exclude instr 'grant' &
exclude instr 'revoke' &
exclude instr 'analyze'
ddl应用范围和过滤条件
ddloptions report
ddl操作打印到进程报告里
allowduptargetmap
表和目标表表结构可映射多次,如果不指明ALLOWDUPTARGETMAP,默认表结构映射只使用第1个colmap,后面会忽略掉
getinserts
getupdates
getdeletes
哪些操作类型数据会被应用,我们insert update和delete都要
noupdatedeletes
不对delete操作进行转换为update
map T1.T_MIDDECLAREPREMIUM,target T1.T_MIDDECLAREPREMIUM;
配置源表目标表映射关系
updatedeletes
对delete操作转换为update
map T1.T_MIDDECLAREPREMIUM,target T1.T_MIDDECLAREPREMIUM_HIS,keycols(SERIALNO);
getinserts
ignoreupdates
ignoredeletes
map T1.T_MIDDECLAREPREMIUM,target T1.T_MIDDECLAREPREMIUM_AUDIT,keycols(SERIALNO),colmap(
usedefaults,
csn=@token("TKN-CSN"),
optime=@token("TKN-COMMIT-TS"),
optype=@token("TKN-OP-TYPE"),
inserttime=@token("TKN-COMMIT-TS"),
curdate=@DATENOW()
);
ignoreinserts
getupdates
getdeletes
map T1.T_MIDDECLAREPREMIUM,target T1.T_MIDDECLAREPREMIUM_AUDIT,keycols(SERIALNO),colmap(
usedefaults,
csn=@token("TKN-CSN"),
optime=@token("TKN-COMMIT-TS"),
optype=@token("TKN-OP-TYPE"),
curdate=@DATENOW()
);
===========================================7、添加应用进程
add replicat r_prd,exttrail ./dirdat/pd checkpointtable ogg.ckpt
添加应用进程,指定应用进程名称,trail文件路径,检查点表

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
运维 监控 关系型数据库
AI 时代的 MySQL 数据库运维解决方案
本文探讨了大模型与MySQL数据库运维结合所带来的变革,介绍了构建结构化运维知识库、选择合适的大模型、设计Prompt调用策略、开发MCP Server以及建立监控优化闭环等关键步骤。通过将自然语言处理能力与数据库运维相结合,实现了故障智能诊断、SQL自动优化等功能,显著提升了MySQL运维效率和准确性。
1050 18
|
12月前
|
人工智能 运维 监控
智能运维与数据治理:基于 Apache Doris 的 Data Agent 解决方案
本文基于 Apache Doris 数据运维治理 Agent 展开讨论,如何让 AI 成为 Doris 数据运维工程师和数据治理专家的智能助手,并在某些场景下实现对人工操作的全面替代。这种变革不仅仅是技术层面的进步,更是数据运维治理思维方式的根本性转变:从“被动响应”到“主动预防”,从“人工判断”到“智能决策”,从“孤立处理”到“协同治理”。
1787 11
智能运维与数据治理:基于 Apache Doris 的 Data Agent 解决方案
|
运维 监控 关系型数据库
AI 时代的 MySQL 数据库运维解决方案
本方案将大模型与MySQL运维深度融合,构建智能诊断、SQL优化与知识更新的自动化系统。通过知识库建设、大模型调用策略、MCP Server开发及监控闭环设计,全面提升数据库运维效率与准确性,实现从人工经验到智能决策的跃迁。
1259 27
|
消息中间件 运维 监控
智能运维,由你定义:SAE自定义日志与监控解决方案
通过引入 Sidecar 容器的技术,SAE 为用户提供了更强大的自定义日志与监控解决方案,帮助用户轻松实现日志采集、监控指标收集等功能。未来,SAE 将会支持 istio 多租场景,帮助用户更高效地部署和管理服务网格。
765 51
|
存储 人工智能 运维
idc机房智能运维解决方案
华汇数据中心一体化智能运维方案应运而生,以“自主可控、精准洞察、智能决策”三大核心能力,助力企业实现运维效率提升与综合成本下降的数字化转型目标。
1019 24
|
弹性计算 运维 监控
基于进程热点分析与系统资源优化的智能运维实践
智能服务器管理平台提供直观的可视化界面,助力高效操作系统管理。核心功能包括运维监控、智能助手和扩展插件管理,支持系统健康监控、故障诊断等,确保集群稳定运行。首次使用需激活服务并安装管控组件。平台还提供进程热点追踪、性能观测与优化建议,帮助开发人员快速识别和解决性能瓶颈。定期分析和多维度监控可提前预警潜在问题,保障系统长期稳定运行。
677 17
|
消息中间件 运维 监控
智能运维,由你定义:SAE自定义日志与监控解决方案
SAE(Serverless应用引擎)是阿里云推出的全托管PaaS平台,致力于简化微服务应用开发与管理。为满足用户对可观测性和运维能力的更高需求,SAE引入Sidecar容器技术,实现日志采集、监控指标收集等功能扩展,且无需修改主应用代码。通过共享资源模式和独立资源模式,SAE平衡了资源灵活性与隔离性。同时,提供全链路运维能力,确保应用稳定性。未来,SAE将持续优化,支持更多场景,助力用户高效用云。
|
Linux 数据库 Perl
【YashanDB 知识库】如何避免 yasdb 进程被 Linux OOM Killer 杀掉
本文来自YashanDB官网,探讨Linux系统中OOM Killer对数据库服务器的影响及解决方法。当内存接近耗尽时,OOM Killer会杀死占用最多内存的进程,这可能导致数据库主进程被误杀。为避免此问题,可采取两种方法:一是在OS层面关闭OOM Killer,通过修改`/etc/sysctl.conf`文件并重启生效;二是豁免数据库进程,由数据库实例用户借助`sudo`权限调整`oom_score_adj`值。这些措施有助于保护数据库进程免受系统内存管理机制的影响。
|
Linux Shell
Linux 进程前台后台切换与作业控制
进程前台/后台切换及作业控制简介: 在 Shell 中,启动的程序默认为前台进程,会占用终端直到执行完毕。例如,执行 `./shella.sh` 时,终端会被占用。为避免不便,可将命令放到后台运行,如 `./shella.sh &`,此时终端命令行立即返回,可继续输入其他命令。 常用作业控制命令: - `fg %1`:将后台作业切换到前台。 - `Ctrl + Z`:暂停前台作业并放到后台。 - `bg %1`:让暂停的后台作业继续执行。 - `kill %1`:终止后台作业。 优先级调整:
1659 5

热门文章

最新文章