暂无图片
暂无图片
3
暂无图片
暂无图片
暂无图片

ogg的logdump的基本使用

原创 搭春绿 2022-02-09
5568

ogg的logdump的基本使用

1. 作用

logdump是ogg附带的一个标准工具。Logdump允许用户查看和扫描事务和记录,获取事务统计信息,并保存OGG跟踪中包含的数据

2. Trail文件内容

  • File Header: 包含有关生成跟踪文件和跟踪文件内容的物理环境的大量信息
    • Trail Info: 签名,兼容性,字符集,创建时间,URI, URI历史,文件名,Trail序号,文件大小,开始CSN,结束CSN,开始IOtime,结束IOtime,log BSN
    • Machine Info: 操作系统名称、节点名称、版本号、版本号、硬件
    • Database Info: 厂商、名称、字符集、主版本号、次版本号、版本字符串、客户端字符集、 Db Object元数据,Db时区
    • Producer Info: 数据源,主要版本,次要版本,维护级别,Bug修复级别,构建号,版本字符串
    • Continuity Info: 最后的CSN, 最后的事务号
  • transaction record: 包含数据信息
    • GHDR: GoldenGate Header,这包括源提交时间戳(IOtime)、记录长度、数据库操作类型(IOtype)、该记录是在image之前还是之后,以及源表名。GHDR还包含将每个记录表示为交易的开始记录、交易的结束记录。
    • Data Area: 源数据库操作的原子数据。这包括after image更改后的列索引号和数据,或为before image更改前的原始列数据
    • GGS Tokens: 包括源数据库row id、源数据库csn号(LOGCSN)和源数据库transaction id (TRANID)
    • User Tokens: 用户定义的数据,并通过Extract添加 @TOKEN 函数添加信息到Trail中

3. 使用logdump

3.1. 进入log dump :

$ cd $gg_home $ ./logdump Oracle GoldenGate Log File Dump Utility for Oracle Version 12.2.0.2.2 OGGCORE_12.2.0.2.0_PLATFORMS_170630.0419 Copyright (C) 1995, 2017, Oracle and/or its affiliates. All rights reserved. Logdump >

3.2. 打开一个trail文件,进行数据的查找或者操作

Logdump >open ./dirdat/rd000001716

3.3. 常用命令

3.3.1. 查看File Header详细信息,可获取包括上面列表中的Trail Info,Machine Info,Producer Info,Continuity Info

Logdump >fileheader detail Logdump >pos 0 Logdump >n

3.3.2. 打印数据头部的信息

Logdump >ghdr on
Logdump >sfh
Logdump >n
___________________________________________________________________ 
Hdr-Ind    :     E  (x45)     Partition  :     .  (x0c)  
UndoFlag   :     .  (x00)     BeforeAfter:     A  (x41)  
RecLength  :   349  (x015d)   IO Time    : 2021/02/21 03:00:42.000.000   
IOType     :     5  (x05)     OrigNode   :   255  (xff) 
TransInd   :     .  (x01)     FormatType :     R  (x52) 
SyskeyLen  :     0  (x00)     Incomplete :     .  (x00) 
AuditRBA   :       1734       AuditPos   : 111610252 
Continued  :     N  (x00)     RecCount   :     1  (x01) 

2021/02/21 03:00:42.000.000 Insert               Len   349 RBA 3659 
Name: TEST.TBL_CUP_TEST  (TDR Index: 1) 
After  Image:                                             Partition 12   G  m   
 0000 001c 0000 0018 6679 6764 4732 3231 3032 3230 | ........fygdG2210220  
 4330 3032 3338 3333 3438 3231 0001 000c 0000 0008 | C00238334821........  
 3230 3231 3032 3231 0002 000c 0000 0008 3230 3231 | 20210221........2021  
 3032 3230 0003 000a 0000 0006 3138 3332 3431 0004 | 0220........183241..  
 0010 0000 000c 4330 3032 3338 3333 3438 3231 0005 | ......C00238334821..  
 001c 0000 0018 6679 6764 4732 3231 3032 3230 4330 | ......fygdG2210220C0  
 3032 3338 3333 3438 3231 0006 0005 0000 0001 3200 | 0238334821........2.  
                                        | TES  

3.3.3. 打印数据的详细信息

Logdump >detail data on Logdump >ggstoken detail on Logdump >sfh ___________________________________________________________________ Hdr-Ind : E (x45) Partition : . (x0c) UndoFlag : . (x00) BeforeAfter: A (x41) RecLength : 349 (x015d) IO Time : 2021/02/21 03:00:42.000.000 IOType : 5 (x05) OrigNode : 255 (xff) TransInd : . (x01) FormatType : R (x52) SyskeyLen : 0 (x00) Incomplete : . (x00) AuditRBA : 1734 AuditPos : 111610252 Continued : N (x00) RecCount : 1 (x01) 2021/02/21 03:00:42.000.000 Insert Len 349 RBA 4521 Name: TEST.TBL_CUP_TEST (TDR Index: 1) After Image: Partition 12 G m 0000 001c 0000 0018 6679 6764 3932 3231 3032 3230 | ........fygd92210220 3330 3030 3231 3839 3632 3336 0001 000c 0000 0008 | 300021896236........ 3230 3231 3032 3231 0002 000c 0000 0008 3230 3231 | 20210221........2021 3032 3230 0003 000a 0000 0006 3138 3337 3538 0004 | 0220........183758.. 0010 0000 000c 3330 3030 3231 3839 3632 3336 0005 | ......300021896236.. 001c 0000 0018 6679 6764 3932 3231 3032 3230 3330 | ......fygd9221022030 3030 3231 3839 3632 3336 0006 0005 0000 0001 3200 | 0021896236........2. Column 0 (x0000), Len 28 (x001c) 0000 0018 6679 6764 3932 3231 3032 3230 3330 3030 | ....fygd922102203000 3231 3839 3632 3336 | 21896236 Column 1 (x0001), Len 12 (x000c) 0000 0008 3230 3231 3032 3231 | ....20210221 Column 2 (x0002), Len 12 (x000c) 0000 0008 3230 3231 3032 3230 | ....20210220 Column 3 (x0003), Len 10 (x000a) 0000 0006 3138 3337 3538 | ....183758 Column 4 (x0004), Len 16 (x0010) 0000 000c 3330 3030 3231 3839 3632 3336 | ....300021896236 Column 5 (x0005), Len 28 (x001c) 0000 0018 6679 6764 3932 3231 3032 3230 3330 3030 | ....fygd922102203000 3231 3839 3632 3336 | 21896236 Column 6 (x0006), Len 5 (x0005) 0000 0001 32 | ....2 GGS tokens: TokenID x52 'R' ORAROWID Info x00 Length 20 4141 4171 4477 4141 6a41 414a 3143 7041 414e 0001 | AAAqDwAAjAAJ1CpAAN..

可以看出

  • 表名: TEST.TBL_CUP_TEST
  • 类型: Insert
  • io time:2021/02/21 03:00:42
  • 数据column0: fygd92210220300021896236
  • RBA: 4521

3.3.4. 开始找数据

比如我要找TBL_TEST_OGGX的操作数据

  • pos eof是从文件结尾开始查找数据,pos rev是从后往前查找,此时n命令会查到该表的最后一次操作信息
Logdump >detail data on Logdump >ggstoken detail on Logdump >filter include filename TEST.TBL_TEST_OGGX Logdump >pos eof Logdump >pos rev Logdump >n 2021/02/23 09:48:03.000.381 Insert Len 13 RBA 85174196 Name: TEST.TBL_TEST_OGGX (TDR Index: 13) After Image: Partition 12 G e 0000 0009 0000 0005 3939 3939 39 | ........99999 Column 0 (x0000), Len 9 (x0009) 0000 0005 3939 3939 39 | ....99999 GGS tokens: TokenID x52 'R' ORAROWID Info x00 Length 20 4141 4135 6365 4141 6741 414a 772b 4541 4653 0001 | AAA5ceAAgAAJw+EAFS.. Filtering suppressed 3623 records -- 最后一个操作是Insert TEST.TBL_TEST_OGGX,记录是99999
  • pos 0是从开头开始查找数据,pos for是从前往后查找,此时n查找的是最开始的一个操作,
Logdump >pos 0 Logdump >pos for Logdump >n 2021/02/23 09:48:03.004.374 Insert Len 9 RBA 75885450 Name: TEST.TBL_TEST_OGGX (TDR Index: 13) After Image: Partition 12 G b 0000 0005 0000 0001 31 | ........1 Column 0 (x0000), Len 5 (x0005) 0000 0001 31 | ....1 GGS tokens: TokenID x52 'R' ORAROWID Info x00 Length 20 4141 4135 6365 4141 6741 4143 3232 6541 4141 0001 | AAA5ceAAgAAC22eAAA.. TokenID x4c 'L' LOGCSN Info x00 Length 13 3630 3439 3531 3532 3636 3734 32 | 6049515266742 TokenID x36 '6' TRANID Info x00 Length 11 3130 2e32 2e31 3831 3836 31 | 10.2.181861 TokenID x69 'i' ORATHREADID Info x01 Length 2 0001 -- 最开始操作是Insert TEST.TBL_TEST_OGGX,记录是1
  • count是统计信息
Logdump >count

Total Data Bytes            1289003 
  Avg Bytes/Record               12 
Insert                        99999 
Metadata Records                  1 
After Images                  99999 
Filtering matched       100000 records 
          suppressed    189254 records 

Average of 2 Transactions 
    Bytes/Trans .....    3044501 
    Records/Trans ...      50000 
    Files/Trans .....         80 
 

TEST.TBL_TEST_OGGX                            Partition 0 
Total Data Bytes                122 
  Avg Bytes/Record              122 
Metadata Records                  1 

TEST.TBL_TEST_OGGX                            Partition 12 
Total Data Bytes            1288881 
  Avg Bytes/Record               12 
Insert                        99999 
After Images                  99999

3.3.5. 过滤出需要的数据后,可以保存,待后续处理

Logdump 632 >save ./dirout/TBL_TEST_OGGX.test 100000 records Warning: Invalid sequence length or sequence number in target trail filename /gg/product/dirout/TBL_TEST_OGGX.test. Sequence number in target trail file header will be set to zero. Logdump 633 >pos 0 Reading forward from RBA 0 Logdump 634 >save ./dirout/TBL_TEST_OGGX.test 100000 records Saved 99999 records to /gg/product/dirout/TBL_TEST_OGGX.test $ ll dirout/ib* -rw-r--r-- 1 oracle oinstall 18580093 Feb 23 18:07 dirout/TBL_TEST_OGGX.test
最后修改时间:2022-02-18 17:32:06
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论