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