Logdump是GoldenGate复制软件中附带的一个工具软件,在OGG的目录下可以找到。这个工具主要用于分析OGG生成的队列文件,查找记录、统计队列文件中的数据等。
在OGG安装目录下执行logdump.exe or ./logdump即可进入命令行。
1、格式设置
开始查找记录之前,先要做一些设置 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
2、常用命令
Logdump 10> HELP #获取在线帮助 Logdump 46 >open ./dirdat/5b000000 #打开文件 Logdump 51 >pos 153345 #跳转到指定RBA Logdump 61 >n #查看下一条记录 后面加数字表示跳转多少条记录 如 n 100 跳转到100条记录后 Logdump 62 >scanforendtrans #为了不破坏事务的完整性,找到这个SQL的事务结尾,找到下个事务的起始RBA End of Transaction found at RBA 165149 Logdump 65 >scanforheader #通过Scanforheader知道下一个事务的开始 Logdump 67> COUNT #统计队列文件中的记录数 Logdump 74> ENV #这个命令会显示当前的过滤条件是怎样的,文件名,位置等环境信息。
3、命令详解
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