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

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
日志服务 SLS,月写入数据量 50GB 1个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 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' &
AI 代码解读

exclude optype drop &

    objtype 'table' &
AI 代码解读

exclude objtype 'index' &

    objname t1.*_his &
AI 代码解读

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' &
AI 代码解读

exclude optype drop &

    objtype 'table' &
AI 代码解读

exclude objtype 'index' &

    objname t1.*_his &
AI 代码解读

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的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
打赏
0
0
0
0
137
分享
相关文章
AI大模型运维开发探索第四篇:智能体分阶段演进路线
本文探讨了智能体工程的演进历程,从最初的思维链(智能体1.0)到实例化智能体(智能体2.0),再到结构化智能体(智能体3.0),最终展望了自演进智能体(智能体4.0)。文章详细分析了各阶段遇到的问题及解决策略,如工具调用可靠性、推理能力提升等,并引入了大模型中间件的概念以优化业务平台与工具间的协调。此外,文中还提到了RunnableHub开源项目,为读者提供了实际落地的参考方案。通过不断迭代,智能体逐渐具备更强的适应性和解决问题的能力,展现了未来AI发展的潜力。
智能运维,由你定义:SAE自定义日志与监控解决方案
通过引入 Sidecar 容器的技术,SAE 为用户提供了更强大的自定义日志与监控解决方案,帮助用户轻松实现日志采集、监控指标收集等功能。未来,SAE 将会支持 istio 多租场景,帮助用户更高效地部署和管理服务网格。
idc机房智能运维解决方案
华汇数据中心一体化智能运维方案应运而生,以“自主可控、精准洞察、智能决策”三大核心能力,助力企业实现运维效率提升与综合成本下降的数字化转型目标。
90 24
智能运维,由你定义:SAE自定义日志与监控解决方案
SAE(Serverless应用引擎)是阿里云推出的全托管PaaS平台,致力于简化微服务应用开发与管理。为满足用户对可观测性和运维能力的更高需求,SAE引入Sidecar容器技术,实现日志采集、监控指标收集等功能扩展,且无需修改主应用代码。通过共享资源模式和独立资源模式,SAE平衡了资源灵活性与隔离性。同时,提供全链路运维能力,确保应用稳定性。未来,SAE将持续优化,支持更多场景,助力用户高效用云。
云栖实录 | 大模型在大数据智能运维的应用实践
云栖实录 | 大模型在大数据智能运维的应用实践
175 3
DataWorks产品评测:大数据开发治理的深度体验
DataWorks产品评测:大数据开发治理的深度体验
192 1
Prometheus+Grafana+NodeExporter:构建出色的Linux监控解决方案,让你的运维更轻松
本文介绍如何使用 Prometheus + Grafana + Node Exporter 搭建 Linux 主机监控系统。Prometheus 负责收集和存储指标数据,Grafana 用于可视化展示,Node Exporter 则采集主机的性能数据。通过 Docker 容器化部署,简化安装配置过程。完成安装后,配置 Prometheus 抓取节点数据,并在 Grafana 中添加数据源及导入仪表盘模板,实现对 Linux 主机的全面监控。整个过程简单易行,帮助运维人员轻松掌握系统状态。
496 3
智能化运维:AI与大数据在IT运维中的应用探索####
本文旨在探讨人工智能(AI)与大数据分析技术如何革新传统IT运维模式,提升运维效率与服务质量。通过具体案例分析,揭示AI算法在故障预测、异常检测及自动化修复等方面的实际应用成效,同时阐述大数据如何助力实现精准运维管理,降低运营成本,提升用户体验。文章还将简要讨论实施智能化运维面临的挑战与未来发展趋势,为IT管理者提供决策参考。 ####
云计算环境下的运维挑战与解决方案
本文探讨了云计算环境中运维面临的主要挑战,包括资源管理、自动化部署、安全性问题等,并提出了相应的解决策略。通过案例分析和最佳实践,为云环境下的运维工作提供了指导和参考。
195 1