Logdump 9 >open ./dirdat/si009180 ---打開檔案
Logdump 15 >ghdr on --檢視header record資訊
Logdump 16 >detail on ---檢視列資訊,包括number和長度
Logdump 17 >detail data -----To add hex and ASCII data values to the column information
Logdump 18 >usertoken on ---檢視使用者定義的信
Logdump 19 >n ---顯示下一條記錄
Hdr-Ind : E (x45) Partition : . (x04)
UndoFlag : . (x00) BeforeAfter: A (x41)
RecLength : 722 (x02d2) IO Time : 2018/03/19 09:39:48.000.000
IOType : 5 (x05) OrigNode : 255 (xff)
TransInd : . (x01) FormatType : R (x52)
SyskeyLen : 0 (x00) Incomplete : . (x00)
AuditRBA : 175727 AuditPos : 23420172
Continued : N (x00) RecCount : 1 (x01)
2018/03/19 09:39:48.000.000 Insert Len 722 RBA 2186
Hdr-Ind: 該值總是E,表示是extract process建立,如果為其他屬性,則表示不可用。
UndoFlag:該屬性正常值為0,當為1時則表示先前已經成功的記錄進行撤銷操作。
RecLength:record buffer長度,機關是bytes
IOType:表示操作類型,該屬性有如下幾種值:
- 3 - Delete
- 5 - Insert
- 10 - Update(full record)
- 15 - Update(compressed record)
TransInd:事務記錄标志,有如下4種可能屬性;
- x00 - start of transaction
- x01 - middle of transaction
- x02 - end of transaction
- x03 - only record in transaction
SyskeyLen:system key長度。如果system key存在,其第一個bytes表示system key記錄,否則該值為0.
AuditRBA:事務record commit位址,同一個事務中,該值均相同。goldengate通過auditRBA+IO Time來确定一個事務,其值是唯一的。
Continued:該屬性有兩種值:Y和N,用來定義資料片大大小,通常lob,clob或varchar類型,該值是Y,否則是N。
Partition:該屬性是goldengate内部使用的一個标示,并不是指os或資料庫層面的邏輯分區和實體分區。windows和unix 平台下,該屬性值總是為4。
對于Nonstop的記錄,該屬性的值取決于如下兩個方面:
1)存在Bulk IO操作的情況下,該值表示源端分區已經完成的bulk IO操作的數量。其取值範圍為0~15.
2)對于其他非bulk io操作的nonstop record情況下,該屬性取值通常為0或4. 為4的情況,表示該資料為 FiledComp record格式 (compress存儲格式)。
BeforeAfter: 對于update操作,表示該資料是before image還是after image。對于insert操作,總是after images,
而delete操作總是before images。
IO Time:記錄送出時間,同一個事務内的所有記錄,該屬性值都是相同的,為GMT格式。
OrigNode:Nonstop情況下,表示extract資料抽取端的節點号,整個cluster内,每個節點的節點号都是唯一的。該屬性取值範圍是0~255. 除nonstop之外的其他情況,該屬性值為0.
FormatType:表示資料是從事務日志讀取還是直接從資料庫中擷取的。取值為F和R,F表示fetched from database。R表示readable in transaction log。
Incomplete:該屬性值從10.4版本就已經廢棄了,是向前相容保留的。
AuditPos: 标示extract process在transaction log中的位置。
RecCount:在windows和unix平台下,ogg處理lob時,是将其split成chunk,然後将chunk寫入到file中。 recCount用來表示在讀取時對chunk的合并。
對于logdump 看到的record 記錄,其實iotype也就4種,3,5,10,15. 其中15表示compress record。 那麼如何啟用record的壓縮存儲呢?其實有個參數控制的,那就是auditcompress。
1. 檢視下一條正常的記錄
Logdump 8> SCANFORHEADER
可以直接輸入簡寫:SFH
2. 檢視事務的結束位置
Logdump 20> SCANFORENDTRANS
也可以直接輸入簡寫:SFET.
這個指令會顯示下一個事務的第一記錄,此時,TransInd的标志應該是0x00
3. 跳到指定的RBA位置
主要用于傳遞程序當機之後,定位錯誤的記錄
Logdump 35> POS rba
Logdump 36> N
顯示RBA對應的記錄資訊
跳轉到檔案的第一條記錄
Logdump 37> POS FIRST
也可以如下操作
Logdump 37> POS 0
4. 基于表或檔案名過濾
如隻檢視某個表的資料
Logdump 60> FILTER INCLUDE FILENAME [container | catalog] schema.table
現在,使用 N 指令,隻有符合條件的表的記錄才會顯示。也可以使用Exclude參數不看某個表的記錄。
5. 清除目前過濾條件
Logdump 62> FILTER CLEAR
6. 使用多個條件進行過濾
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 可設定多個條件的關聯關系。
7. 統計隊列檔案中的記錄數
Logdump 67> COUNT
8. 儲存記錄到新檔案
儲存整個檔案,使用如下指令
Logdump 68> SAVE file
儲存部分記錄,使用如下指令
Logdump 69> SAVE file n RECORDS
9. 打開下一個對應序列的隊列檔案
Logdump 70> NEXTTRAIL
此指令會關閉目前隊列檔案,并打開對應序号的檔案
10. 記錄logdump的操作過程
開始記錄
Logdump 71> LOG TO filename.txt
寫入操作過程到檔案
Logdump 72> WRITELOG "text"
停止記錄
Logdump 73> LOG STOP
11. 檢視目前環境設定
Logdump 74> ENV
這個指令會顯示目前的過濾條件是怎樣的,檔案名,位置等環境資訊。
12. 擷取線上幫助
Logdump 75> HELP