oracle bbed 使用,Oracle   bbed 使用

1:安装: 11g R2 版的

cd $ORACLE_HOME/

find . -name ins_rdbms.mk

cd rdbms/lib

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

在11g会报错。需要在网上下载三个文件。或者你有10g 的库直接把10g的文件拷过来:

将下载到的bbedus.msb拷贝到上一级目录mesg中   cp lib/bbedus.msb mesg/

之后再执行   make -f ins_rdbms.mk $ORACLE_HOME/rdbms/lib/bbed

$./bbed

进去后bbed 密码是:blockedit

2:配置查看:

然后就是show  all 看一下要做哪些预配:

在另一个窗口中找出要操作的文件select * from v$datafile;

那这里我们可以插入一条记录,看看文件究竟是被真的插入到那:用到dbms_rowid 这个包

select dbms_rowid.ROWID_RELATIVE_FNO(rowid), dbms_rowid.ROWID_BLOCK_NUMBER(rowid),id from t4;

查出来真正插入的数据在 2号文件121号块接下来设置filename ,file ,block ,blocksize ,mode

set  FILENAME '/u01/app/oracle/test/data/test_01.dbf'

set file  2

set block 121

set  blocksize  8192

set mode edit                    //edit 是可以修改,browse 模式不允许进行修改

bbed 中的查找: find

bbed> set block 47   //读47号块

bbed>dump               // 显示出dump

> show all;

可以看下偏移量。OFFSET

以字符串查找/c

>find /c BBBBBBB

find 就是查找并重置偏移量。

按十六进制查找:

> find /x 42424242424242

有时报invalid number   那是因为  32 位 的错。

修改命令: modify  /c

bbed > modify /c EEEEEEE

此时再来查看原先的数据:

select * from t1;

如果现在报block corrupted:

那这是由于校验和的问题:可以设置把校验和关掉:

show parameter check;

1)

更改db_block_checksum = false;

alter system set db_block_checksum=false;

再刷新下buffer_cache ;

alter system  flush buffer_cache;

select * from t1;

2) 还有一种更好的办法:

直接更改校验和

bbed> sum apply

然后回去在刷新次buffer_cache

alter system flush buffer_cache

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值