资讯专栏INFORMATION COLUMN

OGG普通抽取模式转换成集成模式遇到的坑

IT那活儿 / 2390人阅读
OGG普通抽取模式转换成集成模式遇到的坑
点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!

问题背景

大数据平台需要通过配置OGG抽取进程,对数据库中压缩表进行抽取投递,因为原始配置的OGG抽取进程是普通抽取模式,而普通抽取模式无法针对压缩表进行抽取,需要升级OGG抽取模式从普通模式升级到集成捕捉模式,因生产环境按照标准设定的连接数是2000,当前固定的连接数一直维持在1800。

1)环境介绍

  • 数据库版本:11.2.0.4
  • 操作系统内核版本:Red Hat Enterprise Linux Server release 6.10 (Santiago)
  • 数据库架构:11G R2单实例数据库

2)环境依赖

  • 测试环境
    数据库版本:11.2.0.4  oracle数据库
    OGG版本:12.1.2.1.10

    (此版本支持集成模式,可以抽取压缩表,版本太低无法完成压缩表的抽取)

  • 生产环境
    数据库版本:11.2.0.4  oracle数据库
    OGG版本:12.1.2.1.10

实际升级步骤

2.1 源环境现状

源环境有两组进程,一组是普通的抽取模式,一种是集成抽取模式
因为KAFKA进程依赖的抽取数据和源进程有冲突,因此新建了针对多带带特定表的抽取投递进程,普通抽取进程(Log Read Checkpoint  Oracle Redo Logs),集成模式抽取进程(Log Read Checkpoint  Oracle Integrated Redo Logs)。
集成模式依赖LogMiner的抽取进程:

2.2 测试环境模拟验证

试环境模式生产,两个抽取进程一个普通模式,一个集成模式,可以看到普通模式不会在数据库中注册进程,不会占用数据库进程数。
见下图可以看到集成模式会在数据库中注册捕获进程,而普通模式不会,同时启动集成模式会占用数据库连接数15个。
2.3 升级集成模式

2.3.1 升级抽取进程

1)注册抽取进程
stop EXT_KFK
register EXTRACT EXT_KFK database
2)启动抽取进程确保抽取点在注册进程之后,否则无法升级
start EXT_KFK
info EXT_KFK
3)升级抽取进程为集成模式
stop EXT_KFK
alter extract EXT_KFK ,upgrade integrated tranlog
alter extract EXT_KFK ,downgrade tranlog

2.3.2 查看进程

可以看到新增抽取进程,数据库会新增15条左右的连接数,需要确保连接数足够,整体看连接数是充足的,整个升级过程中未预见超出预期的情况。

2.4 正式环境开始实施

stop EXT_KFK
register EXTRACT EXT_KFK database
start EXT_KFK
stop EXT_KFK
alter extract EXT_KFK ,upgrade integrated tranlog
同样的操作,当执行upgrade后:

1)数据库连接数飙升

2)OGG 报ORA-01372错误

ORA-01372: 用于指定 LogMiner 操作的进程数不足。

3)数据库alter报连接数超限进程未再次分配

2.5 回退

因连接限制升级并非成功,紧急回退:unregister EXTRACT EXT_KFK database。
由于此操作是下班时间做,系统使用的人少,进程超限后未再次分配,使得还有几个空闲连接,紧急回退后连接数告警消除

升级解决方案

此库为1核128G单实例节点,DOP=128,由于OGG配置4路并发导致启动升级后系统会形成4*128个并行进程去收集统计信息。
单实例数据:
ogg并发配置:
  • 1)增大process值(需要重启数据库)

    alter system set processes=3000 scope=spfile;
  • 2)调整parallelism为1

    TRANLOGOPTIONS INTEGRATEDPARAMS (max_sga_size 2048, parallelism 4)  调整为
    TRANLOGOPTIONS INTEGRATEDPARAMS (max_sga_size 2048, parallelism 1);
  • 3)调整并行度参数

    调整parallel_degree_limit,parallel_threads_per_cpu, cpu_count, or parallel_max_servers参数来限制并行度。


本文作者朱泽剑(上海新炬中北团队)

本文来源:“IT那活儿”公众号

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129128.html

相关文章

  • OGG Integrated Native DDL简单测试

    OGG Integrated Native DDL简单测试 img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%;...

    IT那活儿 评论0 收藏1085
  • 重磅重构开源 让H5标签代替C++实时解码播放speex压缩协议的音频文件 【IM的福音】

    摘要:编码结束后,调用函数,来销毁和编码器。调用函数对参数中的格式音频数据帧进行解码,参数中存放解码后的音频数据帧。调用函数来销毁和解码器说重点当做即时通信产品,像微信这种的手机端,它们接受到很有可能就是协议压缩后的音频文件。 showImg(https://segmentfault.com/img/bVbtzkh?w=1024&h=682); 这么牛逼的轮子,肯定要美图镇楼 Speex是一...

    curried 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<