千家信息网

BBED在Oracle 10g/11g上安装笔记

发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,Oracle BBED(Oracle Block Browser and Editor)工具是Oracle内部提供的数据块级别查看和修改工具。借助这个工具,我们可以方便的查看到Oracle块block
千家信息网最后更新 2025年11月13日BBED在Oracle 10g/11g上安装笔记

Oracle BBED(Oracle Block Browser and Editor)工具是Oracle内部提供的数据块级别查看和修改工具。借助这个工具,我们可以方便的查看到Oracle块block级别的存储细节信息,更好的了解Oracle Internal结构技术细节。

1、环境介绍

首先,要说明BBED是非Oracle推荐使用的工具,只提供给内部进行恢复处理使用,对外是不提供任何资料和相关技术支持。所以,我们如果计划使用该工具,特别是在生产环境下使用,都是我们的最后选择方案。一定要在有备份能恢复的时候进行使用,否则贸然使用BBED,容易造成数据库启动失败或者更严重的问题。

BBED提供的版本中,只有Linux/Unix,在Windows上是没有对应版本的。索引使用BBED的环境通常是命令行方式。而且BBED在Oracle内部是没有提供编译好的现成版本,需要我们手工性编译链接操作。

本篇分别针对Oracle 10g11g上编译BBED方法进行记录,权当一个备忘。

2、Oracle 10g下编译BBED

本方法适用于Oracle 10g以及之前的可见版本。

首先查看系统中相关环境变量,定位到BBED的库文件目录。

[oracle@oracle10g ~]$ env | grep ORACLE

ORACLE_SID=wilson

ORACLE_BASE=/u01

ORACLE_HOME=/u01/oracle

BBED对应的对象object文件通常是在$ORACLE_HOME/rdbms/lib里。

[oracle@oracle10g ~]$ cd $ORACLE_HOME/rdbms/lib

[oracle@oracle10g lib]$ pwd

/u01/oracle/rdbms/lib

之后,使用Linux系统的make命令进行编译和连接,生成执行程序bbed。


[oracle@oracle10g lib]$ make -f ins_rdbms.mk $ORACLE_HOME/rdbms/lib/bbed

Linking BBED utility (bbed)

rm -f /u01/oracle/rdbms/lib/bbed

gcc -o /u01/oracle/rdbms/lib/bbed -L/u01/oracle/rdbms/lib/ -L/u01/oracle/lib/ -L/u01/oracle/lib/stubs/ -L/usr/lib -lirc/u01/oracle/lib/s0main.o /u01/oracle/rdbms/lib/ssbbded.o /u01/oracle/rdbms/lib/sbbdpt.o `cat /u01/oracle/lib/ldflags`-lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 /u01/oracle/rdbms/lib/defopt.o -ldbtools10 -lclntsh`cat /u01/oracle/lib/ldflags`-lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lnro10 `cat /u01/oracle/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 /u01/oracle/lib/ldflags`-lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lnro10 `cat /u01/oracle/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 /u01/oracle/lib/sysliblist` -Wl,-rpath,/u01/oracle/lib -lm`cat /u01/oracle/lib/sysliblist` -ldl -lm-L/u01/oracle/lib

就可以查看到生成的可执行文件bbed。

[oracle@oracle10g lib]$ ls -l bbed

-rwxr-xr-x1 oracle oinstall 540313 Jun 16 09:15 bbed

通常将bbed拷贝到目录$ORACLE_HOME/bin目录下,因为该目录是被加入到PATH环境变量里,系统全局各个位置都能访问到。之后,就是构建常用的参数文件一类的内容。

[oracle@oracle10g lib]$ cp bbed $ORACLE_HOME/bin

[oracle@oracle10g bin]$ ls -l bbed

-rwxr-xr-x1 oracle oinstall 540313 Jun 16 09:20 bbed

[oracle@oracle10g bin]$ cat par.txt

blocksize=8192

listfile=filelist.txt

mode=edit

尝试启动BBED。

[oracle@oracle10g bin]$ bbed

Password:

BBED: Release 2.0.0.0.0 - Limited Production on Thu Jun 16 09:23:18 2011

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

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

BBED>

安装成功!

3、Oracle11g下BBED的使用

Oracle10g以及以前的版本,用上述的方法就可以使用了。但是在Oracle11g中,还是需要一些额外处理才可以。根本的原因在于编译11g下BBED的时候,会报出库obj文件缺失的错误。

解决的思路也很简单,就是从Oracle10g下对应的obj文件拷贝出,放置在11g下就可以了。

从oracle10g$ORACLE_HOME/rdbms/lib中,拷贝ssbbded.o, sbbdpt.o

$ORACLE_HOME/rdbms/msg中,拷贝bbedus.msb

在11g下:

[oracle@bspdev ~]$ cd $ORACLE_HOME/rdbms/lib

[oracle@bspdev lib]$ pwd

/u01/app/oracle/rdbms/lib

[oracle@bspdev lib]$

编译过程相似:

[oracle@bspdev lib]$ make -f ins_rdbms.mk $ORACLE_HOME/rdbms/lib/bbed

Linking BBED utility (bbed)

rm -f /u01/app/oracle/rdbms/lib/bbed

gcc -o /u01/app/oracle/rdbms/lib/bbed -m32 -L/u01/app/oracle/rdbms/lib/ -L/u01/app/oracle/lib/ -L/u01/app/oracle/lib/stubs/ -L/u01/app/oracle/lib/ -lirc -lipgo/u01/app/oracle/lib/s0main.o /u01/app/oracle/rdbms/lib/ssbbded.o /u01/app/oracle/rdbms/lib/sbbdpt.o `cat /u01/app/oracle/lib/ldflags`-lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -ldbtools11 -lclntsh`cat /u01/app/oracle/lib/ldflags`-lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /u01/app/oracle/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/lib/ldflags`-lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /u01/app/oracle/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/lib/sysliblist` -Wl,-rpath,/u01/app/oracle/lib -lm`cat /u01/app/oracle/lib/sysliblist` -ldl -lm-L/u01/app/oracle/lib

编译成功,之后同样是拷贝到指定的$ORACLE_HOME/bin目录下即可使用。

编译 工具 拷贝 文件 版本 环境 目录 是在 系统 成功 变量 命令 技术 数据 方法 时候 级别 细节 处理 生成 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 沈鑫剡网络安全答案 服务器自动重启硬件维护 民用航空网络安全定级指南 网络安全人员责任 网络技术对著作权制度有影响吗 绘出网络安全儿童画 服务器怎么获得自己头颅 建行软件开发中心 厦门 仙居定制软件开发推荐咨询 数据库插曲一条数据线多少钱 服务器设置网断访问权限 雄安软件开发哪家好 晋州软件开发文档在线咨询 一般数据库只需满足什么范式 数据库技术与应用章节测试 网络安全保障体系架构是什么 怀旧服服务器无法启动 互联网开发数据库 网络安全证书图片 软件开发用户文档有哪些 金仓数据库查询版本 太康天气预报软件开发 数据库系统导论pdf百度云 迪奥网络技术有限公司 育碧无法连接服务器怎么办 向服务器请求ip地址命令 公司服务器被消毒水喷坏 武汉网盾科技有限公司服务器租用 如何将服务器绑定域名 青桐计划软件开发
0