1.1 set dba
创建test表
SQL>createtabletest asselect*fromdba_objects;
查看块信息
SQL> select rowid,dbms_rowid.rowid_relative_fno(rowid)rel_fno,dbms_rowid.rowid_block_number(rowid)blockno,dbms_rowid.rowid_row_number(rowid) rowno from test where object_id=100;
ROWID REL_FNO BLOCKNO ROWNO
------------------ ---------- ---------- ----------
AAASK0AABAAAcc6AAe 1 116538 30
BBED中设置file1,block 116538
BBED> set dba 1,116538
DBA 0x0041c73a ( 4310842 1,116538)
------ 如果设置成功,会返回 该 block 的 RDBA (Relative Data Block Address) , rdba 就是 rowid 中的 rfile#+block# 。括号里面的是 DBA 值和 block 和 file id
验证:
SQL> variable dba varchar2(30);
SQL> exec :dba :=dbms_utility.make_data_block_address(1,116538);
PL/SQL procedure successfully completed.
SQL> print dba
DBA
--------------------------------------------------------------------------------
4310842
1.2 set filename
BBED> set filename '/u01/app/oracle/oradata/T1/users01.dbf'
FILENAME /u01/app/oracle/oradata/T1/users01.dbf
------必须是一个有效的datafile,并且要用单引号括起来
1.3 set file
BBED> set file 7
FILE# 7
------这里的number,是之前在 filelist 文件里的 number。它可以 和 db 中的 file id 不一样,不过最好是一样以防混淆
1.4 set block
------这里的block是一个相对的位置,需要 先指定一个file,然后再指定block。即对应的file里的block。可以相对当前 block的位置进行+和-的操作。
BBED> set file 7
FILE# 7
BBED> set block 116538
BBED-00309: out of range block number (116538)
BBED> set file 1
FILE# 1
BBED> set block 116538
BLOCK# 116538
BBED> set block +10
BLOCK# 116548
BBED> set block -10
BLOCK# 116538
1.5 set offset
------偏移量是相对 某个block里的偏移量,可以用+和-进行操作
BBED> set offset 20
OFFSET 20
BBED> set offset +2
OFFSET 22
BBED> set offset -2
OFFSET 20
1.6 set blocksize
------设置当前的datafile的blocksize大小, 该大小必须和datafile的实际block 匹配,否则会报错。
BBED> set blocksize 8192
BLOCKSIZE 8192
1.7 set listfile
------可以通过parameter file来指定bbed的属性,可以通过set来指定这些信息。对于listfile的文件,必须用单引号括起来。
BBED> set listfile '/u01/app/bbed_profile/bbed_filelist.txt'
LISTFILE /u01/app/bbed_profile/bbed_filelist.txt
1.8 set width
------设定当前屏幕亮度,默认是80
BBED> set width 200
WIDTH 200
1.9 set count
------ 设置dump命令显示bytes的数量,默认是512bytes
BBED> set count 512
COUNT 512
1.10 set ibase
------设置内部的数字格式,默认是十进制。可以设置为十六进制或者八进制。设置完数字格式后,可以使用该格式来设置block,offset等。
BBED> set ibase hex
IBASE Hex
BBED> set block +D
BLOCK# 14
BBED> set ibase decimal
IBASE Dec
1.11 set mode
------设置bbed 的模式,该默认有2种:browse 和 edit。browse 模式不允许进行修改。如果要修改,就选择edit模式。 这个在之前的配置文件里,选择了edit。
BBED> set mode browse
MODE Browse
BBED> set mode edit
MODE Edit
