4.oracle的dump理解四 解析塊
從塊中DUMP出來的內容都是二進制文件的,不是那么好看,我們需要一個工具來解析塊中的內容。
由於WINDOWS下BBED 不知道怎么配置,下載了一個也無法運行,只好將文件COPY到LINUX系統下使用BBED進行解析或在LINUX環境下下創建一個測試庫。
這里修改插入到表t1中的第一行的列值,如下:
修改塊中某列信息
查找AAAAA
BBED> find /c AAAAA
File: /home/oracle/toad01.dbf (75)
Block: 133 Offsets: 8183 to 8191 Dba:0x12c00085
------------------------------------------------------------------------
41414141 410106ed 67
<32 bytes per line>
是在塊133,偏移為8183到8191
然后使用BBED內部DUMP命令如下
BBED> dump /v dba 75,133 offset 8183count 32
File:/home/oracle/toad01.dbf (75)
Block: 133 Offsets: 8183 to 8191 Dba:0x12c00085
-------------------------------------------------------
41414141 410106ed 67 l AAAAA..
<16 bytes per line>
然后進行修改
BBED> modify /c ABCED dba 75,133 offset 8183
File: /home/oracle/toad01.dbf (75)
Block: 133 Offsets: 8183 to 8191 Dba:0x12c00085
------------------------------------------------------------------------
41424345 440106ed 67
<32 bytes per line>
再DUMP一下查看:
BBED> dump /v dba 75,133 offset 8183count 32
File: /home/oracle/toad01.dbf (75)
Block: 133 Offsets: 8183 to 8191 Dba:0x12c00085
-------------------------------------------------------
41424345 440106ed 67 l ABCED..
<16 bytes per line>
已經修改了。
去數據庫中查看,此時不能顯示,需要修改塊的checksum,不修改會提示塊損壞了。
如下:
BBED> sumdba 75,133
Check value for File 75, Block 133:
current = 0x5bb8, required = 0x5cbf
BBED> sum dba 75,133 apply
Check value for File 75, Block 133:
current = 0x5cbf, required = 0x5cbf
去數據庫查看如下:
toad@HAMMER> select * from t1;
ID
----------
NAME
----------------------------------------------------------------------------------------------------
1
ABCED
2
BBBBB
3
DDDDD