• 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

  • 相关阅读:
    MAC电脑操作快捷键
    Xcode的控制台调试命令
    iOS 页面间传值
    App开机动画
    TCP/IP长连接和短连接
    Using the Transient Fault Handling Application Block
    [转]数据库并发控制 乐观锁,悲观锁
    [转]网站度量指标
    dictionary 和 hashtable 区别
    负载均衡策略
  • 原文地址:https://www.cnblogs.com/eastsea/p/4264037.html
Copyright © 2020-2023  润新知