Oracle bbed编译安装及配置

news/2024/12/22 0:13:35/

1. 什么是bbed ?

Oracle Block Brower and EDitor Tool,是一个可以对oracle data block进行查看,编辑修改的内置工具。对于bbed,oracle本身是不提供支持的。

2. 如何编译bbed环境?

10g版本:

1) 编译bbed

cd $ORACLE_HOME/rdbms/lib

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

2) 修改环境变量

  将$ORACLE_HOME/rdbms/lib 加入到PATH变量中,如下:

  PATH=$ORACLE_HOME/bin:$PATH:/home/ora10g/product/10.2/rdbms/lib; export PATH

11g以及12c及19c版本:(本人测试环境为11g/12c/19c)

将bbed编译安装需要的一下4个包上传到/home/oracle/bbed目录下

ssbbded.o

sbbdpt.o

bbedus.msb

bbedus.msg

1) copy /home/oracle/bbed目录下的包到对应的环境目录:

cp /home/oracle/bbed/*.o $ORACLE_BASE/product/11.2.0/db_1/rdbms/lib

cp /home/oracle/bbed/bbedus* $ORACLE_BASE/product/11.2.0/db_1/rdbms/mesg

cp /home/oracle/bbed/*.o $ORACLE_BASE/product/12.2.0/db_1/rdbms/lib

cp /home/oracle/bbed/bbedus* $ORACLE_BASE/product/12.2.0/db_1/rdbms/mesg

cp /home/oracle/bbed/*.o $ORACLE_BASE/product/19.3.0/db_1/rdbms/lib

cp /home/oracle/bbed/bbedus* $ORACLE_BASE/product/19.3.0/db_1/rdbms/mesg

cp /home/oracle/bbed/*.o $ORACLE_HOME/rdbms/lib

cp /home/oracle/bbed/bbedus* $ORACLE_HOME/rdbms/mesg

cd $ORACLE_BASE/product/12.2.0/db_1/rdbms/lib

rm -rf ssbbded.o

rm -rf sbbdpt.o

cd $ORACLE_BASE/product/12.2.0/db_1/rdbms/mesg

rm -rf bbedus.msb

rm -rf bbedus.msg

cd $ORACLE_BASE/product/19.3.0/db_1/rdbms/lib

rm -rf ssbbded.o

rm -rf sbbdpt.o

cd $ORACLE_BASE/product/19.3.0/db_1/rdbms/mesg

rm -rf bbedus.msb

rm -rf bbedus.msg

2) 编译bbed

cd $ORACLE_HOME/rdbms/lib                      

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

密码是:blockedit

报错:

[oracle@deep 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/db_1/bin/bbed

gcc -o /u01/app/oracle/product/11.2.0/db_1/bin/bbed -m64 -z noexecstack -L/u01/app/oracle/product/11.2.0/db_1/rdbms/lib/ -L/u01/app/oracle/product/11.2.0/db_1/lib/ -L/u01/app/oracle/product/11.2.0/db_1/lib/stubs/  /u01/app/oracle/product/11.2.0/db_1/lib/s0main.o /u01/app/oracle/product/11.2.0/db_1/rdbms/lib/ssbbded.o /u01/app/oracle/product/11.2.0/db_1/rdbms/lib/sbbdpt.o `cat /u01/app/oracle/product/11.2.0/db_1/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -ldbtools11 -lclntsh  `cat /u01/app/oracle/product/11.2.0/db_1/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /u01/app/oracle/product/11.2.0/db_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/db_1/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /u01/app/oracle/product/11.2.0/db_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/db_1/lib/sysliblist` -Wl,-rpath,/u01/app/oracle/product/11.2.0/db_1/lib -lm    `cat /u01/app/oracle/product/11.2.0/db_1/lib/sysliblist` -ldl -lm   -L/u01/app/oracle/product/11.2.0/db_1/lib

/u01/app/oracle/product/11.2.0/db_1/rdbms/lib/ssbbded.o: could not read symbols: File in wrong format

collect2: ld returned 1 exit status

make: *** [/u01/app/oracle/product/11.2.0/db_1/bin/bbed] Error 1

原因:

是由于使用的bbed需要的包为32位,需要从64位环境拷贝相关包

编译成功:

[oracle@deep ~]$ 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/12.2.0/db_1/bin/bbed

/u01/app/oracle/product/12.2.0/db_1/bin/orald -o /u01/app/oracle/product/12.2.0/db_1/bin/bbed -m64 -z noexecstack -Wl,--disable-new-dtags -L/u01/app/oracle/product/12.2.0/db_1/rdbms/lib/ -L/u01/app/oracle/product/12.2.0/db_1/lib/ -L/u01/app/oracle/product/12.2.0/db_1/lib/stubs/  /u01/app/oracle/product/12.2.0/db_1/lib/s0main.o /u01/app/oracle/product/12.2.0/db_1/rdbms/lib/ssbbded.o /u01/app/oracle/product/12.2.0/db_1/rdbms/lib/sbbdpt.o `cat /u01/app/oracle/product/12.2.0/db_1/lib/ldflags`    -lncrypt12 -lnsgr12 -lnzjs12 -ln12 -lnl12 -lngsmshd12 -ldbtools12 -lclntsh -lclntshcore  `cat /u01/app/oracle/product/12.2.0/db_1/lib/ldflags`    -lncrypt12 -lnsgr12 -lnzjs12 -ln12 -lnl12 -lngsmshd12 -lnro12 `cat /u01/app/oracle/product/12.2.0/db_1/lib/ldflags`    -lncrypt12 -lnsgr12 -lnzjs12 -ln12 -lnl12 -lngsmshd12 -lnnz12 -lzt12 -lztkg12 -lztkg12 -lclient12 -lnnetd12  -lvsn12 -lcommon12 -lgeneric12 -lmm -lsnls12 -lnls12  -lcore12 -lsnls12 -lnls12 -lcore12 -lsnls12 -lnls12 -lxml12 -lcore12 -lunls12 -lsnls12 -lnls12 -lcore12 -lnls12 `cat /u01/app/oracle/product/12.2.0/db_1/lib/ldflags`    -lncrypt12 -lnsgr12 -lnzjs12 -ln12 -lnl12 -lngsmshd12 -lnro12 `cat /u01/app/oracle/product/12.2.0/db_1/lib/ldflags`    -lncrypt12 -lnsgr12 -lnzjs12 -ln12 -lnl12 -lngsmshd12 -lclient12 -lnnetd12  -lvsn12 -lcommon12 -lgeneric12   -lsnls12 -lnls12  -lcore12 -lsnls12 -lnls12 -lcore12 -lsnls12 -lnls12 -lxml12 -lcore12 -lunls12 -lsnls12 -lnls12 -lcore12 -lnls12 -lclient12 -lnnetd12  -lvsn12 -lcommon12 -lgeneric12 -lsnls12 -lnls12  -lcore12 -lsnls12 -lnls12 -lcore12 -lsnls12 -lnls12 -lxml12 -lcore12 -lunls12 -lsnls12 -lnls12 -lcore12 -lnls12   `cat /u01/app/oracle/product/12.2.0/db_1/lib/sysliblist` -Wl,-rpath,/u01/app/oracle/product/12.2.0/db_1/lib -lm    `cat /u01/app/oracle/product/12.2.0/db_1/lib/sysliblist` -ldl -lm   -L/u01/app/oracle/product/12.2.0/db_1/lib

3. 如何配置bbed?

1) 准备par文件

par.bbed(文件名可自定义):

blocksize=8192           ---指定block size大小                                          

listfile=/home/oracle/bbed/bbedfile.txt    ---指定文件名

logfile=/home/oracle/bbed/log.bbd          ----制定记录的日志文件及位置     

mode=edit                ---指定操作模式(分edit和view两种)                      

spool=yes                ---是否记录bbed的操作日志

2) 准备listfile.txt文件

listfile.txt(文件名可自定义):

8 /u01/app/oracle/oradata/DEEP/deep1/system01.dbf 272629760

9 /u01/app/oracle/oradata/DEEP/deep1/sysaux01.dbf 319815680

10 /u01/app/oracle/oradata/DEEP/deep1/undotbs01.dbf 550502400

11 /u01/app/oracle/oradata/DEEP/deep1/users01.dbf 5242880

12 /u01/app/oracle/oradata/DEEP/deep1/deep.dbf 209715200

说明:

1) 第1列,为文件号,可以人为定义。

2) 第2列,需要使用bbed操作的文件名(全路径)。

3) 第3列,文件大小,可不写。

4)登陆验证

为了登陆方便,在环境变量中设置别名

alias bbed="bbed parfile=/home/oracle/bbed/par.bbd"

[oracle@deep ~]$ bbed

BBED> show

        FILE#           8

        BLOCK#          1

        OFFSET          0

        DBA             0x02000001 (33554433 8,1)

        FILENAME        /u01/app/oracle/oradata/DEEP/deep1/system01.dbf

        BIFILE          bifile.bbd

        LISTFILE        /home/oracle/bbed/bbedfile.txt

        BLOCKSIZE       8192

        MODE            Edit

        EDIT            Unrecoverable

        IBASE           Dec

        OBASE           Dec

        WIDTH           80

        COUNT           512

        LOGFILE         /home/oracle/bbed/log.bbd

        SPOOL           Yes

BBED> info

File#  Name                                                        Size(blks)

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

     8  /u01/app/oracle/oradata/DEEP/deep1/system01.dbf                  33280

     9  /u01/app/oracle/oradata/DEEP/deep1/sysaux01.dbf                  39040

    10  /u01/app/oracle/oradata/DEEP/deep1/undotbs01.dbf                 67200

    11  /u01/app/oracle/oradata/DEEP/deep1/users01.dbf                     640

    12  /u01/app/oracle/oradata/DEEP/deep1/deep.dbf                      25600

至此,bbed的编译安装及配置已经完成。


http://www.ppmy.cn/news/1533586.html

相关文章

基于C++和Python的进程线程CPU使用率监控工具

文章目录 0. 概述1. 数据可视化示例2. 设计思路2.1 系统架构2.2 设计优势 3. 流程图3.1 C录制程序3.2 Python解析脚本 4. 数据结构说明4.1 CpuUsageData 结构体 5. C录制代码解析5.1 主要模块5.2 关键函数5.2.1 CpuUsageMonitor::Run()5.2.2 CpuUsageMonitor::ComputeCpuUsage(…

怎么在FTP服务器上配置SSL/TLS?

随着网络技术的发展,数据传输的安全性变得尤为重要。FTP作为传统的文件传输协议,在传输过程中容易遭受数据截取和篡改的风险。因此,在FTP服务器上配置SSL/TLS协议成为保障数据安全的重要手段。SSL/TLS协议通过加密通信过程,确保数…

【数据结构】---图

图 前言 本篇作为图的基础概念篇, 了解图的离散数学定义, 图的分类, 图模型解决的问题(图的应用), 图的相关算法(仅仅介绍,具体不在此篇展开)。 学习基本路线&#xff…

前端框架:选择的艺术

一、简介 在现代 web 开发中,前端框架扮演着至关重要的角色。 首先,它们极大地提升了开发效率。以 React、Vue 和 Angular 为例,这些框架采用组件化的开发模式,允许开发者将页面拆分成独立的、可复用的组件。例如,在一…

《NoSQL》非关系型数据库MongoDB 学习笔记!

Mongo基础: 使用数据库: 使用use 命令 后面跟着要使用的数据库名字即可, 例如:use cities, 值得注意的是, mongo中不像mysql, 还需要先创建数据库,后访问, mongo中,你无…

C++和OpenGL实现3D游戏编程【连载12】——游戏中音效的使用

1、游戏中音效的使用 前面我们实现了图片纹理的显示功能,是不是感觉到非常的简单。那么今天我们就继续说下游戏声音的实现。音效也是游戏的灵魂,只有搭配了美妙动听的音效以后,游戏才能令人耳目一新,与玩家产生良好的效果。 音效文件最常用的可分为两种,分别为.wav和.mp3…

学习之什么是装饰器

什么是装饰器 本质:就是一个函数,能为其它的函数增加额外功能 # 目标函数 def power_num(n):"""计算并返回1-n之间每个数的平方和:param n::return:"""total 0for i in range(1, n1):total i ** 2"""…

Python办公自动化案例:批量修改Word文件中的段落格式

案例:Python实现批量修改Word文件中的段落格式。 在处理大量Word文档时,经常需要批量修改这些文档的格式,比如统一段落格式,以提升文档的一致性和专业性。使用Python来实现这一任务可以极大地提高工作效率,特别是当涉及到数百或数千个文档时。Python通过第三方库如python…