Oracle bbed工具介绍

1. 工具介绍

Oracle bbed 工具 , 名称是 Block Browser and EDitor 的首字母缩写, Oracle 10G 及以前版本它随数据库软件一起提供。仅供 oracle 内部使用, oracle 公司从未发布任何关于它的细节说明。它是一个非常强大的工具,但也非常危险,因为它可以更改 或 破坏任何 oracle 数据库的数据块 。如果您使用此工具,则您需要自行承担风险。使用此工具进行的任何修改都会导致数据库不受 oracle 的支持。

bbed工具下载方法:
1.从Oracle 10G数据库软件中copy;
2.百度链接:https://pan.baidu.com/s/1xpEEhz4CeMCvwpstVtndTg
提取码:iubu

2.bbed的安装

2.1 从 10g copy 文件到 11g

cp $ORACLE_10g_HOME/rdbms/lib/ssbbded.o $ORACLE_11g_HOME/rdbms/lib
cp $ORACLE_10g_HOME/rdbms/lib/sbbdpt.o $ORACLE_11g_HOME/rdbms/lib
cp $ORACLE_10g_HOME/rdbms/mesg/bbedus.msb $ORACLE_11g_HOME/rdbms/mesg
cp $ORACLE_10g_HOME/rdbms/mesg/bbedus.msg $ORACLE_11g_HOME/rdbms/mesg

2.2 修改文件属主及权限

chown oracle:oinstall ssbbded.o
chown oracle:oinstall sbbdpt.o
chown oracle:oinstall bbedus.msb
chown oracle:oinstall bbedus.msg
chmod 644 ssbbded.o
chmod 644 sbbdpt.o
chmod 644 bbedus.msb
chmod 644 bbedus.msg

2.3 编译 bbed

[oracle@sourcedb lib]$ cd $ ORACLE_HOME/rdbms/lib
[oracle@sourcedb lib]$ make -fins_rdbms.mk $ORACLE_HOME/rdbms/lib/bbed

2.4 检查编译文件

现在您可以通过使用 ls 命令查看是否将 bbed 工具链接起来。
[oracle@sourcedb lib]$ ls -al $ ORACLE_HOME/rdbms/lib/bbed
-rwxr-xr-x 1 oracle oinstall 259094 Oct 21 21:29 /u01/app/oracle/product/11.2.0/db_1/rdbms/lib/bbed
[oracle@sourcedb lib]$

2.5 修改环境变量

export PATH=$ ORACLE_HOME/rdbms/lib/:$PATH

3、bbed的使用

3.1、生成listfile文件

可以通过以下sql生成listfile的内容
select file#||’ ‘||name||’ '||bytes from v$datafile;

6 /u01/app/oracle/oradata/orcl/test01.dbf 288031261

把内容存保存到一个文件里,/home/oracle/listfile.txt。

3.2、生成bbed参数文件

编辑一个文件,如/home/oracle/bbed.par
写入
mode=edit
listfile=/home/oracle/listfile.txt
blocksize=8192

3.3、使用bbed命令进入bbed

bbed parfile=/home/oracle/bbed.par
会提示输入密码,默认为blockedit。

3.4、首先可以使用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 [ | 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 ]
:
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] =
: [ DBA | FILE | FILENAME | BLOCK | OFFSET | symbol | *symbol ]

: [ value | ] SUM [ DBA | FILE | FILENAME | BLOCK ] PUSH [ DBA | FILE | FILENAME | BLOCK | OFFSET ] POP [ALL] REVERT [ DBA | FILE | FILENAME | BLOCK ] UNDO HELP [ | ALL ] VERIFY [ DBA | FILE | FILENAME | BLOCK ] CORRUPT [ DBA | FILE | FILENAME | BLOCK ]

以上命令也可以分为几部分去理解

3.5、显示信息的命令

SHOW [ | ALL ] ----查看当前环境信息,当前环境是当前设置的文件信息,块信息,block大小等信息。
INFO ----查看listfile的信息
MAP[/v] ------打印出块结构,这个MAP经常是设置好块信息之后首先要做的,它就行一张块地图。
PRINT[/x|d|u|o|c]-----打印出各种信息,主要打印块的各结构块信息
DUMP[/v] -dump出块中存储的十六进制数据
HELP [ | ALL ] ------帮助命令

6、设置当前操作环境命令

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 ]

3.7、进行块修改等操作命令

COPY [ DBA | FILE | FILENAME | BLOCK ] TO [ DBA | FILE | FILENAME | BLOCK ]
FIND[/x|d|u|o|c] numeric/character string [ TOP | CURR ]
MODIFY[/x|d|u|o|c] numeric/character string
[ DBA | FILE | FILENAME | BLOCK | OFFSET | symbol | *symbol ]
VERIFY [ DBA | FILE | FILENAME | BLOCK ]
SUM [ DBA | FILE | FILENAME | BLOCK ] [ APPLY ]
REVERT [ DBA | FILE | FILENAME | BLOCK ]
UNDO
VERIFY [ DBA | FILE | FILENAME | BLOCK ]

/x 十六进制
/d 有符号数的十进制
/u 无符号的十进制
/o 八进制
/c 字符串
/n Oracle中的Number类型
/t Oracle中的Data类型
/i Oracle中的RowID类型

4、具体说说bbed的输出

进入bbed后,首先需要定位到你要查看和修改的块

4.1、使用BBED进入数据块

假设我们要查6号文件的156数据块

4.2、打开bbed

BBED parfile=/home/oracle/bbed.par 输入密码:blockedit

4.3、 定位到6号文件的6,156数据块

BBED> set dba 6,156

这里我们可以使用另外种方法定位
BBED> set file 6
BBED> set block 156
BBED> show
在这里插入图片描述

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fashion186

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值