Oracle健康监控及健康检查(Health Monitor)
一、Oracle健康监控及健康检查Oracle数据库包括一个名为Health Monitor的框架,用于运行诊断检查数据库的各种组件。Oracle健康监视器检查各种组件数据库,包括文件,内存,事务完整性,元数据和进程使用。在检查器运行后,它生成一个包含有关检查器发现的信息的报告,包括优先事项(低,高或关键),调查结果及其后果的描述,和关于执行的基本统计。 Health Monitor使用XML生成报表并存储ADR报告。可以使用V$ HM_RUN,DBMS_HM,ADRCI或企业管理器查看相应的调查结果报告以及解决问题的建议。 下图为健康监控组件框架 二、检查的具体组件及描述SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
SQL> select 'Leshami' Author,'http://blog.csdn.net/leshami' Blog,2 '645746311' QQ from dual;
AUTHOR BLOG QQ
------- ---------------------------- ---------
Leshami http://blog.csdn.net/leshami 645746311
SQL> SELECT name,internal_check,offline_capable,description FROM v$hm_check;
NAME I O DESCRIPTION
-------------------------------- - - -----------------------------------------------------------------
HM Test Check Y Y Check for health monitor functionality
DB Structure Integrity Check N Y Checks integrity of all database files
CF Block Integrity Check N Y Checks integrity of a control file block
Data Block Integrity Check N Y Checks integrity of a data file block
Redo Integrity Check N Y Checks integrity of redo log content
Logical Block Check Y N Checks logical content of a block
Transaction Integrity Check N N Checks a transaction for corruptions
Undo Segment Integrity Check N N Checks integrity of an undo segment
No Mount CF Check Y Y Checks control file in NOMOUNT mode
Mount CF Check Y Y Checks control file in mount mode
CF Member Check Y Y Checks a multiplexed copy of the control file
All Datafiles Check Y Y Checks all datafiles in the database
Single Datafile Check Y Y Checks a data file
Tablespace Check Check Y Y Checks a tablespace
Log Group Check Y Y Checks all members of a log group
Log Group Member Check Y Y Checks a particular member of a log group
Archived Log Check Y Y Checks an archived log
Redo Revalidation Check Y Y Checks redo log content
IO Revalidation Check Y Y Checks file accessibility
Block IO Revalidation Check Y Y Checks file accessibility
Txn Revalidation Check Y N Revalidate corrupted transaction
Failure Simulation Check Y Y Creates dummy failures
Dictionary Integrity Check N N Checks dictionary integrity
ASM Mount Check Y Y Diagnose mount failure
ASM Allocation Check N Y Diagnose allocation failure
ASM Disk Visibility Check Y Y Diagnose add disk failure
ASM File Busy Check Y Y Diagnose file drop failure
ASM Toomanyoff Check Y Y Diagnose mount failed because there were too many offline disks
ASM Insufficient Disks Check Y Y Diagnose mount failed because there were insufficient disks
以下列出一些重要检查描述 数据库结构完整性检查(DB Structure Integrity Check) ??此检查将验证数据库文件的完整性,如文件无法访问,损坏或不一致,并报告这些故障。如果数据库处于挂载或打开模式,则此检查将检查控制文件中列出的日志文件和数据文件。如果数据库处于NOMOUNT模式,则仅检查控制文件。 数据块完整性检查(Data Block Integrity Check) 重做完整性检查(Redo Integrity Check) 撤消段完整性检查(Undo Segment Integrity Check) 事务完整性检查(Transaction Integrity Check) 字典完整性检查(Dictionary Integrity Check) ????验证每个字典对象的字典条目的内容。 三、健康检查支持的模式及运行方式1、支持模式反应式 手动式 健康监视器在自动诊断存储库(ADR)中检查存储结果,建议和其他信息。 2、运行方式DB-online(即在OPEN模式下) DB-offline(数据库脱机) 四、演示健康健康检查1、使用DBMS_HM PL / SQL包实施检查DBMS_HM包主要包括2个存储过程,一个是RUN_CHECK,主要用于实施健康检查,支持参数输入;一个是GET_RUN_REPORT,用于获取健康检查的结果。 SQL> SELECT c.name check_name,p.name parameter_name,p.type,2 p.default_value,p.description
3 FROM v$hm_check_param p,v$hm_check c
4 WHERE p.check_id = c.id and c.internal_check = 'N'
5 ORDER BY c.name;
CHECK_NAME PARAMETER_NAME TYPE DEFAULT_VALUE DESCRIPTION
----------------------------- -------------------- -------------------- ---------------- ---------------------------------------
ASM Allocation Check ASM_DISK_GRP_NAME DBKH_PARAM_TEXT ASM group name
CF Block Integrity Check CF_BL_NUM DBKH_PARAM_UB4 Control file block number
Data Block Integrity Check BLC_DF_NUM DBKH_PARAM_UB4 File number
Data Block Integrity Check BLC_BL_NUM DBKH_PARAM_UB4 Block number
Dictionary Integrity Check CHECK_MASK DBKH_PARAM_TEXT ALL Check mask
Dictionary Integrity Check TABLE_NAME DBKH_PARAM_TEXT ALL_CORE_TABLES Table name
Redo Integrity Check SCN_TEXT DBKH_PARAM_TEXT 0 SCN of the latest good redo (if known)
Transaction Integrity Check TXN_ID DBKH_PARAM_TEXT Transaction ID
Undo Segment Integrity Check USN_NUMBER DBKH_PARAM_TEXT Undo segment number
--演示实施健康检查
RMAN> backup database plus archivelog; --先备份
SQL> select file#,name from v$datafile where name like '%user%';
FILE# NAME
---------- ------------------------------------------------------------
4 /app/oracle/ora11g/oradata/ora11g/users01.dbf
$ cat /dev/null>/app/oracle/ora11g/oradata/ora11g/users01.dbf
SQL> alter system flush buffer_cache;
System altered.
SQL> select count(*) from scott.emp;
select count(*) from scott.emp
*
ERROR at line 1:
ORA-01115: IO error reading block from file (block # )
ORA-01110: data file 4: '/app/oracle/ora11g/oradata/ora11g/users01.dbf'
ORA-27072: File I/O error
Additional information: 4
Additional information: 155
SQL> BEGIN
2 DBMS_HM.RUN_CHECK (check_name => 'DB Structure Integrity Check',3 run_name => 'my_db_strc_check');
4 END;
5 /
PL/SQL procedure successfully completed.
--查看报告
SET LONG 100000
SET LONGCHUNKSIZE 1000
SET PAGESIZE 1000
SET LINESIZE 512
SELECT DBMS_HM.GET_RUN_REPORT('my_db_strc_check') FROM DUAL;
DBMS_HM.GET_RUN_REPORT('MY_DB_STRC_CHECK')
--------------------------------------------------------------
Basic Run Information
Run Name : my_db_strc_check
Run Id : 107795
Check Name : DB Structure Integrity Check
Mode : MANUAL
Status : COMPLETED
Start Time : 2017-07-03 17:13:49.550575 +08:00
End Time : 2017-07-03 17:13:50.202535 +08:00
Error Encountered : 0
Source Incident Id : 0
Number of Incidents Created : 0
Input Paramters for the Run
Run Findings And Recommendations
Finding
Finding Name : Corrupt Datafile --找到损坏的数据文件
Finding ID : 107799
Type : FAILURE --类型为失败
Status : OPEN --状态为OPEN
Priority : HIGH --级别为高
Message : Datafile 4: '/app/oracle/ora11g/oradata/ora11g/users01.dbf'is corrupt
Message : Some objects in tablespace USERS might be unavailable
2、使用OEM实施检查实施检查 3、通过ADRCI接口查看报告adrci> 五、相关视图V$HM_CHECK –所有能够被check的组件 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |