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

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: 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的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
3月前
|
运维 算法 数据可视化
【2021 高校大数据挑战赛-智能运维中的异常检测与趋势预测】2 方案设计与实现-Python
文章详细介绍了参加2021高校大数据挑战赛中智能运维异常检测与趋势预测任务的方案设计与Python实现,包括问题一的异常点和异常周期检测、问题二的异常预测多变量分类问题,以及问题三的多变量KPI指标预测问题的算法过程描述和代码实现。
75 0
|
21天前
|
机器学习/深度学习 人工智能 运维
智能运维:大数据与AI的融合之道###
【10月更文挑战第20天】 运维领域正经历一场静悄悄的变革,大数据与人工智能的深度融合正重塑着传统的运维模式。本文探讨了智能运维如何借助大数据分析和机器学习算法,实现从被动响应到主动预防的转变,提升系统稳定性和效率的同时,降低了运维成本。通过实例解析,揭示智能运维在现代IT架构中的核心价值,为读者提供一份关于未来运维趋势的深刻洞察。 ###
75 10
|
1月前
|
消息中间件 SQL 分布式计算
大数据-62 Kafka 高级特性 主题 kafka-topics相关操作参数 KafkaAdminClient 偏移量管理
大数据-62 Kafka 高级特性 主题 kafka-topics相关操作参数 KafkaAdminClient 偏移量管理
29 6
|
1月前
|
消息中间件 存储 负载均衡
大数据-60 Kafka 高级特性 消息消费01-消费组图例 心跳机制图例 附参数详解与建议值
大数据-60 Kafka 高级特性 消息消费01-消费组图例 心跳机制图例 附参数详解与建议值
47 3
|
1月前
|
存储 缓存 NoSQL
大数据-46 Redis 持久化 RDB AOF 配置参数 混合模式 具体原理 触发方式 优点与缺点
大数据-46 Redis 持久化 RDB AOF 配置参数 混合模式 具体原理 触发方式 优点与缺点
56 1
|
1月前
|
弹性计算 缓存 搜索推荐
大数据个性化推荐,AWS终端用户解决方案
大数据个性化推荐,AWS终端用户解决方案
|
4月前
|
数据采集 运维 Cloud Native
Flink+Paimon在阿里云大数据云原生运维数仓的实践
构建实时云原生运维数仓以提升大数据集群的运维能力,采用 Flink+Paimon 方案,解决资源审计、拓扑及趋势分析需求。
18507 54
Flink+Paimon在阿里云大数据云原生运维数仓的实践
|
3月前
|
消息中间件 算法 安全
操作系统处理多进程的问题及解决方案
【8月更文挑战第23天】
203 1
|
3月前
|
SQL 存储 分布式计算
"SQLTask携手Tunnel:打造高效海量数据导出解决方案,轻松应对大数据挑战
【8月更文挑战第22天】SQLTask搭配Tunnel实现高效海量数据导出。SQLTask擅长执行复杂查询,但直接导出受限(约1万条)。Tunnel专注数据传输,无大小限制。二者结合,先用SQLTask获取数据,再通过Tunnel高效导出至目标位置(如CSV、OSS等),适用于大数据场景,需配置节点及连接,示例代码展示全过程,满足企业级数据处理需求。
78 2
|
3月前
|
存储 运维 Cloud Native
"Flink+Paimon:阿里云大数据云原生运维数仓的创新实践,引领实时数据处理新纪元"
【8月更文挑战第2天】Flink+Paimon在阿里云大数据云原生运维数仓的实践
277 3