Oracle物理坏块

作者简介:孙显鹏,Oracle 十年从业经验,拥有11G ocp认证,精通内部原理,擅长调优,解决疑难问题,致力于帮助客户解决生产过程中出现的性能问题,提高生产效率!爱好书法!

由于IO错误或者bug导致数据块出现坏块,坏块处理起来可能有点难度。难是因为不了解所以觉得难,当你了解了其中的原理那么就不难了。遇到坏块问题,其实所有问题都一样,首先需要收集必要的日志信息,然后依据这些信息分析确定是什么类型的坏块,什么段发生了坏块,然后依据具体的方法处理,继而定位问题的原因。不能随便猜是什么导致了坏块。不要遇到坏块就开始排查各种可能,这样如同大海捞针效率低下。举个例子,oracle坏块分为物理坏块和逻辑坏块,而在物理坏块中又分为几种可能,其中有一种就是全 0块比较特殊。Oracle在建立数据文件时会格式化每个数据块,而且每次写入或读取块都会检查全 0块,包括部分第三方存储软件也检查该问题,那么该问题不可能由oracle导致,那么方向比较明确是存储的问题。所以必须要首先明确什么类型的坏块。

下面通过模拟全0物理坏块和数据块头错误,演示物理坏块的现象和处理方式:

测试步骤:

建立测试表:

Dump 134 号块,接下来修改该块:

模拟坏块:

模拟全0坏块:

模拟块头坏块

发现坏块:

验证和修复坏块:

使用dbv检查,dbv更加清晰:

修复坏块:

DBV 再次检查:

没有备份那么这种物理坏块就无法修复,所以备份至关重要!

未经允许不得转载:Oracle一体机用户组 » Oracle物理坏块

相关推荐