BBED(Oracle Block Browerand EDitor Tool),用来直接查看和修改数据文
件数据的一个工具,是Oracle一款内部工具,可以直接修改Oracle数据文件
块的内容,在一些极端恢复场景下比较有用。该工具不受Oracle支持,所以
默认是没有生成可执行文件的,在使用前需要重新连接。OracleDatabase
11g中缺省的未提供BBED库文件,但是可以用10g的文件编译出来,需要先从
10g中复制如下文件到相应目录
bbedus.msb 复制到$ORACLE_HOME/rdbms/mesg
sbbdpt.o ssbbded.o 复制到$ORACLE_HOME/rdbms/lib
编译
make -f /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk BBED=/u01/app/oracle/product/11.2.0/dbhome_1/bin/bbed /u01/app/oracle/product/11.2.0/dbhome_1/bin/bbed
Linking BBED utility (bbed)
rm -f /u01/app/oracle/product/11.2.0/dbhome_1/bin/bbed
/usr/bin/gcc -m32 -o
/u01/app/oracle/product/11.2.0/dbhome_1/bin/bbed -m32 -
L/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ -
L/u01/app/oracle/product/11.2.0/dbhome_1/lib/ -
L/u01/app/oracle/product/11.2.0/dbhome_1/lib/stubs/ -
L/u01/app/oracle/product/11.2.0/dbhome_1/lib/ -lirc -lipgo
/u01/app/oracle/product/11.2.0/dbhome_1/lib/s0main.o
/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ssbbded.o
/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/sbbdpt.o `cat
/u01/app/oracle/product/11.2.0/dbhome_1/lib/ldflags` -lncrypt11 -
lnsgr11 -lnzjs11 -ln11 -lnl11 -ldbtools11 -lclntsh `cat
/u01/app/oracle/product/11.2.0/dbhome_1/lib/ldflags` -lncrypt11 -
lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat
/u01/app/oracle/product/11.2.0/dbhome_1/lib/ldflags` -lncrypt11 -
lnsgr11 -lnzjs11 -ln11 -lnl11 -lnnz11 -lzt11 -lztkg11 -lztkg11 -
lclient11 -lnnetd11 -lvsn11 -lcommon11 -lgeneric11 -lmm -lsnls11
-lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -
lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 `cat
/u01/app/oracle/product/11.2.0/dbhome_1/lib/ldflags` -lncrypt11 -
lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat
/u01/app/oracle/product/11.2.0/dbhome_1/lib/ldflags` -lncrypt11 -
lnsgr11 -lnzjs11 -ln11 -lnl11 -lclient11 -lnnetd11 -lvsn11 -
lcommon11 -lgeneric11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11
-lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -
lnls11 -lcore11 -lnls11 -lclient11 -lnnetd11 -lvsn11 -lcommon11 -
lgeneric11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -
lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -
lcore11 -lnls11 `cat
/u01/app/oracle/product/11.2.0/dbhome_1/lib/sysliblist` -Wl,-
rpath,/u01/app/oracle/product/11.2.0/dbhome_1/lib -lm `cat
/u01/app/oracle/product/11.2.0/dbhome_1/lib/sysliblist` -ldl -lm
-L/u01/app/oracle/product/11.2.0/dbhome_1/lib
BBED是Oracle 内部使用的命令,所以Oracle 不提供技术支持。 为了安全
,BBED设置了口令保护,默认密码为blockedit。
[oracle@guo ~]bbed
Password:
BBED: Release 2.0.0.0.0 - Limited Production on Tue May 19
10:14:00 2015
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights
reserved.
************* !!! For Oracle Internal Use only !!! ***************
BBED>
SYS@guo>
select file#||' '||name||' '||bytes from v$datafile ;
将上面查询出来的datafile信息保存到文本里。
[oracle@db2 ~]$ cat /u01/filelist.txt
1/u01/app/oracle/oradata/dave2/system01.dbf 1761607680
2/u01/app/oracle/oradata/dave2/undotbs01.dbf 927989760
3/u01/app/oracle/oradata/dave2/sysaux01.dbf 398458880
4 /u01/app/oracle/oradata/dave2/users01.dbf5242880
创建parameter file:
[oracle@db2 ~]$ cat /u01/bbed.par
blocksize=8192
listfile=/u01/filelist.txt
mode=edit
使用parameter file 连接bbed:
[oracle@db2 ~]$ bbed parfile=/u01/bbed.par
show
FILE# 0
BLOCK# 1
OFFSET 0
DBA 0x00000000 (0 0,1)
FILENAME
BIFILE bifile.bbd
LISTFILE
BLOCKSIZE 8192
MODE Browse
EDIT Unrecoverable
IBASE Dec
OBASE Dec
WIDTH 80
COUNT 512
LOGFILE log.bbd
SPOOL No
BBED>
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24742969/viewspace-1661719/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24742969/viewspace-1661719/