Oracle bbed编译安装及配置

ops/2024/10/19 1:59:17/

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/ops/121942.html

相关文章

RabbitTemplate与AmqpTemplate:Spring AMQP中的消息传递模板

在Spring AMQP和RabbitMQ的集成中,RabbitTemplate与AmqpTemplate是两个至关重要的消息传递模板。虽然两者在功能上有所重叠,但它们各自具有独特的特点和适用场景。本文将深入探讨RabbitTemplate与AmqpTemplate之间的区别,以帮助开发者更好地理…

国内超声波清洗机哪个品牌好?力荐四款超耐用超声波清洗机!

超声波清洗机作为一款高效实用的家庭与专业清洁利器,能够迅速且彻底地清洁多样化的物件。面对市场上琳琅满目的品牌与型号,每一款都各具特色与优势,故在决定购买前做足调研显得尤为重要,以免购入不尽如人意的产品,造成…

深度学习全景进阶:最新Python深度学习进阶与前沿应用

近年来,伴随着以卷积神经网络(CNN)为代表的深度学习的快速发展,人工智能迈入了第三次发展浪潮,AI技术在各个领域中的应用越来越广泛。注意力机制、Transformer模型(BERT、GPT-1/2/3/3.5/4、DETR、ViT、Swin…

医药行业的智能合同审查:大模型与AI赋能合规管理

随着医药行业的快速发展,尤其是在全球化背景下,企业在业务拓展、合作协议签订中需要处理大量复杂的合同。合同不仅是业务的法律保障,更是风险管理的重要工具。医药行业合同审查的复杂性源于其严格的合规性要求,包括与政府机构、研…

PostgreSQL的pglz使用限制

PostgreSQL的pglz使用限制 在 PostgreSQL 中,PGLZ(PostgreSQL Lightweight Compression Algorithm)是一种用于压缩数据的算法,主要用于 TOAST(The Oversized-Attribute Storage Technique)机制。PGLZ 的使…

地理定位营销与开源AI智能名片O2O商城小程序的融合与发展

摘要:本文阐述地理定位营销的概念、手段及其在商业中的应用,探讨开源AI智能名片O2O商城小程序如何与地理定位营销相结合,为企业营销带来新的机遇与挑战。 一、引言 在当今数字化营销的时代,地理定位营销已成为一种重要的营销手段…

潮汕自闭症学校寄宿制度解读:了解学生生活

自闭症儿童的温馨港湾:广州星贝育园寄宿制学校 自闭症,这一复杂的神经发育障碍,影响着无数孩子的成长之路。他们面临着语言障碍、社交障碍以及刻板行为等多重挑战,使得日常生活和学习变得尤为艰难。然而,在广州&#…

基于微信小程序的网上商城+ssm(lw+演示+源码+运行)

摘 要 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,微信小程序被用户普遍使用,为方便用户能够可以…