这是oracle11g推出的一个新特性,利用这个特性我们可以提前预知一些问题,比如一张表上有个长时间未使用的坏块,在检测出来后我们可以提前修复,我们可以针对数据文件、控制文件、重做日志进行检测,当然我们最关心经常是文件是否损坏,关于检查项目如下:
SQL>select * from v$version;
BANNER
-----------------------------------------------------------------
Oracle Database 11g Enterprise EditionRelease 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
TNS for Linux: Version 11.2.0.3.0 -Production
NLSRTL Version 11.2.0.3.0 - Production
SQL>select name,description from V$HM_CHECK;
NAME DESCRIPTION
------------------------------------------------------------
HM Test Check 检查健康监视功能
DB Structure Integrity Check 检查所有数据库文件的完整性
CF Block Integrity Check 检查控制文件块的完整性
Data Block Integrity Check 检查数据文件块的完整性
Redo Integrity Check 检查重做日志内容的完整性
Logical Block Check 检查块的逻辑内容
Transaction Integrity Check 检查事务处理是否损坏
Undo Segment Integrity Check 检查还原段的完整性
No Mount CF Check 在NOMOUNT 模式下检查控制文件
Mount CF Check 在装载模式下检查控制文件
CF Member Check 检查控制文件的多路复用副本
NAME DESCRIPTION
------------------------------ ------------------------------
All Datafiles Check 检查数据库中的所有数据文件
Single Datafile Check 检查数据文件
Tablespace Check Check 检查表空间
Log Group Check 检查日志组的所有成员
Log Group Member Check 检查日志组的特定成员
Archived Log Check 检查归档日志
Redo Revalidation Check 检查重做日志内容
IO Revalidation Check 检查文件的可访问性
Block IO Revalidation Check 检查文件的可访问性
Txn Revalidation Check 重新验证损坏的事务处理
Failure Simulation Check 创建伪故障
NAME DESCRIPTION
------------------------------------------------------------
Dictionary Integrity Check 检查字典完整性
ASM Mount Check 诊断装载故障
ASM Allocation Check 诊断分配故障
ASM Disk Visibility Check 诊断添加磁盘故障
ASM File Busy Check 诊断文件删除故障
ASM Toomanyoff Check 诊断装载失败,因为脱机磁盘太多
ASM Insufficient Disks Check 诊断装载失败,因为磁盘不足
已选择29行。
SQL>exec dbms_hm.run_check(check_name => 'DB Structure Integrity Check',run_name=> 'db_check1');
PL/SQL procedure successfully completed
SQL>select to_char(dbms_hm.get_run_report(run_name => 'db_check1')) from dual;
TO_CHAR(DBMS_HM.GET_RUN_REPORT
--------------------------------------------------------------------------------
Basic Run Information
RunName : db_check1
RunId : 461
CheckName : DB StructureIntegrity Check
Mode : MANUAL
Status : COMPLETED
StartTime : 2013-08-0916:34:17.593852 +08:00
EndTime : 2013-08-0916:34:18.015934 +08:00
ErrorEncountered : 0
SourceIncident Id : 0
Numberof Incidents Created : 0
Input Paramters for the Run
Run Findings And Recommendations
Finding
Finding : Missing datafile
Name
Finding : 465
ID
Type : FAILURE
Status : OPEN
Priority : HIGH
Message : Datafile 4:
'/u01/app/oracle/oradata/ORCL/datafile/o1_mf_users_903vl10s_.dbf'
is missing
Message : Some objects in tablespace USERS might be unavailable