Eventos de Database Service
La implantación de la función Eventos de Database Service permite recibir notificaciones sobre incidencias de estado con instancias de Oracle Database u otros componentes del sistema de base de datos.
Es posible que Oracle Database o Clusterware no estén en buen estado o que varios componentes del sistema se estén quedando sin espacio en el sistema de base de datos. Los clientes no reciben notificaciones sobre esta situación. La implantación de la función Eventos de Database Service genera eventos para las operaciones y los estados del plano de datos, así como notificaciones para los clientes mediante el uso del servicio OCI Events y los mecanismos de notificación existentes en su arrendamiento. A continuación, los clientes pueden crear temas y suscribirse a estos temas a través del correo electrónico, las funciones o los flujos.
Nota: El flujo a eventos del sistema de base de datos depende de los agentes de Oracle Trace File Analyzer (TFA) y Oracle Database Cloud Service (DBCS). Asegúrese de que estos componentes están activos y en ejecución.
Recepción de notificaciones sobre eventos de Database Service
Suscríbase a los eventos de Database Service y reciba una notificación. Para recibir notificaciones, suscríbase a los eventos de Database Service y reciba notificaciones mediante el servicio Oracle Notification. Consulte Visión general de Notifications. Para obtener más información sobre Oracle Cloud Infrastructure Events, consulte Visión general de Events.
Servicio de eventos - Tipos de eventos
- Base de datos - Crítico
- Nodo de base de datos - Crítico
- Nodo de base de datos - Error
- Nodo de base de datos - Advertencia
- Nodo de base de datos - Información
- Sistema de base de datos - Crítico
Tipos de eventos del servicio de base de datos
En la siguiente tabla se muestran los tipos de eventos que emite Database Service.
Nota:
- Los eventos críticos se disparan por diversas condiciones y errores críticos que interrumpen la base de datos u otros componentes esenciales. Por ejemplo, los errores de base de datos que no responden y los errores de disponibilidad para bases de datos, nodos de base de datos y sistemas de base de datos indican cuándo un recurso deja de estar disponible.
- Los eventos de la información se disparan cuando la base de datos y otros componentes críticos funcionan como se esperaba. Por ejemplo, un cierre limpio de CRS, CDB, cliente o listener de exploración, o un inicio de estos componentes, creará un evento con la gravedad
INFO. - Los límites de umbral reducen el número de notificaciones que recibirán los clientes para eventos de incidente similares, al mismo tiempo que garantizan que reciban eventos de incidente y recordatorios de manera puntual.
Eventos de Database Service
Nota: Además de los eventos que se muestran a continuación, Oracle analiza eventos adicionales para proporcionar el nivel más alto de operaciones de servicio y soporte para garantizar una alta disponibilidad de los servicios.
| Nombre fácil de recordar | Nombre de evento | Descripción | Solución | Tipo de evento | Umbral |
|---|---|---|---|---|---|
| Uso de recursos: uso de disco | HEALTH.DB_GUEST.FILESYSTEM.FREE_SPACE |
Este evento se notifica cuando los espacios libres del sistema de archivos invitado de VM son inferiores al 10 % , según se determina el comando df(1) del sistema operativo, para los siguientes sistemas://u01/u02/var (solo X8M y posteriores)/tmp (solo X8M y posteriores) |
HEALTH-DB_GUEST-FILESYSTEM-FREE_SPACE | com.oraclecloud.databaseservice.dbnode.critical |
Umbral Crítico: 90 % |
| Estado de CRS activo/inactivo | AVAILABILITY.DB_GUEST.CRS_INSTANCE.DOWN. |
Se crea un evento de tipo CRITICAL cuando se detecta que Cluster Ready Service (CRS) ha dejado de funcionar. | AVAILABILITY-DB_GUEST-CRS_INSTANCE.DOWN | com.oraclecloud.databaseservice.dbnode.critical (si . DOWN y NOT "user_action" (DOWN y NOT) |
N/D |
| Estado de CRS activo/inactivo | AVAILABILITY.DB_GUEST.CRS_INSTANCE.DOWN_CLEARED |
Se crea un evento de tipo INFORMATION una vez que se ha determinado que se ha borrado el evento de CRS inactivo. | N/D | com.oraclecloud.databaseservice.dbnode.information (en el caso de .DOWN_CLEARED) |
N/D |
| Estado de CRS activo/inactivo | AVAILABILITY.DB_GUEST.CRS_INSTANCE.EVICTION |
Se crea un evento de tipo CRITICAL. | AVAILABILITY-DB_GUEST-CRS_INSTANCE-EVICTION | com.oraclecloud.databaseservice.dbnode.critical |
N/D |
| Listener de SCAN activo/inactivo | AVAILABILITY.DB_CLUSTER.SCAN_LISTENER.DOWN |
Se crea un evento de tipo DOWN cuando deja de funcionar un listener de SCAN. El evento es de tipo INFORMATION cuando se cierra un listener de SCAN debido a la acción del usuario, como con los comandos de la utilidad de control de servidor (srvctl) o de control del listener (lsnrctl), o cualquier acción de mantenimiento de Oracle Cloud que utilice esos comandos, como realizar una actualización del software de infraestructura de grid. El evento es de tipo CRITICAL cuando un listener de SCAN deja de funcionar inesperadamente. Se crea el evento DOWN_CLEARED correspondiente cuando se inicia un listener de SCAN. Hay tres listeners de SCAN por cluster denominados LISTENER_SCAN[1,2,3]. |
AVAILABILITY-DB_CLUSTER-SCAN_LISTENER-DOWN | com.oraclecloud.databaseservice.dbnode.critical (si . DOWN y NOT "user_action" (DOWN y NOT) |
N/D |
| Listener de SCAN activo/inactivo | AVAILABILITY.DB_CLUSTER.SCAN_LISTENER.DOWN_CLEARED |
Se crea un evento de tipo INFORMATION una vez que se ha determinado que se ha borrado el evento de listener de SCAN inactivo. | N/D | com.oraclecloud.databaseservice.dbnode.information (en el caso de .DOWN_CLEARED) |
N/D |
| Listener de red activo/inactivo | AVAILABILITY.DB_GUEST.CLIENT_LISTENER.DOWN |
Se crea un evento de tipo DOWN cuando deja de funcionar un listener de cliente. El evento es de tipo INFORMATION cuando se cierra un listener de cliente debido a la acción del usuario, como con los comandos de la utilidad de control de servidor (srvctl) o de control del listener (lsnrctl), o cualquier acción de mantenimiento de Oracle Cloud que utilice esos comandos, como realizar una actualización del software de infraestructura de grid. El evento es de tipo CRITICAL cuando un listener de cliente deja de funcionar inesperadamente. Se crea un evento DOWN_CLEARED correspondiente cuando se inicia un LISTENER del cliente. Hay un LISTENER del cliente por nodo, cada uno denominado LISTENER. |
AVAILABILITY-DB_GUEST-CLIENT_LISTENER.DOWN | com.oraclecloud.databaseservice.database.critical (si . DOWN y NOT "user_action" (DOWN y NOT) |
N/D |
| Listener de red activo/inactivo | AVAILABILITY.DB_GUEST.CLIENT_LISTENER.DOWN_CLEARED |
Se crea un evento de tipo INFORMATION una vez que se ha determinado que se ha borrado el evento de listener de cliente inactivo. | N/D | com.oraclecloud.databaseservice.database.information (en el caso de .DOWN_CLEARED) |
N/D |
| CDB activa/inactiva | AVAILABILITY.DB_GUEST.CDB_INSTANCE.DOWN |
Se crea un evento de tipo DOWN cuando deja de funcionar una instancia de base de datos. El evento es de tipo INFORMATION cuando se cierra una instancia de base de datos debido a la acción del usuario, como con los comandos de SQL*Plus (sqlplus) o de la utilidad de control de servidor (srvctl), o cualquier acción de mantenimiento de Oracle Cloud que utilice esos comandos, como realizar una actualización del software del directorio raíz de base de datos. El evento es de tipo CRITICAL cuando una instancia de base de datos deja de funcionar inesperadamente. Se crea el evento de tipo DOWN_CLEARED correspondiente cuando se inicia una instancia de base de datos. |
AVAILABILITY-DB_GUEST-CDB_INSTANCE-DOWN | com.oraclecloud.databaseservice.database.critical (si . DOWN y NOT "user_action" (DOWN y NOT) |
N/D |
| CDB activa/inactiva | AVAILABILITY.DB_GUEST.CDB_INSTANCE.DOWN_CLEARED |
Se crea un evento de tipo INFORMATION una vez que se ha determinado que se ha borrado el evento de CDB inactivo. | N/D | com.oraclecloud.databaseservice.database.information (en el caso de .DOWN_CLEARED) |
N/D |
| Errores críticos de base de datos | HEALTH.DB_CLUSTER.CDB.CORRUPTION |
Se han detectado daños de base de datos en la base de datos principal o en espera. El archivo alert.log de la base de datos se analiza para detectar errores específicos indicativos de daños en bloques físicos, daños en bloques lógicos o daños en bloques lógicos causados por escrituras perdidas. | HEALTH-DB_CLUSTER-CDB-CORRUPTION | com.oraclecloud.databaseservice.database.critical |
N/D |
| Otros errores de base de datos | HEALTH.DB_CLUSTER.CDB.ARCHIVER_HANG |
Se crea un evento de tipo CRITICAL si una CDB no puede archivar el redo log en línea activo o no puede archivar el redo log en línea activo lo suficientemente rápido en los destinos de archivo log. | HEALTH-DB_CLUSTER-CDB-ARCHIVER_HANG | com.oraclecloud.databaseservice.database.critical |
N/D |
| Otros errores de base de datos | HEALTH.DB_CLUSTER.CDB.DATABASE_HANG |
Se crea un evento de tipo CRITICAL cuando un proceso o sesión deja de responder en la CDB. | HEALTH-DB_CLUSTER-CDB-DATABASE_HANG | com.oraclecloud.databaseservice.database.critical |
N/D |
| Fallos de copia de seguridad | HEALTH.DB_CLUSTER.CDB.BACKUP_FAILURE |
Se crea un evento de tipo CRITICAL si hay una copia de seguridad de CDB con el estado FAILED notificado en la vista v$rman_status. |
HEALTH-DB_CLUSTER-CDB-BACKUP_FAILURE | com.oraclecloud.databaseservice.database.critical |
N/D |
| Fallos de copia de seguridad | HEALTH.DB_CLUSTER.CDB.BACKUP_FAILURE_CLEARED |
Se crea un evento de tipo INFORMATION. | N/D | com.oraclecloud.databaseservice.database.information |
N/D |
| Uso de grupo de discos | HEALTH.DB_CLUSTER.DISK_GROUP.FREE_SPACE |
Se crea un evento de tipo CRITICAL cuando un grupo de discos de ASM alcanza un uso de espacio del 90 % o superior. Se crea un evento de tipo INFORMATION cuando el uso de espacio del grupo de discos de ASM cae por debajo del 90 %. | HEALTH-DB_CLUSTER-DISK_GROUP-FREE_SPACE | com.oraclecloud.databaseservice.dbsystem.criticalcom.oraclecloud.databaseservice.dbsystem.information (si < 90%) |
Se envían notificaciones cuando el uso alcanza el 70 %, el 80 %, el 90% y el 100 % con la gravedad correspondiente de 4, 3, 2 y 1. |
Restricción temporal de recopilaciones de diagnóstico automático para eventos específicos
Utilice el comando tfactl blackout para suprimir temporalmente las recopilaciones de diagnóstico automático.
Si define la interrupción para un destino, Oracle Trace File Analyzer detiene las recopilaciones de diagnóstico automático si detecta eventos en los logs de alertas para ese destino durante la exploración. Por defecto, la interrupción se aplicará durante 24 horas.
También puede restringir la recopilación de diagnóstico automático en un nivel granular, por ejemplo, solo para ORA-00600 o incluso solo para ORA-00600 con argumentos específicos.
Sintaxis:
tfactl blackout add|remove|print
-targettype host|crs|asm|asmdg|database|dbbackup|db_dataguard|
db_tablespace|pdb_tablespace|pdb|listener|service|os
-target all|name
[-container name]
[-pdb pdb_name]
-event all|"event_str1,event_str2"|availability
[-timeout nm|nh|nd|none]
[-c|-local|-nodes "node1,node2"]
[-reason "reason for blackout"]
[-docollection]
Parámetros:
| Parámetro | Descripción |
|---|---|
add|remove|print| |
Agrega, elimina o imprime condiciones de interrupción. |
-targettype typeTarget type: host|crs|asm|asmdg|database|dbbackup|db_dataguard|db_tablespace|pdb_tablespace|pdb|listener|service|os |
Limita la interrupción solo al tipo de destino especificado.host: todo el nodo está interrumpido. If there is host blackout, then every blackout element that’s shown true in the Telemetry JSON will have the reason for the blackout.crs: Blackout the availability of the Oracle Clusterware resource or events in the Oracle Clusterware logs.asm: Blackout the availability of Oracle Automatic Storage Management (Oracle ASM) on this machine or events in the Oracle ASM alert logs.asmdg: Blackout an Oracle ASM disk group.database: Blackout the availability of an Oracle Database, Oracle Database backup, tablespace, and so on, or events in the Oracle Database alert logs.dbbackup: Blackout Oracle Database backup events (such as CDB or archive backups).db_dataguard: Blackout Oracle Data Guard events.db_tablespace: Blackout Oracle Database tablespace events (container database).pdb_tablespace: Blackout Oracle pluggable database tablespace events (pluggable database).pdb: Blackout Oracle pluggable database events.listener: Blackout the availability of a listener.service: Blackout the availability of a service.os: Blackout one or more operating system records. |
-target all\|name |
Especifique el destino de la interrupción. Puede especificar una lista de destinos delimitada por comas. Por defecto, el destino se define en all. |
-container name |
Especifique el nombre del contenedor de base de datos (db_unique_name) en el que se aplicará la interrupción (para PDB, DB_TABLESPACE y PDB_TABLESPACE). |
-pdb pdb_name |
Especifique la PDB en la que se aplicará la interrupción (solo para PDB_TABLESPACE). |
-events all\|"str1,str2" |
Limita la interrupción solo a los eventos de disponibilidad o cadenas de eventos, que no deben disparar recopilaciones automáticas, o que se marquen como bloqueados en JSON de telemetría.all: interrumpe todo para el destino especificado.cadena: interrumpe los incidentes en los que cualquier parte de la línea contiene las cadenas especificadas. Especifique una lista de cadenas delimitada por comas. |
-timeout nh\|nd\|none |
Especifique la duración de la interrupción en número de horas o días antes de que se produzca el timeout. Por defecto, el timeout está definido en 24 horas (24h). |
-c\|-local |
Especifique si la interrupción se debe definir en cluster-wide o local. Por defecto, la interrupción se define en local. |
-reason comment |
Especifique un motivo descriptivo para la interrupción. |
-docollection |
Utilice esta opción para realizar una recopilación de diagnóstico automático incluso si se ha definido una interrupción para este destino. |
Ejemplos:
A continuación se incluyen ejemplos para utilizar el comando tfactl blackout.
Para interrumpir el evento: ORA-00600 en el tipo de destino: database, destino: mydb
tfactl blackout add -targettype database -target mydb -event "ORA-00600"
Para interrumpir el evento: ORA-04031 en el tipo de destino: database, destino: all
tfactl blackout add -targettype database -target all -event "ORA-04031" -timeout 1h
Para interrumpir eventos de copia de seguridad de base de datos en el tipo de destino: dbbackup, destino: mydb
tfactl blackout add -targettype dbbackup -target mydb
Para interrumpir eventos de dataguard de base de datos en el tipo de destino: db_dataguard, destino: mydb
tfactl blackout add -targettype db_dataguard -target mydb -timeout 30m
Para interrumpir eventos de tablespace de base de datos en el tipo de destino: db_tablespace, destino: system, contenedor: mydb
tfactl blackout add -targettype db_tablespace -target system -container mydb -timeout 30m
Para interrumpir eventos ALL en el tipo de destino: host, destino: all
tfactl blackout add -targettype host -event all -target all -timeout 1h
-reason "Disabling all events during patching"
Para imprimir los detalles de interrupción:
tfactl blackout print
.-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
| myhostname |
+---------------+---------------------+-----------+------------------------------+------------------------------+--------+---------------+--------------------------------------+
| Target Type | Target | Events | Start Time | End Time | Status | Do Collection | Reason |
+---------------+---------------------+-----------+------------------------------+------------------------------+--------+---------------+--------------------------------------+
| HOST | ALL | ALL | Thu Mar 24 16:48:39 UTC 2022 | Thu Mar 24 17:48:39 UTC 2022 | ACTIVE | false | Disabling all events during patching |
| DATABASE | MYDB | ORA-00600 | Thu Mar 24 16:39:03 UTC 2022 | Fri Mar 25 16:39:03 UTC 2022 | ACTIVE | false | NA |
| DATABASE | ALL | ORA-04031 | Thu Mar 24 16:39:54 UTC 2022 | Thu Mar 24 17:39:54 UTC 2022 | ACTIVE | false | NA |
| DB_DATAGUARD | MYDB | ALL | Thu Mar 24 16:41:38 UTC 2022 | Thu Mar 24 17:11:38 UTC 2022 | ACTIVE | false | NA |
| DBBACKUP | MYDB | ALL | Thu Mar 24 16:40:47 UTC 2022 | Fri Mar 25 16:40:47 UTC 2022 | ACTIVE | false | NA |
| DB_TABLESPACE | SYSTEM_CDBNAME_MYDB | ALL | Thu Mar 24 16:45:56 UTC 2022 | Thu Mar 24 17:15:56 UTC 2022 | ACTIVE | false | NA |
'---------------+---------------------+-----------+------------------------------+------------------------------+--------+---------------+--------------------------------------'
Para eliminar la interrupción del evento: ORA-00600 en el tipo de destino: database, destino: mydb
tfactl blackout remove -targettype database -event "ORA-00600" -target mydb
Para eliminar la interrupción para eventos de copia de seguridad de base de datos en el tipo de destino: dbbackup, destino: mydb
tfactl blackout remove -targettype dbbackup -target mydb
Para eliminar la interrupción de eventos de tablespace de base de datos en el tipo de destino: db_tablespace, destino: system, contenedor: mydb
tfactl blackout remove -targettype db_tablespace -target system -container mydb
Para eliminar la interrupción de los eventos de host en el tipo de destino: all, destino: all
tfactl blackout remove -targettype host -event all -target all
Gestión de Oracle Trace File Analyzer
Para comprobar el estado de ejecución de Oracle Trace File Analyzer, ejecute el comando tfactl status como root o un usuario no raíz:
tfactl status
.----------------------------------------------------------------------------------------------.
| Host | Status of TFA | PID | Port | Version | Build ID | Inventory Status |
+-------+---------------+--------+------+------------+----------------------+------------------+
| node1 | RUNNING | 41312 | 5000 | 22.1.0.0.0 | 22100020220310214615 | COMPLETE |
| node2 | RUNNING | 272300 | 5000 | 22.1.0.0.0 | 22100020220310214615 | COMPLETE |
'----------------------------------------------------------------------------------------------'
Para iniciar el daemon de Oracle Trace File Analyzer en el nodo local, ejecute el comando tfactl start como usuario root:
tfactl start
Starting TFA..
Waiting up to 100 seconds for TFA to be started..
. . . . .
Successfully started TFA Process..
. . . . .
TFA Started and listening for commands
Para parar el daemon de Oracle Trace File Analyzer en el nodo local, ejecute el comando tfactl stop como usuario root:
tfactl stop
Stopping TFA from the Command Line
Nothing to do !
Please wait while TFA stops
Please wait while TFA stops
TFA-00002 Oracle Trace File Analyzer (TFA) is not running
TFA Stopped Successfully
Successfully stopped TFA..
Gestión del agente de servicio de base de datos
Consulte el archivo /opt/oracle/dcs/log/dcs-agent.log para identificar las incidencias relacionadas con el agente.
Para comprobar el estado del agente de servicio de base de datos, ejecute el comando systemctl status:
systemctl status dbcsagent.service
dbcsagent.service
Loaded: loaded (/usr/lib/systemd/system/dbcsagent.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2022-04-01 13:40:19 UTC; 6min ago
Process: 9603 ExecStopPost=/bin/bash -c kill `ps -fu opc |grep "java.*dbcs-agent.*jar" |
awk '{print $2}' ` (code=exited, status=0/SUCCESS)
Main PID: 10055 (sudo)
CGroup: /system.slice/dbcsagent.service
‣ 10055 sudo -u opc /bin/bash -c umask 077; /bin/java -Doracle.security.jps.config=/opt/oracle/...
Para iniciar el agente si no se está ejecutando, ejecute el comando systemctl start como usuario root:
systemctl start dbcsagent.service