查找OGG trail file中是否存在相关记录的命令

如下是查找一个insert into USERA.TABLE1是否存在于OGG源头的trail file中,

同时,本文也可以视为OGG 目的端rep进程报 SQL error 1403 mapping USERA.TABLE1 to USERA.TABLE1的问题诊断思路。

如下诊断用到了ogg自带的logdump工具

拿USERA.TABLE1表来说,我们通过查询 rep进程的丢弃文件(dsc文件,也就是discard文件,位于$OGG_HOME/dirrpt下)中该表的报错信息,如下:

确认有如下记录(仅仅拿一个记录为例)肯定是没有insert到数据库中的,

USERA.TABLE1 表中id=53874605的记录,

然后在源头数据库上查出ID,之所以查询出ID是因为在logdump的输出中,这个值比较直观:

~~~

select ID from USERA.TABLE1 where id=53874605

~~~

获得id的值:

~~~

WW151124160530101510740104947088A

~~~

以此值到源头trailfile 中进行搜索,注意如下的搜索方法:

~~~

oracle@host2:/gg/ggs$ logudump

Oracle GoldenGate Log File Dump Utility for Oracle

Version 11.2.1.0.27 19591627 20148126

Copyright (C) 1995, 2014, Oracle and/or its affiliates. All rights reserved.

Logdump 644 >open /gg/ggs/dirdat/sd021739

ghdr on

detail on

detail data

ggstoken on

usertoken on

ggstokens detail

filter include FILENAME USERA.TABLE1

filter include STRING 'WW1511241605301015107401049470856A'

filter match all

show filter---->此处是命令的结尾,然后敲回车即可

Current LogTrail is /gg/ggs/dirdat/sd021739

Logdump 645 >Logdump 646 >Logdump 647 >Logdump 648 >Logdump 649 >Logdump 650 >Logdump 651 >Logdump 652 >Logdump 653 >Logdump 654 >

Data filters are ENABLED

Include Match ALL

Filename-0 : USERA.TABLE1

String-0 : (34), CaseSensitive

4648 3135 3131 3234 3136 3035 3330 3130 3135 3130 | WW151124160530101510

3734 3031 3034 3934 3730 3835 3641 | 7401049470888A

Exclude Match ANY

Logdump 655 >n

Scanned 10000 records, RBA 5742984, 2015/11/14 03:43:16.000.000

Scanned 20000 records, RBA 11498403, 2015/11/14 03:48:10.000.000

Scanned 30000 records, RBA 17287262, 2015/11/14 03:53:32.000.000

Scanned 40000 records, RBA 22759004, 2015/11/14 03:58:06.000.000

Scanned 50000 records, RBA 28498882, 2015/11/14 04:03:16.000.000

Scanned 60000 records, RBA 34247854, 2015/11/14 04:07:40.000.000

Scanned 70000 records, RBA 40072024, 2015/11/14 04:12:40.000.000

Scanned 80000 records, RBA 45960655, 2015/11/14 04:16:56.000.000

Filtering suppressed 87002 records

Logdump 656 >nt

LogTrail /gg/ggs/dirdat/sd021739 closed

Current LogTrail is /gg/ggs/dirdat/sd021740

Logdump 657 >n

Scanned 10000 records, RBA 5833212, 2015/11/14 04:24:45.000.000

Scanned 20000 records, RBA 11584249, 2015/11/14 04:29:13.000.000

Scanned 30000 records, RBA 17067992, 2015/11/14 04:32:52.000.000

Scanned 40000 records, RBA 22918136, 2015/11/14 04:36:57.000.000

Scanned 50000 records, RBA 28712547, 2015/11/14 04:41:22.000.000

Scanned 60000 records, RBA 34567058, 2015/11/14 04:46:24.000.000

Scanned 70000 records, RBA 40357769, 2015/11/14 04:51:08.000.000

Scanned 80000 records, RBA 46148680, 2015/11/14 04:55:49.000.000

Filtering suppressed 86515 records

Logdump 658 >exit

~~~

如上的结果显示:USERA.TABLE1 中  id=53874605的记录不在源头的trail file中,也就是说:

问题得到定性:ogg源头的抽取进程漏抽数据。

插曲:

凭什么就定位到/gg/ggs/dirdat/sd021739这个源头的trail file?要知道rep进程的丢弃文件中只会显示目的端的trailfile号。熟悉ogg的人都知道,源头trail file 号与目的端trail file号没有任何的等价关系,也没有加1 或者减1的关系。

这里就需要去看源头dp(datapump进程)的rpt文件,根据大体的时间,获得如下信息:

~~~

2015-11-14 03:09:57 INFO OGG-01026 Rolling over remote file /ogg/ggs/dirdat/pa059719.

Switching to next trail file /gg/ggs/dirdat/sd021739 at 2015-11-14 03:37:59 due to EOF, with current RBA 49999824

Opened trail file /gg/ggs/dirdat/sd021739 at 2015-11-14 03:37:59

2015-11-14 03:56:52 INFO OGG-01026 Rolling over remote file /ogg/ggs/dirdat/pa059720.

Switching to next trail file /gg/ggs/dirdat/sd021740 at 2015-11-14 04:20:08 due to EOF, with current RBA 49999149

Opened trail file /gg/ggs/dirdat/sd021740 at 2015-11-14 04:20:08

~~~

上面的/gg/ggs/dirdat/sd021739就是源头的trail文件号。

oracle ogg trail 空间,查找OGG trail file中是否存在相关记录的命令相关推荐

  1. oracle查询:分组查询,取出每组中的第一条记录

    按type字段分组,code排序,取出每组中的第一条记录 方法一: select type,min(code) from group_info  group by type; 注意:select 后面 ...

  2. Oracle RAC到RAC配置OGG单向同步

    CentOS6.8 Oracle 12.2.0.1 RAC到CentOS7.6 Oracle 19c RAC单向同步 /* OGG数据迁总体规划参考文档 */ https://cloud.tencen ...

  3. Oracle误删除表空间的恢复

    对于误删除表空间的恢复,本文通过基于数据库的时间点恢复和基于表空间的时间点恢复分别加以讨论 一 通过基于数据库的时间点恢复被误删除的表空间 1 需要注意的事项 a 基于数据库的时间点恢复将会回退整个数 ...

  4. Oracle数据库查看表空间sql语句、查看Oracle数据库表空间剩余 、修改表空间、库备份

    一  Oracle数据库查看表空间sql语句 1.oracle查看表空间当前用户 SQL>  select  username,default_tablespace  from user_use ...

  5. 唐老师 oracle,ORACLE数据库表空间的监控和维护_快速发表职称论文网

    ORACLE数据库表空间的监控和维护 摘 要:通过ORACLE数据库内部管理表和视图加强数据库系统数据表空间的监控和维护. 关键字:数据库表空间监控 ORACLE数据库在系统性能,安全性以及可靠性方面 ...

  6. Oracle 联机重做日志文件(ONLINE LOG FILE)

    --========================================= -- Oracle 联机重做日志文件(ONLINE LOG FILE) --================== ...

  7. linux数据库创建表空间语句,如何用LINUX用命令创建ORACLE数据库表空间和用户

    如何用LINUX用命令创建ORACLE数据库表空间和用户 文本模式下如何建 更新时间:2019-06-21 19:36 最满意答案 先su 到 oracle用户,SYS用户以DBA身份登陆 //创建临 ...

  8. shell脚本执行oracle删除表,shell脚本操作oracle删除表空间、创建表空间、删除用户...

    oracle下表空间的导出,用户的删除,表空间删除,用户新建,表空间新建,数据导入的shell 使用非oracle用户执行该脚本 参数说名 $1:base表空间的用户名 $2:同步表空间的用户名 使用 ...

  9. Oracle 创建表空间,用户,赋值(简装)

    一, 1.Oracle 创建表空间,用户,赋值(简装) C:\Documents and Settings\Administrator>sqlplus /nolog SQL> conn / ...

  10. oracle加密表空间,加密表空间

    1.编辑 $ORACLE_HOME/network/admin/sqlnet.ora 文件,添加参数 encryption_wallet_location=(source=(method=file)( ...

最新文章

  1. 【SQL】sql语句LEFT JOIN(拼接表)详解
  2. android volley post 参数,android – 使用Volley POST传递参数
  3. 蓝桥杯 ADV-202 算法提高 最长公共子序列
  4. fastxml 大于符号不转换_你可能不知道的MATLAB入门技巧#第二话
  5. 焊接符号标注图解示例_【干货】焊接图纸符号汇总 ,学习收藏!!
  6. JS 判断滚动底部并加载更多效果。。。。。。。。。
  7. 关于 VB,VC,Delphi,SDK 的笑话
  8. 全连接层的作用是什么?
  9. 《壹百度—百度十年千倍的29条法则》
  10. python读取excel绘图y轴设置_python读取并定位excel数据坐标系详解
  11. 正负数据如何归一化_数据归一化和两种常用的归一化方法
  12. 金蝶ERP学习之路--财务知识
  13. java五子棋程序_Java五子棋游戏
  14. python图像色彩分析_使用OpenCV和Python计算图像的“色彩”
  15. 的计算机基本操作知识,电脑的基本操作知识有哪些
  16. 2021最新爬取百度关键词时出现,百度安全验证,解决方法
  17. 关于丢番图方程x^2+y^2=n
  18. html转pdf页面缩小,缩小HTML页面并转换为A4尺寸pdf
  19. 如何清理C盘(小白版)
  20. 个人作业2:APP案例分析

热门文章

  1. 【一分钟论文】IJCAI2019 | Self-attentive Biaffine Dependency Parsing
  2. 经验 | 我的研究生这三年
  3. 有了它,让我在bug面前一点也不慌!
  4. 具体数学-第13课(组合数各种性质)
  5. Pytorch实现Seq2Seq(Attention)字符级机器翻译
  6. 如何用AI技术增强企业认知智能?超详细架构解读
  7. 真正决定你成败的,是时间管理!
  8. 应用系统接入接口开发
  9. 敏捷无敌(13)之兵不厌诈
  10. 17.2融合关键词的文本增强