How to make BBED(Oracle Block Brower and EDitor Tool) on Linux

2011年9月2日
想查找关于清除UNDO表空间的数据的办法,看到有人一篇关于BBED的文章,很好奇,想去里里了解一下,于是百度、google一番,关于BBED的个人博文等很多,足够我初步入门了解了,呵呵。
BBED是Block Browser and EDitor的缩写,是Oracle的一个内部工具,随Oracle数据库软件一起,在Unix/Linux
系统下需要编译才能使用。该工具可以用来Changing Data、Recovering Deleteed Rows、Uncorrupting a Block、File Header Reset、Recovering Deleted/Damaged Data等。
步骤如下:
[oracle@test001 ~]$ cd $ORACLE_HOME/rdbms/lib
[oracle@test001 lib]$ make -f ins_rdbms.mk $ORACLE_HOME/rdbms/lib/bbed
编译完成后,还需要配置一个参数文件和一个是对应的数据文件列表。

参数文件如下:
[oracle@test001 rdbms]$ cd bbed
/u01/oracle/product/10.2.0/rdbms/bbed
[oracle@test001 bbed]$ ll
total 12
-rw-r--r-- 1 oracle oinstall 321 Sep 1 21:11 bbed.log
-rw-r--r-- 1 oracle oinstall 82 Sep 1 21:07 bbed.par
-rw-r--r-- 1 oracle oinstall 220 Sep 1 21:21 log.bbd
[oracle@test001 bbed]$ cat bbed.par
blocksize=8192
listfile=/u01/oracle/product/10.2.0/rdbms/bbed/bbed.log
mode=edit

数据对应文件如下:
[oracle@test001 bbed]$ cat bbed.log
1 /u01/oracle/oradata/alonedba/system01.dbf 503316480
2 /u01/oracle/oradata/alonedba/undotbs01.dbf 36700160
3 /u01/oracle/oradata/alonedba/sysaux01.dbf 262144000
4 /u01/oracle/oradata/alonedba/users01.dbf 5242880
5 /u01/oracle/oradata/alonedba/example01.dbf 104857600
6 /u01/oracle/oradata/alonedba/test01.dbf 52428800
数据文件中的内容可以通过一下命令来查询得到:
SQL> select file#||' '||name||' '||bytes from v$datafile;

将$ORACLE_HOME/rdbms/lib下的bbed移动到$ORACLE_HOME/bin或者将$ORACLE_HOME/rdbms/lib添加到环境变量的PATH里面,完成好之后,就可以使用bbed了。
在使用之前做了一个小小设置,目的只有一个偷懒,嘿嘿。。。在.bash_profile文件中添加了以下信息:
alias bbed="bbed parfile=/u01/oracle/product/10.2.0/rdbms/bbed/bbed.par"
进入BBED:
[oracle@test001 ~]$ bbed
Password:
BBED: Release 2.0.0.0.0 - Limited Production on Thu Sep 1 21:58:07 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
************* !!! For Oracle Internal Use only !!! ***************
BBED>
需要输入密码,默认密码是:blockedit,进入界面后,工具提示仅oracle内部使用。在BBED环境下,查看命令帮助信息:
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 ]

简单测试一下:
BBED> set dba 3,632
DBA 0x00c00278 (12583544 3,632)

与文档《dissassembling_the_data_block》上面的一样。嘿嘿。。。。。。

[@more@]

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

转载于:http://blog.itpub.net/26121829/viewspace-1054690/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值