Oracle BBED块编辑器使用指南

需积分: 10 10 下载量 100 浏览量 更新于2024-07-22 收藏 124KB PDF 举报
"BBED是Oracle提供的一款强大的数据块浏览器和编辑工具,主要用于直接查看和修改Oracle数据库的数据文件内容。在处理一些极端的恢复场景时,BBED能发挥重要作用,帮助DBA进行深入的数据块级别的操作。" BBED(Oracle Block Browser and Editor Tool)是Oracle数据库系统自带的一个实用工具,它允许管理员直接访问并修改数据库的数据文件中的数据块。通过BBED,用户可以深入了解Oracle数据块的结构,这对于理解数据库底层工作原理以及在特殊情况下执行灾难恢复至关重要。 使用BBED时,有以下几个主要的命令: 1. **setdba**: 这个命令用于设置要查看或编辑的数据块的地址,其参数是数据块的DBA(Database Block Address),格式为`file_id,block_id`。例如,`setdba 4,16`将指向数据文件4中的第16个数据块。 2. **setfilename**: 该命令用于指定要操作的数据文件路径,如`setfilename '/u01/app/oracle/oradata/orcl/example01.dbf'`。 3. **setfile**: 此命令用来设置要操作的数据文件编号,如`setfile 4`会切换到文件号为4的数据文件。 4. **setblock**: 通过这个命令可以设定要查看或编辑的块号,可以加上正负号来相对当前块号增加或减少,例如`setblock +3`或`setblock -3`。 5. **setoffset**: 设置数据的dump显示起始字节偏移量,如`setoffset 20`。同样,可以使用正负号进行相对偏移。 6. **d (dump)**: BBED的dump命令用于显示当前数据块的内容,包括文件路径、块号、偏移量范围及数据块的实际内容。 BBED的使用需要对Oracle数据块结构有深入的理解,因为它允许直接操作存储在磁盘上的二进制数据。在使用过程中,需要谨慎操作,因为不正确的使用可能会导致数据损坏。通常,BBED是在其他常规恢复手段无效时,作为最后一道防线的工具。 在进行灾难恢复时,BBED可以用来修复损坏的数据块,或者在没有备份的情况下恢复丢失的数据。但是,这种操作需要非常专业的技能,且可能涉及到对数据库一致性的影响,因此在实际应用中,应尽量避免在生产环境中直接使用BBED,除非已经做好了充分的准备和了解可能的风险。 BBED是一个强大的工具,它提供了对Oracle数据库底层的直接访问,但同时也需要使用者具备高级的Oracle知识和谨慎的态度。在日常运维中,更常见的是使用如SQL语句或Oracle提供的其他管理工具来管理和操作数据库。
2018-04-11 上传
提供10g,11g linux及windows BBED工具 及详细编译说明readme文件。 一. 10g linux编译BBED [oracle@node3 ~]$ cd $ORACLE_HOME/rdbms/lib [oracle@node3 lib]$ make -f ins_rdbms.mk BBED=$ORACLE_HOME/bin/bbed $ORACLE_HOME/bin/bbed 直接生成到bin下为可执行文件 编译完成后: 编译成功后登陆BBED,登陆时需要密码(BBED的默认密码是blockedit) [oracle@node3 bin]$ bbed Password: BBED: Release 2.0.0.0.0 - Limited Production on Wed Apr 11 10:01:07 2018 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. ************* !!! For Oracle Internal Use only !!! *************** BBED> 二. 11g linux编译BBED oracle 11gR2环境中编译BBED可执行文件所需要的ssbbded.o和sbbdpt.o对象文件被移除,不过可以从oracle 10g环境中将这两个文件拷贝到oracle11g环境进行编译。 除了将上面的ssbbded.o和sbbdpt.o 文件拷贝到11g环境外,BBED还需要用到 $ORACLE_HOME/rdbms/mesg目录下的bbedus.msb这个信息文件, 这几个文件都需要从oracle10g中拷贝到oracle11g中对于的目录中。 文件夹linux_10g_bbed_64 包括了这3个文件。 下面是将以上3个文件从Oracle 10g中拷贝到11g对于目录后编译的过程。 1)把linux_10g_bbed_64目录下的10g的ssbbded.o和sbbdpt.o 放到 $ORACLE_HOME/rdbms/lib 目录下 2)把linux_10g_bbed_64目录下的10g的 bbedus.msb 文件拷贝到 $ORACLE_HOME/rdbms/mesg目录下 3)编译 [oracle@node1 ~] cd $ORACLE_HOME/rdbms/lib [oracle@node1 ~] make -f ins_rdbms.mk BBED=$ORACLE_HOME/bin/bbed $ORACLE_HOME/bin/bbed [oracle@node3 bin]$ bbed Password: BBED: Release 2.0.0.0.0 - Limited Production on Wed Apr 11 10:01:07 2018 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. ************* !!! For Oracle Internal Use only !!! *************** BBED> 三、windows 11GR2 bbed oracle9i版本以后Oracle不装载BBED了, Windows上也没有makefile来编译bbed。 所以,如果你想在Windows上使用bbed,你需要很多文件(本下载压缩包已经全包含了): 你需要一个bbed.exe. 你只能从Oracle 9i的安装中得到它。 你需要有一堆的DLL。所有这些DLL在Oracle9i安装中可以得到。 使用BBED需要消息文件。这文件是“bbedus.msb”,位于Oracle9i安装的MESG目录下。而你需要将其复制到ORACLE_HOME的RDBMS\MESG目录下。 这些在目录本压缩包的 bbed_win 中已经全部提供了。 把它们放在BBED安装的目录下(比如D:\bbed_win),环境变量ORACLE_HOME设置好。确保消息文件在$ORACLE_HOME\RDBMS\MESG下,最后启动BBED: D:\bbed_win>bbed Password: BBED: Release 2.0.0.0.0 - Limited Production on Wed Apr 11 10:20:43 2018 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. ************* !!! For Oracle Internal Use only !!! *************** BBED>