广告
返回顶部
首页 > 资讯 > 数据库 >BBED工具的安装使用(一)
  • 420
分享到

BBED工具的安装使用(一)

2024-04-02 19:04:59 420人浏览 薄情痞子
摘要

BBED是用来直接查看和修改数据文件数据的一个工具,是oracle一款内部工具,可以直接修改Oracle数据文件块的内容,在一些极端恢复场景下比较有用。要想使用该工具,需用户自己安装,在Oracle&n

BBED是用来直接查看和修改数据文件数据的一个工具,是oracle一款内部工具,可以直接修改Oracle数据文件块的内容,在一些极端恢复场景下比较有用。要想使用该工具,需用户自己安装,在Oracle 9i和10g版本中,安装的方法很简单:

 

[oracle@node1 u01]$ cd $ORACLE_HOME/rdbms/lib/

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

 

Linking BBED utility (bbed)

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

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

 

Oracle11g中缺省不提供BBET库文件,如果需要可以将10g中的文件copy到11g相应目录再执行安装:

$ORACLE_HOME/rdbms/lib/ssbbded.o 

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

$ORACLE_HOME/rdbms/mesg/bbedus.msg

 

 

在第一次使用时会发现有默认的口令,从这里可以看出oracle对bbed工具的限制,默认的密码是blockedit

 

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

[oracle@node1 lib]$ ./bbed 

PassWord

 

BBED: Release 2.0.0.0.0 - Limited Production on Thu Jul 10 16:09:57 2014

 

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

 

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

 

查看一下bbed 命令

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 ]

 

set 设定当前的环境

show 查看当前的环境参数,跟sqlplus的同名命令类似。

dump 列出指定block的内容

find 在指定的block中查找指定的字符串,结果是显示出字符串,及其偏移量--offset,偏移量就是在block中的字节数

modify 修改指定block的指定偏移量的值,可以在线修改。

copy 把一个block的内容copy到另一个block中

verify 检查当前环境是否有坏块

sum 计算block的checksum,modify之后block就被标识为坏块,current checksum与reqired checksum不一致,sum命令可以计算出新的checksum并应用到当前块。

undo 回滚当前的修改操作,如果手误做错了,undo一下就ok了,回到原来的状态。

revert 回滚所有之前的修改操作,意思就是 undo all

 

为bbed配置一个参数文本

 

制作bbed列表

SQL> set heading off;

SQL> set feedback off;

 

SQL> spool /u01/bbedlist.parf

SQL> select file#||' '||name||' '||bytes from v$datafile ;

 

1 /u01/app/oracle/oradata/orcl_dup/system01.dbf 524288000

3 /u01/app/oracle/oradata/orcl_dup/sysaux01.dbf 346030080

4 /u01/app/oracle/oradata/orcl_dup/users01.dbf 191365120

5 /u01/app/oracle/oradata/orcl_dup/example01.dbf 104857600

6 /u01/app/oracle/oradata/orcl_dup/tts01.dbf 20971520

7 /u01/app/oracle/oradata/orcl_dup/tts02.dbf 20971520

8 /u01/app/oracle/oradata/orcl_dup/undotbs001.dbf 104857600

SQL> spool off;

 

SQL> set heading on;

SQL> set feedback on;

 

制作parfile

 

[oracle@node1 lib]$ vi /u01/bbed.par

blocksize = 8192

listfile= /u01/bbedlist.parf

mode = edit

 

用parfile启动bbed

 

[oracle@node1 lib]$ ./bbed parfile=/u01/bbed.par  password=blockedit

 

BBED: Release 2.0.0.0.0 - Limited Production on Thu Jul 10 16:42:27 2014

 

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

 

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

 

BBED> show

        FILE#           1

        BLOCK#          1

        OFFSET          0

        DBA             0x00400001 (4194305 1,1)

        FILENAME        /u01/app/oracle/oradata/orcl_dup/system01.dbf

        BIFILE          bifile.bbd

        LISTFILE        /u01/bbedlist.parf

        BLOCKSIZE       8192

        MODE            Edit

        EDIT            Unrecoverable

        IBASE           Dec

        OBASE           Dec

        WIDTH           80

        COUNT           512

        LOGFILE         log.bbd

        SPOOL           No

 

通过bbed获取指定数值的RDBA(Relative Data Block Address)

SQL> select * from bbed_test;

 

JOB

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

123456

1234567890

 

2 rows selected.

 

SQL> select

  2  rowid,

  3  dbms_rowid.rowid_relative_fno(rowid)rel_fno,

  4  dbms_rowid.rowid_block_number(rowid)blockno,

  5  dbms_rowid.rowid_row_number(rowid)rowno

  6  from bbed_test;

 

ROWID                 REL_FNO    BLOCKNO      ROWNO

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

AAAN9GAAEAAAAK0AAA          4        692          0

AAAN9GAAEAAAAK0AAB          4        692          1

 

2 rows selected.

 

BBED> set dba 4,692 offset 0

        DBA             0x010002b4 (16777908 4,692)

        OFFSET          0

 

BBED> show

        FILE#           4

        BLOCK#          692

        OFFSET          8168

        DBA             0x010002b4 (16777908 4,692)

        FILENAME        /u01/app/oracle/oradata/orcl_dup/users01.dbf

        BIFILE          bifile.bbd

        LISTFILE        /u01/bbedlist.parf

        BLOCKSIZE       8192

        MODE            Edit

        EDIT            Unrecoverable

        IBASE           Dec

        OBASE           Dec

        WIDTH           80

        COUNT           512

        LOGFILE         log.bbd

        SPOOL           No

 

当然数据库中通过dbms_utility包也很容易就能获得,此处可以对比一下

 

SQL> variable get_rdba varchar2(30);

 

SQL> exec :dba :=dbms_utility.make_data_block_address(4,692);

PL/SQL procedure successfully completed.

 

SQL> print dba

 

DBA

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

16777908

 

您可能感兴趣的文档:

--结束END--

本文标题: BBED工具的安装使用(一)

本文链接: https://www.lsjlt.com/news/49984.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • BBED工具的安装使用(一)
    BBED是用来直接查看和修改数据文件数据的一个工具,是Oracle一款内部工具,可以直接修改Oracle数据文件块的内容,在一些极端恢复场景下比较有用。要想使用该工具,需用户自己安装,在Oracle&n...
    99+
    2022-10-18
  • 怎么安装Oracle BBED工具
    本篇内容介绍了“怎么安装Oracle BBED工具”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!BBED的...
    99+
    2022-10-18
  • Oracle 11G安装bbed工具的步骤
    这篇文章主要讲解了“Oracle 11G安装bbed工具的步骤”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Oracle 11G安装bbed工具的步骤”吧!...
    99+
    2022-10-18
  • BBED工具使用
    Oracle Block Brower and EDitor Tool(即bbed)工具,用来直接查看和修改数据文件数据的一个工具,是Oracle一款内部工具,可以直接修改Oracle数据文件块的内容,简单...
    99+
    2022-10-18
  • MyCli工具的安装
    MyCli这个是python开发的mysql客户端小程序,能自动补全SQL命令。在CentOS下面执行:# yum install python-devel # ea...
    99+
    2022-10-18
  • Linux运维工具Supervisor的安装使用(进程管理工具)
    一、介绍 Supervisor是用python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。目前Supervisor可以运行在大多数Unix系统上,但不...
    99+
    2022-06-04
    Linux运维工具Supervisor Linux Supervisor
  • JasperReport工具怎么安装及使用
    JasperReports是一个用于生成丰富报表的开源Java报表工具。下面是JasperReports的安装和使用步骤: 安装Ja...
    99+
    2023-10-23
    JasperReport
  • Python工具Conda怎么安装使用
    本篇内容介绍了“Python工具Conda怎么安装使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Con...
    99+
    2022-10-19
  • 如何安装和使用Elasticsearch工具cerebro的
    本篇内容主要讲解“如何安装和使用Elasticsearch工具cerebro的”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何安装和使用Elasticsearch工具cerebro的”吧!Ce...
    99+
    2023-06-07
  • Apache压力测试工具的安装使用
    1.下载 进入apache官网 http://httpd.apache.org/ 下载apache即可 2.启动ab 以windows环境下,apache安装路径为C:\apache\Apache24\为例 打开cmd命...
    99+
    2022-06-04
    Apache压力测试工具 Apache压力测试工具安装
  • Python中pip工具的安装以及使用
    一、简单介绍 pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装和卸载的功能,现在大家用到的所有包不是自带的就是通过pip安装的。Python 2...
    99+
    2022-11-12
  • CMDB工具 - iTop安装部署(一发入魂)
    基于 LAMP 环境部署 iTop 一、搭建 LAMP 环境 注:操作系统为 CentOS 7.9 安装 Apache HTTP Server sudo yum -y install httpd ...
    99+
    2023-08-31
    php mysql centos 运维
  • Linux中如何安装使用Progress工具
    这篇文章主要为大家展示了“Linux中如何安装使用Progress工具”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中如何安装使用Progress工具”这篇文章吧。实验环境Centos...
    99+
    2023-06-05
  • Redis监控工具RedisInsight安装与使用
    目录一、RedisInsight 简介二、RedisInsight 安装与使用1.物理安装2.Kubernetes 安装3.RedisInsight 基本使用一、RedisInsig...
    99+
    2022-11-13
  • GitLab的一键安装方式以及使用Git工具上传代码
    一、安装环境的介绍Centos 6.7  x86_64   2.6.32-573.el6.x86_64   IP:192.168.159.129   #公司...
    99+
    2022-10-18
  • Python自动化工具tidevice的安装和使用
    本篇内容介绍了“Python自动化工具tidevice的安装和使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 1. 前言最近,...
    99+
    2023-06-15
  • 容器管理工具 Rancher的安装与使用
    目录一、容器管理工具 Rancher 介绍二、Rancher 的安装三、Rancher 的初始化1. 添加环境2. 添加主机3. 添加应用四、应用部署1. Mysql 部署2. Ra...
    99+
    2022-11-13
    容器管理工具 Rancher Rancher安装
  • MySql可视化工具的安装与使用(MysqlWorkBench)
    MySql可视化工具 曾经用过Navicat的破解版,最近下载了Navicat Premium15,试用期后我就想搞个破解版的,正好在看《深入浅出MySQL》,书中用的是MysqlWorkBench,那就懒得去找破解版了咯,搞不好...
    99+
    2018-02-17
    MySql可视化工具的安装与使用(MysqlWorkBench)
  • Vue调试工具vue-devtools的安装与使用
    目录前言一、vue-devtools是什么?二、vue-devtools安装1.下载vue-devtools工具2.安装vue-devtools工具三、vue-devtools的使用...
    99+
    2022-11-13
  • 好装机一键重装系统工具的使用教程
    好装机一键重装系统是一款操作比较简单的系统重装软件,和其他一键重装软件相类似,都是流水线装机流程,检测系统环境,选择系统,备份文件即可完成系统的安装。下面,我们就来了解一下好装机一键重装系统的方法,快来看看吧。1、打开下载好的好装机一键重装...
    99+
    2023-07-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作