oracle golden gate logdump的使用

今天看golden gate的书,介绍到一个工具叫logdump,书上对这个工具的描述就是瑞士军刀,功能非常强大.利用这个工具我们可以浏览golden gate的trail file的数据,可以是十六进制或者是ASCII模式.可以通过该工具过滤想要的数据并保存到一个新的trail文件当中,mos上有一篇这个文档,可以参考How To Save A Part Of A GoldenGate Trail To A New Trail [ID 966188.1].这个工具还能帮助我们去诊断一些复制过程中数据丢失的问题.

首先进入到golden gate的安装目录下,执行./logdump,就进入到logdump的命令行下面了.

[oracle@ogg1 goldengate]$ ./logdump
Oracle GoldenGate Log File Dump Utility
Version 11.1.1.1.2 OGGCORE_11.1.1.1.2_PLATFORMS_111004.2100
Copyright (C) 1995, 2011, Oracle and/or its affiliates. All rights reserved.

可以通过help来查看有哪些可以使用的命令,但是我们主要是通过open tail file来进行故障的分析.下面我尝试打开一个trail文件.

Logdump 2 >open ./dirdat/la000000
Current LogTrail is /oracle/app/oracle/product/goldengate/dirdat/la000000

打开trail文件以后,我们需要开启一些有用的特性来让我们使用强大的logdump工具,第一个要开启的就是ghdr on,它允许我们看recored的header信息.recored header信息里面包含了一些比较重要的信息,例如:Format Type和IO Time等等,这些参数的含义可以参考Oracle Golden Gate Troubleshooting and Tuning Guid.接下来我们要开启的就是DETALL DATA.它允许我们看到十六进制的recored data,还有ASCII格式的recored data.如下图所示:

上图包含了一些解释,我们看到一个RBA,这个RBA和redo的RBA是没有联系的.因为Redo的RBA是十个字节的,这儿的RBA一般是3到4个数字,这个RBA被称为:relative byte address.应该是golden gate自有的.然后我们就可以通过运行下列命令来输出上述结果.

Logdump 34 >ghdr on
Logdump 35 >detail data
Logdump 36 >next

2012/02/22 16:52:10.826.375 FileHeader           Len   963 RBA 0
Name: *FileHeader*
 3000 01b8 3000 0008 4747 0d0a 544c 0a0d 3100 0002 | 0...0...GG..TL..1...
 0002 3200 0004 2000 0000 3300 0008 02f1 dfbd 1962 | ..2... ...3........b
 8e87 3400 003c 003a 7572 693a 6f67 6731 3a6c 6f63 | ..4..next
___________________________________________________________________
Hdr-Ind    :     E  (x45)     Partition  :     .  (x04)
UndoFlag   :     .  (x00)     BeforeAfter:     A  (x41)
RecLength  :   166  (x00a6)   IO Time    : 2012/02/22 17:02:57.000.000
IOType     :     5  (x05)     OrigNode   :   255  (xff)
TransInd   :     .  (x03)     FormatType :     R  (x52)
SyskeyLen  :     0  (x00)     Incomplete :     .  (x00)
AuditRBA   :         40       AuditPos   : 8263792
Continued  :     N  (x00)     RecCount   :     1  (x01)

2012/02/22 17:02:57.000.000 Insert               Len   166 RBA 971
Name: TEST.T1
After  Image:                                             Partition 4   G  s
 0000 0007 0000 0003 6161 6100 0100 0700 0000 0362 | ........aaa........b
 6262 0002 0006 0000 0002 6363 0003 000a 0000 0006 | bb........cc........
 3233 3536 3738 0004 0008 0000 0004 3232 3332 0005 | 235678........2232..
 0006 0000 0002 3131 0006 0015 0000 3230 3132 2d30 | ......11......2012-0
 322d 3232 3a31 373a 3032 3a35 3500 0700 1500 0032 | 2-22:17:02:55......2
 3031 322d 3032 2d32 323a 3137 3a30 323a 3535 0008 | 012-02-22:17:02:55..
 0007 0000 0003 7373 7300 0900 0600 0000 0261 6100 | ......sss........aa.
Column     0 (x0000), Len     7 (x0007)
 0000 0003 6161 61                                 | ....aaa
Column     1 (x0001), Len     7 (x0007)
 0000 0003 6262 62                                 | ....bbb
Column     2 (x0002), Len     6 (x0006)
 0000 0002 6363                                    | ....cc
Column     3 (x0003), Len    10 (x000a)
 0000 0006 3233 3536 3738                          | ....235678
Column     4 (x0004), Len     8 (x0008)
 0000 0004 3232 3332                               | ....2232
Column     5 (x0005), Len     6 (x0006)
 0000 0002 3131                                    | ....11
Column     6 (x0006), Len    21 (x0015)
 0000 3230 3132 2d30 322d 3232 3a31 373a 3032 3a35 | ..2012-02-22:17:02:5
 35                                                | 5
Column     7 (x0007), Len    21 (x0015)
 0000 3230 3132 2d30 322d 3232 3a31 373a 3032 3a35 | ..2012-02-22:17:02:5
 35                                                | 5
Column     8 (x0008), Len     7 (x0007)
 0000 0003 7373 73                                 | ....sss
Column     9 (x0009), Len     6 (x0006)
 0000 0002 6161                                    | ....aa
Column    10 (x000a), Len     5 (x0005)
 0000 0001 61                                      | ....a
Column    11 (x000b), Len     5 (x0005)
 0000 0001 61                                      | ....a
Column    12 (x000c), Len     5 (x0005)
 0000 0001 61                                      | ....a

我们看到上述输出结果,我们可以分析出,第一次我们next获取的是trail file的header信息,第二次next获取的就是我们trail文件的数据信息.在这个里面我们既能看到16进制的数据,也能看到我们的ASCII文本数据,包含了每个列的值.同时我们还看到了操作的是TEST.T1表是insert语句.

这只是初步的运用该工具,还有很多细节的地方及命令不一一列出,有兴趣可以参考Oracle Golden Gate Troubleshooting and Tuning Guid

分享到: 更多

Post a Comment

Your email is never published nor shared. Required fields are marked *