昨天遇到一个问题一个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 lockSYS@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
------------------------------
RESOURCE
CONNECT
SELECT_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.00Mapped operations                                  0.00Unmapped operations                                0.00Other operations                                   0.00Excluded operations                                0.00Errors                                             0.00Retried errors                                     0.00Discarded errors                                   0.00Ignored errors                                     0.00Replicating from USIM.SEQ_PROCESSSTEP to USIM.SEQ_PROCESSSTEP:*** Hourly statistics since 2017-01-20 21:46:06 ***Total updates                                     16.00Total discards                                     0.00Total operations                                  16.00End of Statistics.

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

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

转载于:https://blog.51cto.com/hbxztc/1893514

OGG目标端复制Sequence时Hang住的问题相关推荐

  1. oracle关闭rs,Oracle 关闭(shutdown immediate)时hang住

    昨天晚上生产的两套10.2.0.4的数据库修改了参数,需要重启.在发出shutdown immediate命令后等了大概10分钟的时间,数据库还没有down下来.检查后台alert日志,发现从开始sh ...

  2. hadoop-执行mapreduce时hang住的问题

    在执行mapreduce时,map成功后,reduce一直hang在17%.现象如下: [tianyc@TkHbase hadoop]$ hadoop jar contrib/streaming/ha ...

  3. 目标端的trail文件损坏或误删除,如何重新进行抽取

    本实验主要用于:目标端OGG的trail文件损坏或人为误删除,在不丢失任何数据的情况下, 如何进行操作 1 重新启动目标端并关闭,查看检查点的信息:---此处是模拟trail文件被删除,复制进程读取的 ...

  4. ogg源端mysql添加trandata_oracle ogg golden gate 安装与配置

    环境 oracle12c 12.1.0.2.0 ogg 19.1 linux Ubuntu 14.04.3 LTS 172.18.0.2 源数据库地址 172.18.0.3 目标数据库地址html o ...

  5. 炫“库”行动-人大金仓有奖征文-KFS目标端支持Kafka配置详解

    [本文正在参与炫"库"行动-人大金仓有奖征文] 活动链接:  https://marketing.csdn.net/p/98bd30353e7cb998b6070a89e8b91e ...

  6. ORACLE 源端ogg同步到mysql目标端

    source源端 oracle 11.2.0.4 ogg12c ip:10.200.3.193 系统centos 7.1 1. 创建source表和一些初始化数据 su - oracle sqlplu ...

  7. mysql ogg kafka,OGG到kafka替换目标端OGG

    1.--源端 --停源端所有进程 stop * stop mgr 2.--目标端进程 info REP_K4 showch---看RBA是否变化,查询checkpoint 表 send REP_K4 ...

  8. 实施逻辑复制软件时对目的端数据库的字符集(排序规则)的要求

    实施逻辑复制软件时对在目的端数据库的字符集(排序规则)的要求 1.当目的端数据库是Oracle数据库时,务必保证目的端Oracle数据库的字符集与源头Oracle数据库的字符集保持一致. 2.当目的端 ...

  9. c++排查线程hang住_Kafka学习笔记之kafka高版本Client连接0.9Server引发的血案排查 - 时光飞逝,逝者如斯...

    0x00 概述 kafka server虽然原则上是兼容详细的client,但只是高版本的Server端兼容低版本的Client端: 在有高版本Client端连接时,会导致低版本Server集群会ha ...

最新文章

  1. 【Linux学习笔记】 -- 基本Shell命令
  2. 什么叫做“假学习”?
  3. Hadoop学习之MapReduce(五)
  4. 剑指offer(60-67题)详解
  5. PhpStorm中绘画UML
  6. 表的插入、更新、删除、合并操作_9_插入默认值
  7. oracle并行查询结果不唯一,Oracle数据库并行查询出错的解决方法
  8. Nacos初探(3)-- 服务发现原理解析
  9. 云计算的核心技术全解读
  10. mac安装xbox驱动
  11. 为何你就是那个求职困难户?
  12. cad插入块_CAD制图软件中如何快速绘制推拉窗平面简图
  13. 在线做题---呼叫转移系统
  14. Python实现Pollard rho 算法用来求解离散对数问题
  15. Can‘t connect to MySQL server on ‘localhost‘ (10061)
  16. 2018-2019中国开发者调查报告简报(一文了解全貌)
  17. 环境艺术设计是计算机,【艺术设计论文】环境艺术设计计算机辅助设计研究(共5097字)...
  18. 论文阅读 Skeleton-based abnormal gait recognition with spatio-temporal attention enhanced
  19. Python 入门神图
  20. 滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(9月14日~9月20日)...

热门文章

  1. UICollectionViewController的用法1
  2. MVVM中轻松实现Command绑定任意事件的Command
  3. HDU_2065 红色病毒问题(指数型生成函数)
  4. spring3.0设置定时任务
  5. 【错误记录】Android Studio 编译报错 ( VirtualApp 编译 NDK 报错 | Error:A problem occurred configuring project ‘: )
  6. 【Flutter】Future 异步编程 ( 简介 | then 方法 | 异常捕获 | async、await 关键字 | whenComplete 方法 | timeout 方法 )
  7. 【Android 组件化】路由组件 ( 路由框架概述 )
  8. 【错误记录】Android NDK 错误排查记录 ( Could not get version from cmake.dir path ‘xxx\cmake\3.6.4111459‘. )
  9. 【计算机网络】网络层 : 总结 ( 功能 | 数据交换 | IP 数据报 | IPv4 地址 | IPv6 地址 | 路由选择协议 | 路由算法 )★★★
  10. 【Android FFMPEG 开发】FFMPEG 解码 AVPacket 数据到 AVFrame ( AVPacket-解码器 | 初始化 AVFrame | 解码为 AVFrame 数据 )