千家信息网

OGG目标端复制Sequence时Hang住的问题

发表于:2025-11-14 作者:千家信息网编辑
千家信息网最后更新 2025年11月14日,昨天遇到一个问题一个OGG的复制进程在复制序列(Sequence)时Hang住不动,进程状态一直是Running状态但是不往前进行复制,导致进程延迟6个多小时GGSCI (ctm-3) 2> info
千家信息网最后更新 2025年11月14日OGG目标端复制Sequence时Hang住的问题

昨天遇到一个问题一个OGG的复制进程在复制序列(Sequence)时Hang住不动,进程状态一直是Running状态但是不往前进行复制,导致进程延迟6个多小时

GGSCI (ctm-3) 2> info allProgram     Status      Group       Lag at Chkpt  Time Since ChkptMANAGER     RUNNING                                           REPLICAT    RUNNING     USIM        00:13:39      06:50:22

操作复制进程时,stats和stop显示操作超时,只能kill进程,重启复制进程问题依就。问题从下午一直持续到晚上7点多,实在没有办法把所有数据都全部初始化了,还是不行,好在数据量不大。最后把goldengate用户赋予dba权限问题就解决了,但是GOLDENGATE用户的权限分配问题依然还是一个问题。下面记录了问题的处理过程,有兴趣的朋友可以看看。

使用view report usim查看日志,日志停在一个复制Sequence的语句上

Wildcard MAP resolved (entry USIM.*):  map "USIM"."SEQ_PROCESSSTEP", target USIM."SEQ_PROCESSSTEP";Resolving target sequence USIM.SEQ_PROCESSSTEP.

查看ggserr.log也没有报错信息。

于是查看数据库里的会话

SYS@ctm> select sid,serial#,LOGON_TIME,MODULE,sql_id,prev_sql_id,event,blocking_session from v$session where MODULE like '%USIM%';       SID    SERIAL# LOGON_TIME   MODULE                         SQL_ID        PREV_SQL_ID   EVENT                          BLOCKING_SESSION---------- ---------- ------------ ------------------------------ ------------- ------------- ------------------------------ ----------------       764       8229 20-JAN-17    OGG-USIM-OPEN_DATA_SOURCE      awjuqsu6bk5d4 b6zg67dtg1q14 row cache lock       SYS@ctm> select sql_text from v$sql where sql_id='awjuqsu6bk5d4';SQL_TEXT--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------SELECT "SEQ_PROCESSSTEP".NEXTVAL FROM DUALSYS@ctm> select sql_text from v$sql where sql_id='b6zg67dtg1q14';SQL_TEXT--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------SELECT HIGHWATER FROM SYS.SEQ$ WHERE OBJ#=:B1

看到当前ogg的复制进程在执行SELECT "SEQ_PROCESSSTEP".NEXTVAL FROM DUAL的语句,进程是在等待row cache lock。上面贴出来的是晚上查询时的情况,其实下午在查这条sql时是不同的一个序列名字,但是动作一样都是select nextval from dual,但是等待事件有library cache: mutex X、cursor: pin S wait on X、latch free、latch: shared pool。

看到这些等待事件头都大了,先到百度上去搜索,看到有帖子说有可能是BUG,然后又到MOS上去搜等待事件的组合,看到很多BUG的文章,但是描述跟现在遇到的情况不一致。于是又转到搜goldengate和序列hang的关键字,搜到一篇http://m.blog.csdn.net/article/details?id=48544207,在MOS上搜到1331998.1和1535322.1,但都是跟现在的情况不符。

于是又无奈的去查官方文档,在Oracle GoldenGate Oracle Installation and Setup Guide中查到下面的几句话:


看到红框中的那句后恍然想到,由于系统交维,要求不允许用户有DBA角色,GOLDENGATE也不可以,于是查看GOLDENGATE用户的角色

SYS@ctm> select granted_role from dba_role_privs where grantee='GOLDENGATE';GRANTED_ROLE------------------------------RESOURCECONNECTSELECT_CATALOG_ROLE

果然没有DBA角色,那问题是不是出在这里呢,于是尝试给GOLDENGATE用户DBA角色

grant dba to goldengate;

kill掉hang住的会话,重启复制进程usim,终于问题解决了。复制进程开始往下复制了,而且序列复制的很快

GGSCI (ctrm-r3) 20> stats usim hourlySending STATS request to REPLICAT USIM ...Start of Statistics at 2017-01-20 21:47:22.DDL replication statistics:*** Total statistics since replicat started     ***        Operations                                         0.00        Mapped operations                                  0.00        Unmapped operations                                0.00        Other operations                                   0.00        Excluded operations                                0.00        Errors                                             0.00        Retried errors                                     0.00        Discarded errors                                   0.00        Ignored errors                                     0.00Replicating from USIM.SEQ_PROCESSSTEP to USIM.SEQ_PROCESSSTEP:*** Hourly statistics since 2017-01-20 21:46:06 ***        Total updates                                     16.00        Total discards                                     0.00        Total operations                                  16.00End of Statistics.

最后再回想,难道就真的是因为DBA角色的关系么?于是把GOLDENGATE用户的DBA角色收回:revoke dba from goldengate;

再次观察复制进程情况,竟然正常在复制,没有受到影响。而且从昨晚10点多回收dba角色,到今天发博客,复制进程也没有hang住,还在正常复制。这就回到了上面疑问,真的是因为DBA角色导致的么?现在还不清楚。如果哪位大神知道问题的原因可以在博客中回复,感激不尽。

进程 问题 角色 用户 序列 情况 事件 数据 博客 日志 权限 状态 语句 还是 不同 不行 清楚 一致 感激不尽 不大 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 无线拨号服务器无响应 软件开发专业工作总结 武汉飞速网络技术有限公司 江苏推荐的软件开发创新服务 网络安全是当今社会 安卓手机 安卓软件开发 软件开发人员入股合作协议书 数据库怎么设置账号密码 中国网民网络安全调研报告 自动化控制软件开发前途如何 CNKI数据库技术学院 高通通信软件开发 将服务器上的文件复制到客户端 我的世界服务器非常混乱 靠谱的生产管理软件开发定制 杭州软件开发网 深圳交易软件开发公司 安卓客户端 与数据库 郑州专业软件开发大概多少钱 edb数据库时间 云服务器url 网络安全事故导致的危害有哪些 腾讯云服务器上传网站文件 金华云富软件开发公司 江苏微型软件开发设计规范 java 数据库 集群 网络安全近三年发展情况 关系数据库设计树形 关于教师节和网络安全的手抄报 混合加密是保证网络安全的吗
0