非常规应用--bbed介绍

bbed安装
cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk $ORACLE_HOME/rdbms/lib/bbed
也可通过以下命令将bbed生成到$ORACLE_HOME/bin目录
make -f ins_rdbms.mk BBED=$ORACLE_HOME/bin/bbed $ORACLE_HOME/bin/bbed

在11g中生成bbed,需要先从10g中复制如下文件到相应目录,然后再执行上述连接命令:
$ORACLE_HOME/rdbms/lib/ssbbded.o
$ORACLE_HOME/rdbms/lib/sbbdpt.o
$ORACLE_HOME/rdbms/mesg/bbedus.msb

BBED设置了口令保护,密码为blockedit。
bbed运行需要设置两个参数文件,一个是参数文件,一个是data文件
data文件可以使用:
select file#||' '||name||' '||bytes from v$datafile ;生成文件
参数文件一般:
blocksize=8192
listfile=指定data文件
mode=edit
启动:bbed parfile=参数文件

常用指令:
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

获得数据的文件号,块号
SELECT dbms_rowid.rowid_relative_fno(rowid) REL_FNO,
       dbms_rowid.rowid_block_number(rowid) BLOCKNO,
       dbms_rowid.rowid_row_number(rowid) ROWNO,
       a,
       b
  from test;

注意bbed修改的数据,oracle不支持服务

猜你喜欢

转载自aigo-h.iteye.com/blog/1932125
今日推荐