在9i/10g中连接生成bbed:
cd$ORACLE_HOME/rdbms/lib
make-f ins_rdbms.mk $ORACLE_HOME/rdbms/lib/bbed
OracleDatabase 11g中缺省的未提供BBED库文件,但是可以用10g的文件编译出来,需要先从10g中复制如下文件到相应目录,然后再执行上述连接命令,参考如下步骤:
(1)复制Oracle 10g文件
Copy $ORA10g_HOME/rdbms/lib/ssbbded.o to$ORA11g_HOME/rdbms/lib
Copy $ORA10g_HOME/rdbms/lib/sbbdpt.o to $ORA11g_HOME/rdbms/lib
Copy $ORA10g_HOME/rdbms/mesg/bbedus.msb to $ORA11g_HOME/rdbms/mesg
Copy $ORA10g_HOME/rdbms/mesg/bbedus.msg to $ORA11g_HOME/rdbms/mesg
Copy $ORA10g_HOME/rdbms/mesg/bbedar.msb to $ORA11g_HOME/rdbms/mesg --木有这个文件了。
(2)编译
make -f $ORACLE_HOME/rdbms/lib/ins_rdbms.mk BBED=$ORACLE_HOME/bin/bbed $ORACLE_HOME/bin/bbed
2.2 使用BBED
BBED是Oracle 内部使用的命令,所以Oracle 不提供技术支持。 为了安全,BBED设置了口令保护,默认密码为blockedit。
[oracle@db2 bin]$ bbed
Password:
BBED-00113: Invalid password. Please rerunutility with the correct password.
[oracle@db2 bin]$ bbed
Password:
BBED: Release 2.0.0.0.0 - LimitedProduction on Thu Aug 11 18:51:47 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
************* !!! For Oracle Internal Useonly !!! ***************
BBED>
一般使用bbed,都是将一些配置信息写入到一个参数文本里,在调用bbed时,指定该参数文件。如:
$bbedparfile=bbed.par
相关的参数可以通过help 查看:
[oracle@db2 admin]$ bbed help=y
PASSWORD - Required parameter
FILENAME - Database file name
BLOCKSIZE - Database block size
LISTFILE - List file name
MODE - [browse/edit]
SPOOL - Spool to logfile [no/yes]
CMDFILE - BBED command file name
LOGFILE - BBED log file name
PARFILE - Parameter file name
BIFILE - BBED before-image file name
REVERT - Rollback changes from BIFILE[no/yes]
SILENT - Hide banner [no/yes]
HELP - Show all valid parameters [no/yes]
这里我们先演示一个示例。
(1)先获取datafile 的信息
将datafile 的信息写入一个文件,格式为:文件编号 文件名字 文件大小。可以通过如下SQL 获取:
set pages 200
select file#||' '||name||' '||bytes from v$datafile ;
1 /u01/app/oracle/oradata/dave/system01.dbf 1090519040
2 /u01/app/oracle/oradata/dave/sysaux01.dbf 775946240
3 /u01/app/oracle/oradata/dave/undotbs01.dbf 146800640
4 /u01/app/oracle/oradata/dave/users01.dbf 17039360
5 /u01/app/oracle/oradata/dave/example01.dbf 363069440
6 /u01/app/oracle/oradata/dave/mssm01.dbf 104857600
7 /u01/app/oracle/oradata/dave/assm01.dbf 104857600
8 /u01/app/oracle/oradata/dave/FDA01.dbf 104857600
9 /u01/app/oracle/oradata/dave/FDA02.dbf 104857600
10 /u01/app/oracle/oradata/dave/FDA03.dbf 104857600
11 /u01/app/oracle/oradata/dave/FDA04.dbf 104857600
12 /u01/app/oracle/oradata/dave/ts01.dbf 104857600
13 /u01/app/oracle/oradata/dave/ts02.dbf 104857600
14 /u01/app/oracle/oradata/dave/dave01.dbf 209715200
15 /u01/app/oracle/oradata/dave/anqing01.dbf 209715200
16 /u01/app/oracle/oradata/dave/block01.dbf 104857600
注意,这里的file id。 我们这里的file id 和 oracle 系统内部的file id 相同。 当然这个id 我们也可以自己指定。 当我们在bbed 里设置file id 时,就是根据这个参数文件中的的设置来的。 最好设置为相同,不然以后可能会混淆。
将上面查询出来的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
5/u01/app/oracle/oradata/dave2/example01.dbf 104857600
6 /u01/app/oracle/oradata/dave2/dave01.dbf10485760
7/u01/app/oracle/oradata/dave2/undotbs02.dbf 1048576
8/u01/app/oracle/oradata/dave2/huaining01.dbf 52428800
(2) 创建parameter file:
[oracle@db2 ~]$ cat /u01/bbed.par
blocksize=8192
listfile=/u01/filelist.txt
mode=edit
(3)使用parameter file 连接bbed:
[oracle@db2 ~]$ bbed parfile=/u01/bbed.par
Password:
BBED: Release 2.0.0.0.0 - LimitedProduction on Thu Aug 11 20:47:49 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
************* !!! For Oracle Internal Useonly !!! ***************
BBED> show
FILE# 1
BLOCK# 1
OFFSET 0
DBA 0x00400001(4194305 1,1)
FILENAME /u01/app/oracle/oradata/dave2/system01.dbf
BIFILE bifile.bbd
LISTFILE /u01/filelist.txt
BLOCKSIZE 8192
MODE Edit
EDIT Unrecoverable
IBASE Dec
OBASE Dec
WIDTH 80
COUNT 512
LOGFILE log.bbd
SPOOL No
Oracle BBED 工具 说明
http://blog.csdn.net/tianlesoftware/article/details/5006580