ITPub博客

首页 > 数据库 > Oracle > oracle特殊恢复:BBED-SET命令

oracle特殊恢复:BBED-SET命令

原创 Oracle 作者:a960549548 时间:2024-06-25 10:50:31 0 删除 编辑

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

 

 


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70013625/viewspace-3020036/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle ACE,MySQL 8.0 OCP,PMP,拥有OceanBase OBCP,TiDB PCTP,GoldenDB GDCP等多项认证,ITPUB认证专家,微信公众号:DBA之友。

注册时间:2022-02-08

  • 博文量
    132
  • 访问量
    171519