BBED簡介

wolfreturn發表於2015-05-19

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/,如需轉載,請註明出處,否則將追究法律責任。