Comprobando del OEM 13: alertas Data Failure Detected

Hoy vamos a ver otra entrada sobre las comprobaciones del OEM .

Una de los incidentes que hay que limpiar a mano en el enterprise manager es el de la comprobacion de la integridad dela base de datos.
El check de la metrica Data Failure Detected se basa en las comprobaciones de los Health monitor de Oracle.

Como saber a que problema se refiere

Mediante la libreria DBMS_HM podemos acceder a los checks llevados a cabo por Oracle.
Si ejecutamos la consulta

SET LONG 100000;
SET LONGCHUNKSIZE 1000
SET PAGESIZE 1000
SET LINESIZE 512
column name format a20;
column STATUS format a10;
column START_TIME format a20;
column END_TIME format a20;
column name format a20;
column STATUS format a10;
column START_TIME format a30;
column END_TIME format a30;
column CHECK_NAME format a40;

 select run_id,name,check_name,start_time,end_time,status 
   from v$hm_run order by START_TIME asc;

Obtendremos el listado de los checks ejecutados

    RUN_ID NAME                 CHECK_NAME                   START_TIME
---------- ---------------- -------------------- ------------------------------
   1 HM_RUN_1       DB Structure Integrity Check   25-JUL-18 05.18.01.337628 PM
  21 HM_RUN_21      DB Structure Integrity Check   25-JUL-18 05.19.35.157614 PM
  41 HM_RUN_41      DB Structure Integrity Check   25-JUL-18 05.20.51.496617 PM
  61 HM_RUN_61      DB Structure Integrity Check   25-JUL-18 05.52.24.630598 PM
9621 HM_RUN_9621    DB Structure Integrity Check   15-SEP-18 05.51.52.339032 PM
9641 HM_RUN_9641    DB Structure Integrity Check   15-SEP-18 05.53.25.135027 PM
 6 rows selected.

En el caso del ejemplo, preguntaremos por la ultima ejecucion, que es la HM_RUN_9641

DBMS_HM.GET_RUN_REPORT('HM_RUN_9641')
-----------------------------------------------------------------------------------------
Basic Run Information
 Run Name                     : HM_RUN_9641
 Run Id                       : 9641
 Check Name                   : DB Structure Integrity Check
 Mode                         : REACTIVE
 Status                       : COMPLETED
 Start Time                   : 2018-09-15 17:53:25.135027 +02:00
 End Time                     : 2018-09-15 17:53:28.473273 +02: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  : Inaccessible CF
 Finding ID    : 9642
 Type          : FAILURE
 Status        : CLOSED
 Priority      : CRITICAL
 Message       : Control file
               +DATA/test/controlfile/current.599.982430265
               cannot be accessed because of an ASM Failure
 Message       : Database cannot be mounted

Aqui podemos ver como el error es referente a un controlfile inaccesbile , lo que parece ser un error antiguo.

¿Como asegurarnos de que todo esta correcto?

La respuesta mas obia es, lanzar nosotros mismos este check de manera manual para ver el resultado.
Para ello usaremos el procedure DBMS_HM.RUN_CHECK

SQL> SELECT DBMS_HM.GET_RUN_REPORT('Clear_OEM') FROM DUAL;

DBMS_HM.GET_RUN_REPORT('CLEAR_OEM')
-----------------------------------------------------------------------------------
Basic Run Information
 Run Name                     : Clear_OEM
 Run Id                       : 10581
 Check Name                   : DB Structure Integrity Check
 Mode                         : MANUAL
 Status                       : COMPLETED
 Start Time                   : 2018-09-18 20:58:12.283769 +02:00
 End Time                     : 2018-09-18 20:58:12.476010 +02:00
 Error Encountered            : 0
 Source Incident Id           : 0
 Number of Incidents Created  : 0

Input Paramters for the Run
Run Findings And Recommendations

Donde podemos ver como ya no tenemos errores

Como siempre, mas informacion en: