环境:oracle linux 6.8 + oracle 11.2.0.4
1.拷贝缺失文件
2.编译bbed
一、拷贝缺失文件:
11g中 缺失几个相关文件,但我们可以从10g拷贝相关文件到11g对应目录下:
cp /tmp/linux_bbed/ssbbded.o /u01/app/oracle/product/11.2.0.4/db_1/rdbms/lib/
cp /tmp/linux_bbed/sbbdpt.o /u01/app/oracle/product/11.2.0.4/db_1/rdbms/lib/
cp /tmp/linux_bbed/bbedus.msb /u01/app/oracle/product/11.2.0.4/db_1/rdbms/mesg/
cp /tmp/linux_bbed/bbedus.msg /u01/app/oracle/product/11.2.0.4/db_1/rdbms/mesg/
二、编译 (建议编译到/u01/app/oracle/product/11.2.0.4/db_1/bin目录下,这样就不用更改环境变量)
make -f ins_rdbms.mk BBED=/u01/app/oracle/product/11.2.0.4/db_1/bin/bbed $ORACLE_HOME/bin/bbed
BBED是Oracle内部使用的命令,所有oracle不提供技术支持,为了安全,bbed设置了口令保护。默认密码为blockedit
一般使用bbed,都是将一些配置信息写入到一个参数文本里,在调用bbed时,指定该参数文件,如:$bbed parfile=bbed.par\
示例:
(1)先获取datafile的信息:
将dafafile的信息写入一个文件,格式为: 文件编号 文件名字 文件大小 。可以通过如下SQL获取:
SQL> select file#||' '||name||' '||bytes from v$datafile;
FILE#||''||NAME||''||BYTES
--------------------------------------------------------------------------------
1 /u01/app/oracle/oradata/orcl/system01.dbf 807403520
2 /u01/app/oracle/oradata/orcl/sysaux01.dbf 597688320
3 /u01/app/oracle/oradata/orcl/undotbs01.dbf 466616320
4 /u01/app/oracle/oradata/orcl/users01.dbf 5242880
注意:这里的file id。我们这里的file id和oracle系统内部的file id相同。当然这个id我们也可以自己指定,当我们在bbed里设置file id时,就是根据这个参数文件中的设置的,最好设置为相同,不然以后就容易混淆。
将上面查询出来的datafile信息保存到文本里。
[oracle@oracle ~]$ cat /tmp/filelist.txt
1 /u01/app/oracle/oradata/orcl/system01.dbf 807403520
2 /u01/app/oracle/oradata/orcl/sysaux01.dbf 587202560
3 /u01/app/oracle/oradata/orcl/undotbs01.dbf 466616320
4 /u01/app/oracle/oradata/orcl/users01.dbf 5242880
[oracle@oracle ~]$
(2)创建parameter file:
[oracle@oracle ~]$ cat /tmp/bbed.par
blocksize=8192
listfile=/tmp/filelist.txt
mode=edit
[oracle@oracle ~]$
(3)使用oarameter file 连接bbed
[oracle@oracle ~]$ bbed parfile=/tmp/bbed.par
Password:
BBED: Release 2.0.0.0.0 - Limited Production on Sat Jun 17 17:41:03 2017
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
************* !!! For Oracle Internal Use only !!! ***************
BBED>