本文引用了CUUG陈老师的交流内容,这里感谢CUUG提供的学习机会。
1.BBED简介
ORACLE内部工具,全称为Block Brower and EDitor Tool,用来直接查看和修改数据文件数据。
2.编译BBED
要使用BBED 工具在ORACLE10G 下需重新编译,步骤如下:
[oracle@localhost ~]$
cd $ORACLE_HOME/rdbms/lib
[oracle@localhost lib]$
make -f ins_rdbms.mk $ORACLE_HOME/rdbms/lib/bbed
Linking BBED utility (bbed)
rm -f /opt/oracle/app/oracle/product/10.2.0/db_1/rdbms/lib/bbed
gcc -o /opt/oracle/app/oracle/product/10.2.0/db_1/rdbms/lib/bbed -L/opt/oracle/app/oracle/product/10.2.0/db_1/rdbms/lib/ -L/opt/oracle/app/oracle/product/10.2.0/db_1/lib/ -L/opt/oracle/app/oracle/product/10.2.0/db_1/lib/stubs/ -L/usr/lib -lirc /opt/oracle/app/oracle/product/10.2.0/db_1/lib/s0main.o /opt/oracle/app/oracle/product/10.2.0/db_1/rdbms/lib/ssbbded.o /opt/oracle/app/oracle/product/10.2.0/db_1/rdbms/lib/sbbdpt.o `cat /opt/oracle/app/oracle/product/10.2.0/db_1/lib/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 /opt/oracle/app/oracle/product/10.2.0/db_1/rdbms/lib/defopt.o -ldbtools10 -lclntsh `cat /opt/oracle/app/oracle/product/10.2.0/db_1/lib/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lnro10 `cat /opt/oracle/app/oracle/product/10.2.0/db_1/lib/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lclient10 -lnnetd10 -lvsn10 -lcommon10 -lgeneric10 -lmm -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -lcore10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 `cat /opt/oracle/app/oracle/product/10.2.0/db_1/lib/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lnro10 `cat /opt/oracle/app/oracle/product/10.2.0/db_1/lib/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lclient10 -lnnetd10 -lvsn10 -lcommon10 -lgeneric10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -lcore10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 -lclient10 -lnnetd10 -lvsn10 -lcommon10 -lgeneric10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -lcore10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 `cat /opt/oracle/app/oracle/product/10.2.0/db_1/lib/sysliblist` -Wl,-rpath,/opt/oracle/app/oracle/product/10.2.0/db_1/lib -lm `cat /opt/oracle/app/oracle/product/10.2.0/db_1/lib/sysliblist` -ldl -lm -L/opt/oracle/app/oracle/product/10.2.0/db_1/lib
[oracle@localhost lib]$ ls -l bbed
-rwxr-xr-x 1 oracle oinstall 540301 Aug 27 09:45 bbed
rm -f /opt/oracle/app/oracle/product/10.2.0/db_1/rdbms/lib/bbed
gcc -o /opt/oracle/app/oracle/product/10.2.0/db_1/rdbms/lib/bbed -L/opt/oracle/app/oracle/product/10.2.0/db_1/rdbms/lib/ -L/opt/oracle/app/oracle/product/10.2.0/db_1/lib/ -L/opt/oracle/app/oracle/product/10.2.0/db_1/lib/stubs/ -L/usr/lib -lirc /opt/oracle/app/oracle/product/10.2.0/db_1/lib/s0main.o /opt/oracle/app/oracle/product/10.2.0/db_1/rdbms/lib/ssbbded.o /opt/oracle/app/oracle/product/10.2.0/db_1/rdbms/lib/sbbdpt.o `cat /opt/oracle/app/oracle/product/10.2.0/db_1/lib/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 /opt/oracle/app/oracle/product/10.2.0/db_1/rdbms/lib/defopt.o -ldbtools10 -lclntsh `cat /opt/oracle/app/oracle/product/10.2.0/db_1/lib/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lnro10 `cat /opt/oracle/app/oracle/product/10.2.0/db_1/lib/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lclient10 -lnnetd10 -lvsn10 -lcommon10 -lgeneric10 -lmm -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -lcore10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 `cat /opt/oracle/app/oracle/product/10.2.0/db_1/lib/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lnro10 `cat /opt/oracle/app/oracle/product/10.2.0/db_1/lib/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lclient10 -lnnetd10 -lvsn10 -lcommon10 -lgeneric10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -lcore10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 -lclient10 -lnnetd10 -lvsn10 -lcommon10 -lgeneric10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -lcore10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 `cat /opt/oracle/app/oracle/product/10.2.0/db_1/lib/sysliblist` -Wl,-rpath,/opt/oracle/app/oracle/product/10.2.0/db_1/lib -lm `cat /opt/oracle/app/oracle/product/10.2.0/db_1/lib/sysliblist` -ldl -lm -L/opt/oracle/app/oracle/product/10.2.0/db_1/lib
[oracle@localhost lib]$ ls -l bbed
-rwxr-xr-x 1 oracle oinstall 540301 Aug 27 09:45 bbed
3.BBED 常用操作
3.1)登录BBED环境
BBED 默认密码是blockedit
BBED: Release 2.0.0.0.0 - Limited Production on Mon Aug 27 09:51:43 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
************* !!! For Oracle Internal Use only !!! ***************
BBED>
3.2)帮助
BBED> help
HELP [ | ALL ]
HELP [ | ALL ]
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 ]
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>
3.3)编辑BBED参数文件
使用v$datafile内容编辑生成listfile
>select file#,name,bytes/1024/1024 mb from v$datafile;
listfile 内容如下:第三列可选
1 /opt/oracle/oradata/mynewdb/system01.dbf 325
2 /opt/oracle/oradata/mynewdb/undotbs01.dbf 200
3 /opt/oracle/oradata/mynewdb/sysaux01.dbf 325
4 /opt/oracle/oradata/mynewdb/tbs_1_01.dbf 500
5 /opt/oracle/oradata/mynewdb/hrtbs01.dbf 200
6 /opt/oracle/oradata/test01.dbf 50
7 /opt/oracle/oradata/mynewdb/perfstat.dbf 200
1 /opt/oracle/oradata/mynewdb/system01.dbf 325
2 /opt/oracle/oradata/mynewdb/undotbs01.dbf 200
3 /opt/oracle/oradata/mynewdb/sysaux01.dbf 325
4 /opt/oracle/oradata/mynewdb/tbs_1_01.dbf 500
5 /opt/oracle/oradata/mynewdb/hrtbs01.dbf 200
6 /opt/oracle/oradata/test01.dbf 50
7 /opt/oracle/oradata/mynewdb/perfstat.dbf 200
3.4)使用参数登录BBED环境
[oracle@localhost ~]$ cp $ORACLE_HOME/rdbms/lib/bbed $ORACLE_HOME/bin/
[oracle@localhost ~]$ bbed password=blockedit listfile=/opt/oracle/listfile mode=edit
BBED: Release 2.0.0.0.0 - Limited Production on Mon Aug 27 10:13:13 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
************* !!! For Oracle Internal Use only !!! ***************
BBED>
4.无可用归档下完全恢复
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/18914315/viewspace-742020/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/18914315/viewspace-742020/