Oracle bbed 初探

作者简介: 徐明辉,Oracle维护工程师,有5年Oracle维护经验,曾经维护过电信,教育,银行等行业,获得Oracle 10g ocm认证,擅长Oracle数据库故障诊断及问题处理。

BBED(Oracle Block Browerand EDitor Tool),用来直接查看和修改数据文件数据的一个工具,是Oracle一款内部工具,可以直接修改Oracle数据文件块的内容,在一些极端恢复场景下比较有用。该工具不受Oracle支持,所以默认是没有生成可执行文件的,在使用前需要重新连接。

本文的实验环境为:Oracle Database 11g Enterprise Edition Release 11.2.0.4.0

bbed安装(Oracle 11.2.0.4)

因为BBED是Oracle内部工具,在11g环境中,已经不开放使用,所以需要从Oracle10g中拷贝相应的文件到ORACLE_HOME中。

从Oracle 10g上拷贝4个文件到本地Oracle安装目录下。文件如下:

执行以下命令:

登录bbed

bbed修复坏块

首先我们先创建表空间,并且创建部分数据。

确定数据存放位置。

模拟损坏数据

使用bbed或dbv工具确认数据有坏块

数据不能访问:

从上我们可以看出,tail check的值跟scn base,scn seq,block type三者的值不匹配,正常情况下tail check=scn base+block type+scn seq。

根据tail check=scn base+block type+scn seq。我们可以看到seq: 0xff 应该为0x02。

修改相应的数据,恢复数据

查看tail check 、base、 block type、 seq

修改正确的值

检查数据文件是否修复

检查数据是否恢复

总结:使用bbed可以使损坏的数据在极端情况下得以恢复,但是数据库的备份仍然是最主要的恢复方法,所以数据库的备份工作每位DBA应该重视,并且要不定期的进行验证。

未经允许不得转载:Oracle一体机用户组 » Oracle bbed 初探

相关推荐