博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自我反省系列——粗心导致GG同步失效
阅读量:6829 次
发布时间:2019-06-26

本文共 1233 字,大约阅读时间需要 4 分钟。

 

自我反省系列

粗心导致GG同步失效

熊熊最近刚刚加入了一家新公司,与一个同样有着OCM水平的哥们一起搭档DBA,由于对GoldenGate操作不是很熟悉,因此在昨天的操作中有了一个小错误,特写此文用以警示自己~

昨天一共收到了3封开发部发过来的数据变更的需求单,由于已经审核通过,因此由熊熊来一一操作。

每次收到邮件以后,一定首先要仔细的查阅发来的SQLPL/SQL是否合理,检查每个对象,每个表是否有主键,有索引,索引是否合适等等,确定无误才可以进行操作。

前不久一个开发人员发来一个存储过程的PL/SQL,简单的一个主键问题,居然改了四五回,我都替他觉得他回复的邮件不好看了,所以说,在日常工作中,技术能力只占一小部分,更多的是态度问题,和谨慎操作~

说别人容易,到自己这里又马虎了,唉~

第一个请求所涉及的用户无需同步到查询库,因此直接在核心库里审核SQL没有问题后,进行操作即可,对线上业务没有影响。很快就搞定了

第二个请求涉及GG同步,因为安全性考虑,我们的GG没有开启DDL自动变更同步,因此每次涉及数据架构变更的时候,需要先关闭GG上相应的模块,查看两边同步的对象是否存在,然后分别对主库和查询库进行数据变更操作,确定无误后重新开启GG相应的模块。

第三个请求有两个步骤,都分别涉及了GG同步,第一个请求需要停止GG上相应的模块,然后由开发人员在页面上做好表的数据变更后,通知熊熊,收到通知后,熊熊desc两边的表,将增加的对象在查询库相应表下用命令一一增加(alter table table_name add column column_name type),严格注意增加列的顺序,操作确认无误后,重新开启两边的GG模块。

一直到这里都没有问题,第二个请求同样涉及GG同步,由于是新对象,需要在相应模块里增加表,并且需要执行(add trandata user.table)来进行确定表传递(此步骤需要dblogin),在配置相应模块里增加该表名称的时候,熊熊一开始少增加了标点符号(MAP USER.TABLE_NAME, TARGET USER.TABLE_NAME),结果熊熊少增加了逗号和分号,导致查询库模块启动时候报错,修改以后OK了,但是主库的相关模块同样少了分号(TABLE USER.TABLE_NAME;),但是GG启动并不会报错在此时,因此熊熊就没在意。

一直到下班的时候,开发查看同步的表,发现数据没有同步,给那个DBA哥们打电话,此时GG对这张表的同步已经失效了一个小时。那兄弟很快远程登录服务器解决了该问题,并重新抽取了数据,熊熊上线后看到了他的留言,感觉特别不好意思,唉~

所以,DBA是个非常谨慎的工作,每一步操作都要特别的仔细,这次仅仅是因为一个标点符号,就导致了一张表一个小时的数据没有同步,幸亏发现的早,熊熊一直认为在这行做这么久了,结果还是粗心马虎了,实在是不该,特做此文,警示自己,也是提醒各位DBA朋友~

转载地址:http://wtezl.baihongyu.com/

你可能感兴趣的文章
Android API学习 SoundPool 和 MediaPlayer
查看>>
郁闷的一天
查看>>
祖宗十八代的称谓
查看>>
如何配置Hyper-V的虚拟机通过主机网络上网 (NAT)
查看>>
单例模式
查看>>
287. Find the Duplicate Number
查看>>
将Android library开源到jcenter
查看>>
java线程池
查看>>
在Eclipse中使用XDebug调试代码 | Using XDebug debug code in eclipse
查看>>
[译] box-shadow 属性
查看>>
使用vue.js开发时的一些坑
查看>>
PHP 打印函数之 print print_r
查看>>
linux+xampp搭建WordPress个人网站过程详解
查看>>
深度解析大快DKadoop大数据运维管理平台功能
查看>>
基于Spark的机器学习实践 (七) - 回归算法
查看>>
企业级 SpringBoot 教程 (一)构建第一个SpringBoot工程
查看>>
阿里云有奖调查结果公布,赠送10个阿里巴巴logo胸针
查看>>
Golang学习笔记之WEB框架(gin)基本使用
查看>>
SAP人工智能服务Recast.AI的一个简单例子
查看>>
云栖科技评论90期:有两种“前沿科技”
查看>>