Logdump是GoldenGate复制软件中附带的一个工具软件,在OGG的目录下可以找到。这个工具主要用于分析OGG生成的队列文件,查找记录、统计队列文件中的数据等。
在OGG安装目录下执行logdump.exe or ./logdump即可进入命令行。
开始查找记录之前,先要做一些设置
1.显示记录头
Logdump 1> GHDR ON
记录头中包含有记录对应的一些辅助信息,如操作类型、操作时间等
2.显示字段信息
Logdump 2> DETAIL ON
此开关打开之后,会显示数据对应的字段序号和ASCII值
3.增加HEX和ASCII数据到记录显示界面
Logdump 3> DETAIL DATA
4.查看用户定义的tokens
Logdump 4> USERTOKEN ON
tokens即用户在抽取或传输时添加的定制信息,比如环境信息或自定义字段值
5.查看OGG生成的tokens
Logdump 4> GGSTOKEN ON
OGG生成的tokens包括有事务ID(XID), DML操作的rowid,其它一些辅助信息。
6.控制待显示的记录长度
Logdump 5> RECLEN length
7. 打开一个队列文件
Logdump 6> OPEN file_name
其中,file_name 可以是相对路径或绝对路径,比如
open /home/ggs/dirdat/jd000000
open $data01.glogggl.aa000000
8.跳转到下一条记录
Logdump 7> NEXT
也可以只输入:N
下面是Logdump使用时的常用操作步骤,如果需要了解更多详细信息,可查看Logdump reference文档,或使用help命令。
1. 查看下一条正常的记录
Logdump 8> SCANFORHEADER
也可以直接输入简写:SFH
2. 查看事务的开始、中间点和结束点
Logdump 9> GHDR ON
Logdump 10> DETAIL ON
Logdump 11> N
查看记录头中的 TransInd 属性,说明如下:
Transaction Indicator
Description
TransInd : . (x00) 事务开始的第一条记录
TransInd : . (x01) 事务中间记录
TransInd : . (x02) 事务中最后一条记录
TransInd : . (x03) 独立事务
使用命令 N 跳到下一条记录,查看 TransInd 是否有变化。
3. 查看事务的结束位置
Logdump 20> SCANFORENDTRANS
也可以直接输入简写:SFET.
这个命令会显示下一个事务的第一记录,此时,TransInd的标志应该是0x00
4. 跳到指定的RBA位置
主要用于交付进程宕机之后,定位错误的记录
Logdump 35> POS rba
Logdump 36> N
显示RBA对应的记录信息
跳转到文件的第一条记录
Logdump 37> POS FIRST
也可以如下操作
Logdump 37> POS 0
5. 基于表或文件名过滤
如只查看某个表的数据
Logdump 60> FILTER INCLUDE FILENAME [container | catalog] schema.table
现在,使用 N 命令,只有符合条件的表的记录才会显示。也可以使用Exclude参数不看某个表的记录。
6. 清除当前过滤条件
Logdump 62> FILTER CLEAR
7. 使用多个条件进行过滤
Logdump 60> FILTER INCLUDE FILENAME $volume.subvolume...file..; FILTER RECTYPE record_type; FILTER MATCH ALL
Logdump 60> FILTER INCLUDE ANSINAME catalog.schema.table; FILTER RECTYPE record_type; FILTER MATCH ALL
Logdump 65> FILTER INCLUDE FILENAME schema.table; FILTER RECTYPE record_type; FILTER MATCH ALL
使用MATCH ANY 或 MATCH ALL 可设置多个条件的关联关系。
8. 统计队列文件中的记录数
Logdump 67> COUNT
9. 保存记录到新文件
保存整个文件,使用如下命令
Logdump 68> SAVE file
保存部分记录,使用如下命令
Logdump 69> SAVE file n RECORDS
10. 打开下一个对应序列的队列文件
Logdump 70> NEXTTRAIL
此命令会关闭当前队列文件,并打开对应序号的文件
11. 记录logdump的操作过程
开始记录
Logdump 71> LOG TO filename.txt
写入操作过程到文件
Logdump 72> WRITELOG "text"
停止记录
Logdump 73> LOG STOP
12. 查看当前环境设置
Logdump 74> ENV
这个命令会显示当前的过滤条件是怎样的,文件名,位置等环境信息。
13. 获取在线帮助
Logdump 75> HELP
14. 退出logdump
Logdump 100> EXIT
或
Logdump 100> QUIT