http://blog.chinaunix.net/uid-26190993-id-3434074.html


   在OGG运行过程中,通常会因为各种各样的原因导致容灾端的REPLICAT进程ABENDED掉,这个时候需要通过分析ggserr.log , DISCARDFILE , REPLICAT REPORT ,以及借助 Logdump 等工具去定位错误。在具体的应用场景下,通过分析排查,有些事务是可以不在容灾端去应用的,下面的例子是今天在生产配置OGG遇到的一个问题。
     由于在同步过程中,从主库传过来的列队中包含创建OGG用户下某张表的一个事务,导致REPLICAT进程ABENDED,经过分析,该表是在主库用于DDL复制的,并不需要在备库应用,确定不会影响数据一致性的前提下决定跳过次事务:

1,定位REPLICAT进程当前事务所在列队文件及RBA:

点击(此处)折叠或打开

  1. GGSCI (sv890n01) 46> info rads_1
  2. REPLICAT RADS_1 Last Started 2012-12-08 16:29 Status ABENDED
  3. Checkpoint Lag 02:23:36 (updated 00:01:38 ago)
  4. Log Read Checkpoint File ./dirdat/pa000002
  5. 2012-12-08 14:05:51.970013 RBA 77698825

2,由于在列队中相邻两个事务的 RBA 并不是简单的 +1 关系,所以下一步需要定位到下个事务的RBA,在这里需要借助 logdump 工具。
   打开列队文件:

点击(此处)折叠或打开

  1. Logdump 10 >open ./dirdat/pa000002
  2. Current LogTrail is /u01/app/oracle/oradata/ogg/dirdat/pa000002

定位到指定的RBA位置:

点击(此处)折叠或打开

  1. Logdump 11 >pos 77698825
  2. Reading forward from RBA 77698825

查看当前事务详细信息,在这里可以看到DDL/DML操作类型,RBA,对象名等一些相关信息:

点击(此处)折叠或打开

  1. Logdump 12 >n
  2. 2012/12/08 14:05:52.970.013 DDLOP Len 1221 RBA 77698825
  3. Name:
  4. After Image: Partition 0 G s
  5. 2c43 353d 2735 3730 3727 2c2c 4237 3d27 3537 3037 | ,C5='5707',,B7='5707
  6. 272c 2c42 323d 2735 3631 3330 3027 2c2c 4233 3d27 | ',,B2='561300',,B3='
  7. 4f47 4727 2c2c 4234 3d27 4442 4d53 5f54 4142 434f | OGG',,B4='DBMS_TABCO
  8. 4d50 5f54 454d 505f 554e 434d 5027 2c2c 4331 323d | MP_TEMP_UNCMP',,C12=
  9. 2727 2c2c 4331 333d 2727 2c2c 4235 3d27 5441 424c | '',,C13='',,B5='TABL
  10. 4527 2c2c 4236 3d27 4452 4f50 272c 2c42 383d 274f | E',,B6='DROP',,B8='O
  11. 4747 2e47 4753 5f44 444c 5f48 4953 5427 2c2c 4239 | GG.GGS_DDL_HIST',,B9

查看下一个事务信息:

点击(此处)折叠或打开

  1. Logdump 13 >n
  2. 2012/12/08 14:05:52.970.013 Insert Len 370 RBA 77700210
  3. Name: DATAGATE.TB_DOWNLOAD_LOG
  4. After Image: Partition 4 G s
  5. 0000 0009 0000 0005 7274 7231 3100 0100 0900 0000 | ........rtr11.......
  6. 0531 3036 3034 0002 001d 0000 0019 5943 3159 3037 | .10604........YC1Y07
  7. 315f 3132 3939 3537 3833 3534 3932 342e 786d 6c00 | 1_1299578354924.xml.
  8. 0300 0300 0030 0004 00bf 0000 00bb 6874 7470 3a2f | .....0........http:/
  9. 2f64 6174 6167 6174 652e 6368 696e 6162 6f6e 642e | /datagate.chinabond.
  10. 636f 6d2e 636e 2f64 6174 6167 6174 652f 6469 7370 | com.cn/datagate/disp
  11. 6174 6368 3f66 756e 635f 6964 3d32 3031 3126 7374 | atch?func_id=2011&st

至此已经定位到下一个事务的RBA。


3,在GGSCI中通过重新指定REPLICAT进程的当前RBA以跳过当前事务

点击(此处)折叠或打开

  1. GGSCI (sv890n01) 47> alter replicat rads_1,extrba 77700210
  2. REPLICAT altered.
  3. GGSCI (sv890n01) 48> start rads_1
  4. Sending START request to MANAGER ...
  5. REPLICAT RADS_1 starting

OGG 跳过事务(转)的更多相关文章

  1. mysql使用GTID跳过事务

    GTID跳过有两种方法,一种是普通的跳过一个事务的方法,另外一个是在基于主库搭建新的slave的时候.一.普通跳过一个事务的方法.通过show slave status\G找到冲突的GTID号.然后执 ...

  2. ogg跳过某个RBA

    1.从库复制进程报如下错误 *************************************************************************              ...

  3. 测试:OGG初始化同步表,源端抽取进程scn<源端事务的start_scn时,这个变化是否会同步到目标库中?

    一.测试目标 疑问,OGG初始化同步表,源端抽取进程开始抽取的scn<源端事务的start_scn时,这个变化是否会同步到目标库中? 二.实验测试 如下进行测试! session 1 SQL&g ...

  4. ogg BR – BOUNDED RECOVERY 测试案例

    首先,我们来看两个OGG同步中可能的问题: l oracle在线日志包含已提交的和未提交的事务,但OGG只会将已提交的事务写入到队列文件.因此,针对未提交的事务,特别是未提交的长事务,OGG会怎样处理 ...

  5. ogg BR – BOUNDED RECOVERY

    BR – BOUNDED RECOVERY 适用于 Extract 进程(仅适用于 Oracle数据库) 使用 BR 参数可以控制 GoldenGate 的 Bounded Recovery (BR) ...

  6. 处理 MySQL 因为 SLAVE 崩溃导致需要手动跳过 GTID 的问题 | 关于 GTID

    今天发生了与之前某篇博客相似的问题,有同学在不同步的 binlog 库中使用语句 database.table 命令对表进行 drop 导致 master 丢弃该表但是从库并未能同步到该操作.并且后续 ...

  7. [置顶] Oracle GoldenGate 常见问题:长事务处理

    长事务的影响 OGG是基于事务级的实时复制工具,也就是说OGG只复制已提交的事务,在遇到事务的commit或rollback之前,它会将每个事务的操作存储在称为cache的托管虚拟内存池中.内存再大也 ...

  8. GoldenGate实时投递数据到大数据平台(5) - Kafka

    Oracle GoldenGate是Oracle公司的实时数据复制软件,支持关系型数据库和多种大数据平台.从GoldenGate 12.2开始,GoldenGate支持直接投递数据到Kafka等平台, ...

  9. [MySQL Reference Manual] 18 复制

    18 复制 18 复制 18.1 复制配置 18.1.1 基于Binary Log的数据库复制配置 18.1.2 配置基于Binary log的复制 18.1.2.1 设置复制master的配置 18 ...

随机推荐

  1. 多线程之并发容器ConcurrentHashMap

    这部分内容转载自: http://www.haogongju.net/art/2350374 JDK5中添加了新的concurrent包,相对同步容器而言,并发容器通过一些机制改进了并发性能.因为同步 ...

  2. [转]地图投影的N种姿势

    此处直接给出原文链接: 1.地图投影的N种姿势 2.GIS理论(墨卡托投影.地理坐标系.地面分辨率.地图比例尺.Bing Maps Tile System)

  3. 初识Qt布局管理器

    Qt布局管理器的类有4种,它们分别为QHBoxLayout.QVBoxLayout.QGridLayout和QStackLayout.其中,QHBoxLayout实现水平布局,QVBoxLayout实 ...

  4. unittest框架官方翻译:中文版

    指数 模块 | 下一个 | 上一个 | Python » 英语 法国 日本 朝鲜的   开发(3.8) 3.7.3rc1 3.6 3.5 2.7  文档 » Python标准库 » 开发工具 » | ...

  5. Spring源码分析(二十)准备环境

    摘要: 本文结合<Spring源码深度解析>来分析Spring 5.0.6版本的源代码.若有描述错误之处,欢迎指正. prepareRefresh函数主要是做些准备工作,例如对系统属性及环 ...

  6. Usaco2008 Jan

    [Usaco2008 Jan] https://www.luogu.org/problemnew/show/P2419 题目描述 N (1 ≤ N ≤ 100) cows, conveniently ...

  7. springboot activiti 整合项目框架源码 shiro 安全框架 druid windows10风格

     官网:www.fhadmin.org  此项目为Springboot工作流版本 windows 风格,浏览器访问操作使用,非桌面应用程序. 1.代码生成器: [正反双向](单表.主表.明细表.树形表 ...

  8. Kali渗透测试1-Netcat

    What is Netcat? Netcat is a featured networking utility which reads and writes data across network c ...

  9. 2017-2018-1 20155220 《信息安全系统设计基础》课下实践——实现mypwd

    学习pwd命令 输入pwd命令 于是man 1 pwd查看pwd详细 然后查看pwd实现需要的系统调用man -k; grep 在这发现了一个功能相同的内核函数getcwd 到这步就很简单了,先查看这 ...

  10. vue-cli打包后,图片路径不对

    在config文件夹下的 index.js 里面,查找build,在builid方法里面,添加一行:assetsPublicPath: './' 例: 在build文件夹下的utils.js里面,查找 ...