在ORACLE 11G下安装BBED,需要从ORACLE 10G中复制三个包

bbedus.msb

sbbdpt.o

ssbbded.o

并将三个文件移到11g $ORACLE_HOME/rdbms/lib/ 目录下

$ mv sbbdpt.o $ORACLE_HOME/rdbms/lib/

$ mv ssbbded.o $ORACLE_HOME/rdbms/lib/

$ mv bbedus.msb $ORACLE_HOME/rdbms/mesg/

$ cd $ORACLE_HOME/rdbms/lib

$ make -f $ORACLE_HOME/rdbms/lib/ins_rdbms.mk BBED=$ORACLE_HOME/bin/bbed $ORACLE_HOME/bin/bbed

[oracle@ryxrac2 lib]$ make -f $ORACLE_HOME/rdbms/lib/ins_rdbms.mk BBED=$ORACLE_HOME/bin/bbed $ORACLE_HOME/bin/bbed

Linking BBED utility (bbed)

rm -f /u01/app/oracle/product/11.2.0/dbhome_1/bin/bbed

gcc -o /u01/app/oracle/product/11.2.0/dbhome_1/bin/bbed -m64 -z noexecstack -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/  /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 -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

成功后,登录如下:

[oracle@ryxrac2 lib]$ bbed

Password:

(默认密码为blockedit)

BBED: Release 2.0.0.0.0 - Limited Production on Thu Jan 22 16:23:11 2015

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

************* !!! For Oracle Internal Use only !!! ***************

BBED>

第一部  参数介绍

[oracle@DG01 ~]$ 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]

PASSWORD  在参数文件中写入密码,可直接进入BBED命令行界面当中

FILENAME  指定要操作或浏览的文件

BLOCKSIZE  指定数据库块大小

LISTFILE  列出文件名

MODE      设置浏览模式或编辑模式

SPOOL     使记录到日志文件中

CMDFILE   BBED命令文件名

LOGFILE   配置日志文件的具体位置和日志文件名

PARFILE   配置参数文件,使用参数文件可方便登录

BIFILE    BBED以前映像文件名

REVERT    从BIFILE中回滚修改的内容

SILENT    登录时不显示欢迎标语

HELP      显示所有有效的参数

第二部 具体使用

第一步   获得DBF文件的 文件号、名称、大小

SQL> select file#||' '||name||' '||bytes from v$datafile;

FILE#||''||NAME||''||BYTES

--------------------------------------------------------------------------------

1 /oracle/ora10g/db_1/oradata/DG/system01.dbf 503316480

2 /oracle/ora10g/db_1/oradata/DG/undotbs01.dbf 26214400

3 /oracle/ora10g/db_1/oradata/DG/sysaux01.dbf 241172480

4 /oracle/ora10g/db_1/oradata/DG/users01.dbf 5242880

5 /oracle/ora10g/db_1/oradata/DG/example01.dbf 104857600

第二步  把上面的信息保存在这

[oracle@DG01 ~]$ vi /oracle/dbf.txt

[oracle@DG01 ~]$ cat /oracle/dbf.txt

1 /oracle/ora10g/db_1/oradata/DG/system01.dbf 503316480

2 /oracle/ora10g/db_1/oradata/DG/undotbs01.dbf 26214400

3 /oracle/ora10g/db_1/oradata/DG/sysaux01.dbf 241172480

4 /oracle/ora10g/db_1/oradata/DG/users01.dbf 5242880

5 /oracle/ora10g/db_1/oradata/DG/example01.dbf 104857600

第三步    创建parfile文件

vi /home/oracle/bbed_file/bbed.par

[oracle@DG01 ~]$ more /home/oracle/bbed_file/bbed.par

blocksize=8192

listfile=/home/oracle/bbed_file/dbf.txt

mode=edit

password=blockedit

silent=y

spool=y

logfile='/home/oracle/bbed_file/bbed.log'

第四步     登录BBED

[oracle@DG01 ~]$ bbed parfile=/home/oracle/bbed_file/bbed.par

BBED>

第五步     查看当前的环境参数

BBED> show all;

FILE#           7

BLOCK#          1

OFFSET          0

DBA             0x01c00001 (29360129 7,1)

FILENAME        /home/oracle/app/oradata/rtms/tbs_test01.dbf

BIFILE          bifile.bbd

LISTFILE        /home/oracle/bbed_file/dbf.txt

BLOCKSIZE       8192

MODE            Edit

EDIT            Unrecoverable

IBASE           Dec

OBASE           Dec

WIDTH           80

COUNT           512

LOGFILE         /home/oracle/bbed_file/bbed.log

SPOOL           Yes

第三部 效果显示

SILENT  参数

1、 不使用silent参数时

[oracle@DG01 ~]$ bbed

Password:

BBED: Release 2.0.0.0.0 - Limited Production on Thu Jun 26 05:28:19 2014

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

************* !!! For Oracle Internal Use only !!! ***************

2、 使用此参数时

[oracle@DG01 ~]$ bbed silent=y

Password:

BBED>

PASSWORD参数

1、 使用此参数时

[oracle@DG01 ~]$ bbed password=blockedit

BBED: Release 2.0.0.0.0 - Limited Production on Thu Jun 26 05:30:43 2014

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

************* !!! For Oracle Internal Use only !!! ***************

BBED>

一长串参数组合

[oracle@DG01 ~]$ bbed password=blockedit blocksize=8192 mode=edit spool=y logfile=/oracle/bbed.log silent=y

BBED>

BBED只能修改数据文件块,主要是两种数据块:文件头块、数据块。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐