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:
- metalink en la entrada Checker Run Found xx New Persistent Data Failures. (Doc ID 1391202.1)
- Manual de Oracle Running Health Checks Manually
- Manual de Oracle Running Health Checks Manually