使用bbed编辑研究oracle数据块结构(二)

2014-11-24 08:53:37 · 作者: · 浏览: 8
c”, 通过bbed多次修改后,该字段被修改成了“abc”=>”cde”=>”bbb”,那么在bifile中存放的仅仅是“abc” 而不会存放后续的数据变化。
如果在bbed命令行选项中指定了revert=yes选项,那么bbed会使用bifile中的内容来回滚上次bbed的所有修改,即相当于在上次的bbed修改过程中使用了revert命令。

bbed命令的使用方法

进入bbed后,可以通过help命令查看所有的bbed命令,如:
BBED: Release 2.0.0.0.0 - Limited Production on 星期三 10月 1 20:20:09 2014
Copyright (c) 1982, 2007, Oracle.  All rights reserved.

************* !!! For Oracle Internal Use only !!! ***************

BBED> help all
SET DBA [ dba | file#, block# ]
SET FILENAME 'filename'
SET FILE file#
SET BLOCK [+/-]block#
SET OFFSET [ [+/-]byte offset | symbol | *symbol ]
SET BLOCKSIZE bytes
SET LIST[FILE] 'filename'
SET WIDTH character_count
SET COUNT bytes_to_display
SET IBASE [ HEX | OCT | DEC ]
SET OBASE [ HEX | OCT | DEC ]
SET MODE  [ BROWSE | EDIT ]
SET SPOOL [ Y | N ]
SHOW [  | ALL ]
INFO
MAP[/v] [ DBA | FILENAME | FILE | BLOCK ]
DUMP[/v] [ DBA | FILENAME | FILE | BLOCK | OFFSET | COUNT ]
PRINT[/x|d|u|o|c] [ DBA | FILE | FILENAME | BLOCK | OFFSET | symbol | *symbol ]
EXAMINE[/Nuf] [ DBA | FILE | FILENAME | BLOCK | OFFSET | symbol | *symbol ]
:
N - a number which specifies a repeat count.
u - a letter which specifies a unit size:
  b - b1, ub1 (byte)
  h - b2, ub2 (half-word)
  w - b4, ub4(word)
  r - Oracle table/index row
f - a letter which specifies a display format:
  x - hexadecimal
  d - decimal
  u - unsigned decimal
  o - octal
  c - character (native)
  n - Oracle number
  t - Oracle date
  i - Oracle rowid
FIND[/x|d|u|o|c] numeric/character string [ TOP | CURR ]
COPY [ DBA | FILE | FILENAME | BLOCK ] TO [ DBA | FILE | FILENAME | BLOCK ]
MODIFY[/x|d|u|o|c] numeric/character string
      [ DBA | FILE | FILENAME | BLOCK | OFFSET | symbol | *symbol ]
ASSIGN[/x|d|u|o] =
 : [ DBA | FILE | FILENAME | BLOCK | OFFSET | symbol | *symbol ]
 : [ value |  ]
SUM [ DBA | FILE | FILENAME | BLOCK ] [ APPLY ]
PUSH [ DBA | FILE | FILENAME | BLOCK | OFFSET ]
POP [ALL]
REVERT [ DBA | FILE | FILENAME | BLOCK ]
UNDO
HELP [  | ALL ]
VERIFY [ DBA | FILE | FILENAME | BLOCK ]
CORRUPT [ DBA | FILE | FILENAME | BLOCK ]
set dba [dba | file#,block#]

用来设置需要查看和编辑的数据块,该命令有两种使用方法,一种是直接指定数据块的dba,另一中是指定file#( listfile中的文件号)和block#。

BBED> set dba 5,1
  	DBA            	0x01400001 (20971521 5,1)
  
  BBED> find /c TBS3
   File: /home/app/oraten/oradata/oraten/tbs301.dbf (5)
   Block: 1                Offsets:  338 to  849           Dba:0x01400001
  ------------------------------------------------------------------------
   54425333 00000000 00000000 00000000 00000000 00000000 00000000 00000500 
   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
   00000000 00000000 00000000 00001bd5 3c33a9ec 05000000 00000000 00000000 
   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
   00000000 00000000 00000000 00000000 0000a82a 0b000000 00008e05 4c330100 
   00001300 0000fd00 00001000 00000200 00000000 00000000 00000000 00000000 
   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
   00000000 00000000 00000000 00000000 00000d00 0d000d00 01000000 00000000 
   00000000 00000200 40010000 00000000 00000000 00000000 00000000 00000000 
   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
   0000