--**********************
-- DBVERIFY 工具的使用
--**********************
Oracle 数据库运行过程中由于硬件故障或操作系统故障导致导致Oracle无法以Oracle格式来识别或所包含的内容即为出现数据块损坏
故障,这个坏块可以分为介质损坏以及逻辑损坏。下面给出了块的检查,以及使用DBVERIFY 工具实施块检查。
一、块检查
1.何时检查块
当一个数据块被读或写的时候,将对块的进行一致性检查,检查的内容包括
块的版本
比较块在cache与block buffer中的数据块地址
根据要求进行校验(checksum)
2.损坏的数据块的错误提示
可以从告警日志文件中找到该错误提示,以及在会话中发现损坏的数据块时也会给出类似的提示
ORA-01578: ORACLE data block corrupted (file # 6, block # 11)
ORA-01110: data file 6: '/u01/app/oracle/oradata/orcl/tbs01.dbf'
3.与块损坏的相关特性(几种检查工具)
------------------------------------------------------------------------------------------------
特性 坏块侦测类型 能否修复损坏块
------------------------------------------------------------------------------------------------
DBVERIFY 物理 否
ANALYZE 逻辑 否
DB_BLOCK_CHECKING 逻辑 否
DB_BLOCK_CHECKSUM 物理 否
exp 物理 否
FlashBack 逻辑 是
DBMS_REPAIR 逻辑 是
Block media recovery 未知 是
二、DBVERIFY工具介绍
特性
是一个运行于操作系统提示符下的外部程序,用于验证数据文件,检查块的一致性错误
仅仅针对数据文件,能够校验open阶段的数据文件以及shutdown状态下的数据文件
可以验证复制的数据文件,也可以验证备份的镜像副本
不支持联机日志文件,控制文件,归档日志,RMAN备份集验证
被验证的文件可以位于文件系统,ASM磁盘或原始设备
在Unix系统中位于:$ORACLE_HOME/bin/dbv
在Windows系统中位于:%ORACLE_HOME%/bin/dbv.exe
对于DBVERIFY工具,高版本可以自动识别低版本