千家信息网

Oracle bbed 使用

发表于:2024-11-20 作者:千家信息网编辑
千家信息网最后更新 2024年11月20日,1:安装: 11g R2 版的cd $ORACLE_HOME/find . -name ins_rdbms.mkcd rdbms/libmake -f ins_rdbms.mk $ORACLE_HOM
千家信息网最后更新 2024年11月20日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的文件拷过来:

附上下载地址: http://download.csdn.net/detail/jycjyc/4578006

将下载到的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