Oracle 11g下编译使用BBED的方法教程

 更新时间:2017年07月11日 08:56:17   作者:AlfredZhao  
这篇文章主要给大家介绍了在Oracle 11g下编译使用BBED的方法教程,文中详细介绍了关于拷贝缺失文件、编译BBED以及BBED使用测试的相关资料,通过示例代码介绍的非常详细,需要的朋友们下面来一起看看吧。

BBED介绍:

BBED(Oracle Block Browerand EDitor Tool),用来直接查看和修改数据文件数据的一个工具,是Oracle一款内部工具,可以直接修改Oracle数据文件块的内容,在一些极端恢复场景下比较有用。该工具不受Oracle支持,所以默认是没有生成可执行文件的,在使用前需要重新连接。

本文详细介绍了关于Oracle 11g下编译使用BBED的方法教程,下面话不多说,来一起看看详细的介绍:

环境:RHEL 6.4 + Oracle 11.2.0.4

1. 拷贝缺失文件

11g中缺失几个相关文件,但我们实际可以从10g拷贝相关文件到11g对应目录下:

$ORACLE_HOME/rdbms/lib/sbbdpt.o
$ORACLE_HOME/rdbms/lib/ssbbded.o
$ORACLE_HOME/rdbms/mesg/bbedus.msb
$ORACLE_HOME/rdbms/mesg/bbedus.msg

2. 编译BBED

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

成功编译的结果如下:

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

Linking BBED utility (bbed)
rm -f /u02/app/oracle/product/11.2.0/dbhome_1/bin/bbed
gcc -o /u02/app/oracle/product/11.2.0/dbhome_1/bin/bbed -m64 -z noexecstack -L/u02/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ -L/u02/app/oracle/product/11.2.0/dbhome_1/lib/ -L/u02/app/oracle/product/11.2.0/dbhome_1/lib/stubs/ /u02/app/oracle/product/11.2.0/dbhome_1/lib/s0main.o /u02/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ssbbded.o /u02/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/sbbdpt.o `cat /u02/app/oracle/product/11.2.0/dbhome_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -ldbtools11 -lclntsh `cat /u02/app/oracle/product/11.2.0/dbhome_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /u02/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 /u02/app/oracle/product/11.2.0/dbhome_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /u02/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 /u02/app/oracle/product/11.2.0/dbhome_1/lib/sysliblist` -Wl,-rpath,/u02/app/oracle/product/11.2.0/dbhome_1/lib -lm `cat /u02/app/oracle/product/11.2.0/dbhome_1/lib/sysliblist` -ldl -lm -L/u02/app/oracle/product/11.2.0/dbhome_1/lib

3. BBED使用测试

--3.1 bbed命令测试可用
[oracle@JY-DB01 dbhome_1]$ bbed
Password: --密码默认是blockedit

BBED: Release 2.0.0.0.0 - Limited Production on Mon Jan 18 15:13:09 2016

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

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

BBED> help all
SET DBA [ dba | file#, block# ]
SET FILENAME 'filename'
SET FILE file#
SET BLOCK [+/-]block#
SET OFFSET [ [+/-]byte offset | symbol | *symbol ]
SET BLOCKSIZE bytes
SET LIST[FILE] 'filename'
SET WIDTH character_count
SET COUNT bytes_to_display
SET IBASE [ HEX | OCT | DEC ]
SET OBASE [ HEX | OCT | DEC ]
SET MODE [ BROWSE | EDIT ]
SET SPOOL [ Y | N ]
SHOW [ <SET parameter> | ALL ]
INFO
MAP[/v] [ DBA | FILENAME | FILE | BLOCK ]
DUMP[/v] [ DBA | FILENAME | FILE | BLOCK | OFFSET | COUNT ]
PRINT[/x|d|u|o|c] [ DBA | FILE | FILENAME | BLOCK | OFFSET | symbol | *symbol ]
EXAMINE[/Nuf] [ DBA | FILE | FILENAME | BLOCK | OFFSET | symbol | *symbol ]
</Nuf>:
N - a number which specifies a repeat count.
u - a letter which specifies a unit size:
 b - b1, ub1 (byte)
 h - b2, ub2 (half-word)
 w - b4, ub4(word)
 r - Oracle table/index row
f - a letter which specifies a display format:
 x - hexadecimal
 d - decimal
 u - unsigned decimal
 o - octal
 c - character (native)
 n - Oracle number
 t - Oracle date
 i - Oracle rowid
FIND[/x|d|u|o|c] numeric/character string [ TOP | CURR ]
COPY [ DBA | FILE | FILENAME | BLOCK ] TO [ DBA | FILE | FILENAME | BLOCK ]
MODIFY[/x|d|u|o|c] numeric/character string
  [ DBA | FILE | FILENAME | BLOCK | OFFSET | symbol | *symbol ]
ASSIGN[/x|d|u|o] <target spec>=<source spec>
<target spec> : [ DBA | FILE | FILENAME | BLOCK | OFFSET | symbol | *symbol ]
<source spec> : [ value | <target spec options> ]
SUM [ DBA | FILE | FILENAME | BLOCK ] [ APPLY ]
PUSH [ DBA | FILE | FILENAME | BLOCK | OFFSET ]
POP [ALL]
REVERT [ DBA | FILE | FILENAME | BLOCK ]
UNDO
HELP [ <bbed command> | ALL ]
VERIFY [ DBA | FILE | FILENAME | BLOCK ]
CORRUPT [ DBA | FILE | FILENAME | BLOCK ]

BBED> 

--3.2 bbed命令参数
[oracle@JY-DB01 tmp]$ 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]

另外,一般使用bbed都是在参数配置文件中写好配置参数,然后直接调用配置文件,比如:

--编辑/tmp/bbed.par参数配置文件
blocksize=8192
listfile=/tmp/listfile.txt
mode=edit
--编辑/tmp/listfile.txt文件 
5 /u02/oradata/jingyu/dbs_d_jingyu01.dbf 31457280
6 /u02/oradata/jingyu/dbs_i_jingyu01.dbf 31457280
--调用bbed
cd /tmp
bbed parfile=bbed.par

Reference

     •Oracle BBED 工具 说明

     •四步快速启动oracle bbed

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

您可能感兴趣的文章:

相关文章

  • CMD操作oracle数据导库过程图解

    CMD操作oracle数据导库过程图解

    这篇文章主要介绍了CMD操作oracle数据导库过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • 关于oracle中clob字段查询慢的问题及解决方法

    关于oracle中clob字段查询慢的问题及解决方法

    最近在用oracle的过程中用到了对blob字段模糊查询的问题。接下来通过本文给大家分享关于oracle中clob字段查询慢的问题及解决方法,需要的的朋友参考下吧
    2017-02-02
  • oracle SCN跟TIMESTAMP之间转换

    oracle SCN跟TIMESTAMP之间转换

    本文将详细介绍oracle SCN跟TIMESTAMP之间转换,需要的朋友可以参考下
    2012-11-11
  • Oracle 存储过程总结(一、基本应用)

    Oracle 存储过程总结(一、基本应用)

    Oracle 存储过程总结 基本应用技巧,大家可以学习下oracle存储过程最基本的东西。
    2009-07-07
  • Oracle建表与创建序列详细实例

    Oracle建表与创建序列详细实例

    在oracle中sequence就是所谓的序列号,每次取的时候它会自动增长,通常用在须要按序列号排序的地方,下面这篇文章主要给大家介绍了关于Oracle建表与创建序列的相关资料,需要的朋友可以参考下
    2023-06-06
  • Oracle实现行列转换的方法分析

    Oracle实现行列转换的方法分析

    这篇文章主要介绍了Oracle实现行列转换的方法,结合实例形式分析了Oracle针对固定列、不定列、列数不固定等情况下的行列转换操作技巧,需要的朋友可以参考下
    2016-08-08
  • oracle的导入导出注意事项及心得分享

    oracle的导入导出注意事项及心得分享

    导入导出oracle方案是备份和恢复的主旋律,有一点点在使用过程中的体会,在此与大家分享下,希望对大家有所帮助
    2013-09-09
  • Windows10 x64安装、配置Oracle 11g过程记录(图文教程)

    Windows10 x64安装、配置Oracle 11g过程记录(图文教程)

    这篇文章主要介绍了Windows10 x64安装、配置Oracle 11g过程记录(图文教程),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • Oracle中日期的使用方法实例

    Oracle中日期的使用方法实例

    oracle数据类型看起来非常简单,但用起来会发现有许多知识点,下面这篇文章主要给大家介绍了关于Oracle中日期使用方法的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • oracle删除已存在的表的实例

    oracle删除已存在的表的实例

    查询系统表,判断表是否存在,存在则直接删除
    2013-02-02

最新评论