Oracle 11g now has a feature called health monitor which can be used to run diagnostic checks on the database. Health check can be run in two ways. 1) Automatic - The fault diagnosable infrastructure runs the checks when a critical error is reported. 2) Manual - Can be done manually either through enterprise manager or through DBMS_HM PL/SQL package. Types of Health Checks. 1) DB Structure Integrity Check - This check verifies the integrity of database files. It checks log files and datafiles listed in the control files. 2) Data Block Integrity Check - Checks the following : a) Checksum failures b) Head/Tail mismatch c) Logical inconsistencies within the block. Does not check the following. a) Inter-block or Inter-segment corruption. 3) Redo Integrity check - Checks for corruption in online redo logs as well as archived redo logs. 4) Undo Segment Integrity Check - Finds logical undo corruptions. 5) Transaction Integrity Check - Checks integrity of transactions. 6) Dictionary Integrity Check - Checks integrity of core Data Dictionary objects. To obtain a list of health check names execute the following query: SQL> select name from v$hm_check where internal_check = 'N'; NAME ---------------------------------------------------------------- DB Structure Integrity Check CF Block Integrity Check Data Block Integrity Check Redo Integrity Check Transaction Integrity Check Undo Segment Integrity Check Dictionary Integrity Check ASM Allocation Check 8 rows selected. To do a manual check suppose on Data dictionary execute the following. SQL> begin dbms_hm.run_check('Dictionary Integrity Check', 'test_check'); end; To list all the health checks that were run on the database manually or automatically execute the following query. SQL> select run_id, check_name, run_mode from v$hm_run; RUN_ID CHECK_NAME RUN_MODE ---------- -------------------------------- -------- 41 Data Block Integrity Check MANUAL 81 Dictionary Integrity Check MANUAL 1 DB Structure Integrity Check REACTIVE To obtain the findings of checks execute the query on the respective RUN_ID number. SQL> select type, description from v$hm_finding where run_id = 1; TYPE ------------- DESCRIPTION ------------------------------------------------------------------- FAILURE Control file needs media recovery FAILURE System datafile 1: '/u01/app/oracle/oradata/orcl/system01.dbf' needs media recovery FAILURE One or more non-system datafiles need media recovery TYPE ------------- DESCRIPTION ---------------------------------------------------------------------- FAILURE Datafile 2: '/u01/app/oracle/oradata/orcl/sysaux01.dbf' needs media recovery FAILURE Datafile 3: '/u01/app/oracle/oradata/orcl/undotbs01.dbf' needs media recovery FAILURE Datafile 4: '/u01/app/oracle/oradata/orcl/users01.dbf' needs media recovery TYPE ------------- DESCRIPTION ----------------------------------------------------------------------- 6 rows selected.
Search This Blog
Monday, January 30, 2012
Oracle 11g Health Checks.
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment