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

Tipos de eventos del servicio de base de datos

En la siguiente tabla se muestran los tipos de eventos que emite Database Service.

Nota:

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.critical
com.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 type
Target 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