OGG_GoldenGate数据传递文件Trial(案例)

2014-03-05 Created By BaoXinjian

一、摘要


Trail文件是GoldenGate为了更有效的把数据库事务信息从源端传递到目标端

1. Trail文件处理过程

Step1. Extract进程抽取万数据以后,GoldenGate会把抽取的事务信息转换为GoldenGate特有的专有格式文件Trail

Step2. 然后Pump进程将Trail文件传输到目标端

所以目标端和源端都会存在Trail文件

2. Trail文件的分类

源端存放Trail文件,为本地Trail文件

目标端存放Trail文件,为远程Trail文件

3. Trail文件存在的意义

防止单点故障,将事物信息持久化,并使用checkpoint机制记录其读写位置

如果发生故障,数据可以根据Checkpoint记录的位置重新传输

Tail文件并不是必须的,Extract进程可以通过TCP/IP协议,直接将日志信息传输至目标端,但是不推荐,一旦发生系统故障或网络故障,可能会造成数据的丢失

4. Logdump查看工具

Logdump可以查看GoldenGate的trail文件

 

二、Tail文件查看


如何查看Process使用的Tail文件

GGSCI (odellprod.com) 6> info REP1
REPLICAT   REP1      Last Started 2015-01-28 05:31   Status RUNNING
Checkpoint Lag       00:00:00 (updated 00:00:01 ago)
Log Read Checkpoint  File /opt/oracle/ggate/dirdat/lt000001
                     2015-01-28 05:31:45.209626  RBA 1105

三、Logdump分析


1. Logdump作用

Logdump是一个GoldenGate自带的trail文件分析工具,而且能加深对GoldenGate工作原理的理解,非常值得花时间来研究它

2. Logdump常用命令

(1). Usertoken  用来显示trail文件的一些标记信息。

(2). Ggstoken  显示GoldenGate的一些标记信息。

(3). Headertoken  显示头部的标记信息。

(4). ghdr on  用来打开记录的头部信息。

(5). pos first|last| for| rev  其中pos for|rev 比较重要,用于指定在trail文件中读的方向(向上|向下)。

(6). count detail  会显示当前trail文件总的记录数量。

3. 通过Logdump工具分析Tail文件的结构

(1). 一个trail文件结构

a. 文件头部信息

b. 记录的头部信息

c. 记录的详细信息

(2). 其他要点

a. GoldenGate是以事物为单位处理记录的,所以trail文件记录的事件为commit的时间

b. Trail文件中的处在同一事物的record, 由I/O time和Audit RBA值唯一确定

c. TransInd记录当前的record处在当前事物的哪个部分

四、Logdump的分析案例


案例:查看当前Process正在处理的进程

Step1. 查看logdump程序位置,并调用

[ggate@odellprod ggate]$ pwd
/opt/oracle/ggate
[ggate@odellprod ggate]$ ls logdump
logdump
[ggate@odellprod ggate]$ ./logdump

Step2. 查看process正在处理的trail文件和rba

GGSCI (odellprod.com) 6> info REP1
REPLICAT   REP1      Last Started 2015-01-28 05:31   Status RUNNING
Checkpoint Lag       00:00:00 (updated 00:00:01 ago)
Log Read Checkpoint  File /opt/oracle/ggate/dirdat/lt000001
                     2015-01-28 05:31:45.209626  RBA 88381352

Step3. 打开该trail文件,并分析该文件

Logdump 342 >open /opt/oracle/ggate/dirdat/lt000001
Current LogTrail is /opt/oracle/ggate/dirdat/lt000001
Logdump 343 >ghdr on
Logdump 344 >detail on
Logdump 345 >detail data
Logdump 346 >usertoken on
Logdump 347 >pos 1105
Reading forward from RBA 88381352
Logdump 348 >n
___________________________________________________________________
Hdr-Ind    :     E  (x45)     Partition  :     .  (x04)
UndoFlag   :     .  (x00)     BeforeAfter:     A  (x41)
RecLength  :   944  (x03b0)   IO Time    : 2015/01/29 05:47:21.045.532
IOType     :     5  (x05)     OrigNode   :   255  (xff)
TransInd   :     .  (x00)     FormatType :     R  (x52)
SyskeyLen  :     0  (x00)     Incomplete :     .  (x00)
AuditRBA   :     194407       AuditPos   : 89422352
Continued  :     N  (x00)     RecCount   :     1  (x01)

2015/01/29 05:47:21.045.532 Insert               Len   944 RBA 88381352           -->操作类型Insert
Name: GAVINPROD                                                                   -->来源数据库
After  Image:                                             Partition 4   G  b
 0000 000d 0000 0009 3335 3636 3730 3532 3900 0100 | ........356670529...
 04ff ff00 0000 0200 04ff ff00 0000 0300 04ff ff00 | ....................
 0000 0400 04ff ff00 0000 0500 04ff ff00 0000 0600 | ....................
 04ff ff00 0000 0700 04ff ff00 0000 0800 0700 0000 | ....................
 0337 3535 0009 0004 ffff 0000 000a 0004 ffff 0000 | .755................
 000b 0004 ffff 0000 000c 0004 ffff 0000 000d 0004 | ....................
 ffff 0000 000e 0004 ffff 0000 000f 0004 ffff 0000 | ....................
Column     0 (x0000), Len    13 (x000d)
 0000 0009 3335 3636 3730 3532 39                  | ....356670529                -->数据值
Column     1 (x0001), Len     4 (x0004)
 ffff 0000                                         | ....
Column     2 (x0002), Len     4 (x0004)
 ffff 0000                                         | ....
Column     3 (x0003), Len     4 (x0004)
 ffff 0000                                         | ....
Column     4 (x0004), Len     4 (x0004)
 ffff 0000                                         | ....
Column     5 (x0005), Len     4 (x0004)
 ffff 0000                                         | ....
Column     6 (x0006), Len     4 (x0004)
 ffff 0000                                         | ....
Column     7 (x0007), Len     4 (x0004)
 ffff 0000                                         | ....
Column     8 (x0008), Len     7 (x0007)

Thanks and Regards

原文地址:https://www.cnblogs.com/eastsea/p/4264037.html