lunes, 13 de julio de 2009

Limpiando Alertas desplegadas en el Oracle Database Control 10g

Tal y como lo dice un artículo de databasejournal el intentar limpiar las alertas que se despliegan en el Database Control de nuestras bases de datos Oracle 10g, puede ser una de las experiencias más frustrantes.

Si mi base de datos muestra un poco más de 120 alertas y debo ingresar a cada una de ellas, para limpiar la notificación de la alerta respectiva, perfectamente, podría gastar un poco más de 2 horas en esta tarea.

El siguiente paso, le permite purgar ( limpiar ) la totalidad ó parte de las alertas mostradas en Database Control de la base de datos.

Para poder tener acceso a las alertas, es necesario conectarnos con el usuario SYSMAN de la base de datos.

SQL> connect sysman/oracle@orcl
Connected.

El objeto MGMT_CURRENT_SEVERITY, es donde se almacenan todas las alertas de notificación del sistema de monitoreo automático de la base de datos.

SQL> desc mgmt_current_severity
Name
-------------------------
TARGET_GUID
METRIC_GUID
COLLECTION_TIMESTAMP
LOAD_TIMESTAMP
SEVERITY_CODE
SEVERITY_TYPE
SEVERITY_GUID
ANNOTATED_FLAG
KEY_VALUE
MESSAGE
MESSAGE_NLSID
MESSAGE_PARAMS
ACTION_MESSAGE
ACTION_NLSID
ACTION_MESSAGE_PARAMS
ADVISORY_ID

De este objecto, los campos más relevantes son:

  • El advisory_id, identificador del consejero que notifica el evento.

  • El message, mensaje desplegado en nuestra pantalla del browser, con la descripción del mensaje

  • El metric_guid, identificador para tipo de clasificación de mensaje generado. Los mensajes son agrupados de acuerdo a un grupo de métricas definidas.

Si quisieramos conocer la cantidad de eventos por tipo de notificación, podríamos realizar la siguiente consulta en la base de datos.

SQL> select count(*), metric_guid from mgmt_current_severity
2 group by metric_guid;

COUNT(*) METRIC_GUID
---------- --------------------------------
2 1EA69E018E163E3E323609D334EE8E20
4 2448AD7604076832840D5B18E562B9C2
1 8B2817E630D4445E454F5487FB8B8C19
117 AC73A2336A028A587865B6C18021889D
1 C733EA1CFA96377F492528E305462C9D
1 D6438569B496BC9205481E8A70F92F1E
1 F0618F81F9BB09B4767ECFF97F465BF7
2 F87A9D0AF478AE0C2084273063AECA60


8 rows selected.


Ahora si quisieramos limpiar todas los eventos registrados para un tipo de consejero específico, podríamos realizarlo de la siguiente manera:

SQL> begin
2 delete from mgmt_current_severity
3 where metric_guid='AC73A2336A028A587865B6C18021889D';
4 end;
5 /

PL/SQL procedure successfully completed.

SQL> commit;

Commit complete.


Si consultamos nuevamente la tabla, obtendríamos el siguiente resultado:
SQL> select count(*), metric_guid from mgmt_current_severity
2 group by metric_guid;

COUNT(*) METRIC_GUID
---------- --------------------------------
2 1EA69E018E163E3E323609D334EE8E20
1 8B2817E630D4445E454F5487FB8B8C19
1 C733EA1CFA96377F492528E305462C9D
1 D6438569B496BC9205481E8A70F92F1E
1 F0618F81F9BB09B4767ECFF97F465BF7
2 F87A9D0AF478AE0C2084273063AECA60

6 rows selected.


Si deseamos borrar todo el historial de notificaciones:

SQL> begin
2 delete from mgmt_current_severity;
3 end;
4 /

PL/SQL procedure successfully completed.

SQL> commit;

Commit complete.

SQL>

Ahora la pantalla principal de Database Control, se podría observar de la siguiente manera:


El documento original lo pueden ver completamente en:
http://www.databasejournal.com/features/oracle/article.php/3694541/Clearing-Alerts-in-Enterprise-Manager.htm

No hay comentarios:

Publicar un comentario

Te agradezco tus comentarios. Te esperamos de vuelta.

Todos los Sábados a las 8:00PM

Optimismo para una vida Mejor

Optimismo para una vida Mejor
Noticias buenas que comentar