温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

OGG维护优化脚本(一)-需求分析篇

发布时间:2020-06-16 19:59:38 来源:网络 阅读:2197 作者:netsman1030 栏目:关系型数据库


这套维护优化脚本,是我在业余时间编写的,专门用于针对goldengate数据同步工具的脚本

主要原因还是本人有点懒不喜欢繁琐的手动操作。所以借助shell脚本来减低自己的工作量

部分参考了一些网络大牛的shell脚本设计

因为离职的缘故估计以后职业生涯中可能不会用到,因此将该脚本的设计方案以及具体内容共享出来

给各位网友学习和参考OGG维护优化脚本(一)-需求分析篇


因为能力问题部分功能可能写的比较粗糙,希望各位别见怪。欢迎各位提出自己意见。谢谢各位


我会慢慢更新博文完善内容。


一、脚本设计目的

我在进行OGG的运维工作,会遇到以下问题

1>    加表步骤繁琐

部分需求提供表存在表格式不规范,已经重复配置,导致加表时需花费时间进行重复配置确认 

2>    因应用频繁修改表结构导致目标端频繁异常中断,同时影响进程内其他表的正常同步

3>    因维护需要停止进程操作中,遇到长事务过多,导致比较繁琐的跳过长事务操作。

4>    因数据库异常导致的进程非正常延时,导致数据同步滞后,同时因监控未能及时通知,导致归档文件被备份清理导致的进程中断

5>    因线路增加导致后期运维(注释加表)操作日益繁琐。同时OGG配置信息过于混乱,难以统一查询

 

因此需要通过有效的辅助手段优化或改善目前运维中会遇到的问题


二、脚本设计思路

使用脚本直接整合重复表过滤以及附加日志添加操作。


1.优化大批量新增表需求的加表操作

直接操作prm文件

在编辑原文件时自动备份,确保因为误操作导致异常后可以正常进行恢复

每一步操作都有日志记录确保可追查操作人

配有参数条件的表需要特别手动调整

注:该脚本需要对所有进程进行格式注释配置,方能生效

大概脚本功能ER图(仅为需求设计,部分功能已经完成,部分尚未完成)


OGG维护优化脚本(一)-需求分析篇


2.单表一键插入

这是根据多表批量插入脚本测试后单独设计的,针对少量加表需求的脚本

可以按照指令  表名区域名  操作用户名

的格式快速插入进程,并完成附加日志的增加操作

该脚本仅针对EXTRACTPUMP进程,无法对REPLICAT进程进行操作。

 

大概脚本功能ER

OGG维护优化脚本(一)-需求分析篇

3.跳过长事务

正常运维中,每次加表或者修改EXTRACT配置后,必须对每个进程进行启停

以对配置生效。但是因为数据库长事务导致进程必须进行长事务跳过操作,才能正常停止。

如果长事务过多,该操作较为繁琐,需要通过showtrans获取长事务信息,再比对,修改成指令后于ggsci内执行

因此专门设计该脚本用于自动化的对EXTRACT进程进行长事务跳过操作

OGG维护优化脚本(一)-需求分析篇


4.批量注释

用于应对业务取消相关表同步配置的需求

因为部分业务方需要对源端进行历史数据清理,因为清理操作时大量的delete或者update操作会导致大批量的归档文件生成。可能导致数据链路的高延时。

因此需要对已配置的表信息进行注释处理

因为数据清理量大时,表数量可能会达到40-50

一张张的加注释肯定会把自己累的发飙的,所以需求时设计了该个批量注释脚本


OGG维护优化脚本(一)-需求分析篇

5.批量取消注释

该脚本功能与批量注释脚本功能相反

主要用于应对应用数据清理后要求取消注释的操作

OGG维护优化脚本(一)-需求分析篇



6.信息上传

这个脚本专门用于发送OGG生成的定义文件,日志,或者其他相关信息到指定的目标机器

可作为同步定义文件,日志分类整理或者整理配置信息的辅助功能脚本。可以在其他优化脚本中以指定格式被调用

因为是通过SSH协议发送,因此需要在防火墙安全策略上做出相应配置才能正常发送

同时可以通过计划任务的方式定时执行

OGG维护优化脚本(一)-需求分析篇


7.进程配置信息查询

该脚本通过进程内人为填写的进程INFO信息,获取并整理为进程详细配置信息表

包括源端,源端IP,发送目标端及IP,定义文件等等信息(可根据需求调整)

分为本机查询和上传用HTML2个版本

OGG维护优化脚本(一)-需求分析篇

8.定义文件自动同步

因为源端与目标端存在表结构的异常,因此OGG通过定义文件来确保数据能够正常同步

但是因为目前运维中,部分源端的开发人员经常不经预先提醒的频繁修改表结构

或因为定义文件的损坏,配置错误,导致目标端replicate进程异常。

以致目标端trail文件积压,导致磁盘空间告警等连锁系统异常问题。OGG维护优化脚本(一)-需求分析篇


因此通过定义文件自动同步脚本,可以实时的更新定义文件,确保目标端replicate进程的正常运行

注:该脚本需要对定义文件生成prm文件进行格式注释配置,方能生效(详见后面的说明),同时需配置源端的计划任务,目标端的自动重启参数确保写入进程因为数据格式异常中断后,能够重启读取新的定义文件

OGG维护优化脚本(一)-需求分析篇

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI