Eventos do Serviço Database

A implementação do recurso Eventos do Serviço Database permite que você seja notificado sobre problemas de integridade com seus Bancos de Dados Oracle ou outros componentes no sistema de banco de dados.

É possível que o Oracle Database ou Clusterware talvez não esteja íntegro ou que vários componentes do sistema estejam ficando sem espaço no sistema de banco de dados. Os clientes não são notificados sobre essa situação. A implementação do recurso de Eventos do Database Service gera eventos para operações e condições do Plano de Dados, bem como Notificações para clientes, aproveitando os mecanismos existentes de notificação e do serviço Events do OCI na tenancy. Os clientes podem então criar tópicos e assinar esses tópicos por e-mail, funções ou streams.

Observação: O fluxo de eventos no sistema de banco de dados depende do agente Oracle Trace File Analyzer (TFA) e do Oracle Database Cloud Service (DBCS). Verifique se esses componentes estão em execução.

Receber Notificações sobre Eventos do Database Service

Assine os Eventos do Database Service e seja notificado. Para receber notificações, assine os Eventos do Database Service e seja notificado usando o serviço Oracle Notification. Consulte Visão Geral do Serviço Notifications. Para obter mais informações sobre Eventos do Oracle Cloud Infrastructure, consulte Visão Geral de Eventos.

Serviço Events - Tipos de Evento

Tipos de Evento do Database Service

A tabela a seguir lista os tipos de evento emitidos pelo Database Service.

Observação:

Eventos do Serviço Database

Observação: Além dos eventos listados abaixo, a Oracle analisa eventos adicionais para fornecer o mais alto nível de operações de serviço e suporte para garantir alta disponibilidade de serviços.

Nome Amigável Nome do Evento Descrição Remediação Tipo de Evento Limite
Utilização de Recursos - Uso de Disco HEALTH.DB_GUEST.FILESYSTEM.FREE_SPACE Este evento é relatado quando a quantidade de espaço livre do sistema de arquivos convidado da VM fica inferior a 10% livre, conforme determinado pelo comando df(1) do sistema operacional, para os seguintes sistemas:
/
/u01
/u02
/var (Somente X8M e posterior)
/tmp (Somente X8M e posterior)
HEALTH-DB_GUEST-FILESYSTEM-FREE_SPACE com.oraclecloud.databaseservice.dbnode.critical Limite crítico : 90%
Status Ativo/Inativo do CRS AVAILABILITY.DB_GUEST.CRS_INSTANCE.DOWN. Um evento do tipo CRITICAL é criado quando o CRS (Cluster Ready Service) é detectado como inativo. AVAILABILITY-DB_GUEST-CRS_INSTANCE.DOWN com.oraclecloud.databaseservice.dbnode.critical (se for . DOWN e NOT "user_action") NA
Status Ativo/Inativo do CRS AVAILABILITY.DB_GUEST.CRS_INSTANCE.DOWN_CLEARED Um evento do tipo INFORMATION é criado depois de determinado que o evento de CRS inativo foi limpo. NA com.oraclecloud.databaseservice.dbnode.information (se .DOWN_CLEARED) NA
Status Ativo/Inativo do CRS AVAILABILITY.DB_GUEST.CRS_INSTANCE.EVICTION É criado um evento do tipo CRITICAL. AVAILABILITY-DB_GUEST-CRS_INSTANCE-EVICTION com.oraclecloud.databaseservice.dbnode.critical NA
Listener Ativo/Inativo de SCAN AVAILABILITY.DB_CLUSTER.SCAN_LISTENER.DOWN Um evento DOWN é criado quando um listener de SCAN fica inativo. O evento é do tipo INFORMATION quando um listener de SCAN é encerrado por causa da ação do usuário, como com os comandos do Server Control Utility (srvctl) ou do Listener Control (lsnrctl), ou qualquer ação de manutenção do Oracle Cloud que use esses comandos, como executar uma atualização de software do grid infrastructure. O evento é do tipo CRITICAL quando um listener de SCAN fica inativo inesperadamente. Um evento DOWN_CLEARED correspondente é criado quando um listener SCAN é iniciado.
Há três listeners SCAN por cluster chamados LISTENER_SCAN[1,2,3].
AVAILABILITY-DB_CLUSTER-SCAN_LISTENER-DOWN com.oraclecloud.databaseservice.dbnode.critical (se for . DOWN e NOT "user_action") NA
Listener Ativo/Inativo de SCAN AVAILABILITY.DB_CLUSTER.SCAN_LISTENER.DOWN_CLEARED Um evento do tipo INFORMATION é criado depois que se determina que o evento para Listener de SCAN inativo foi limpo. NA com.oraclecloud.databaseservice.dbnode.information (se .DOWN_CLEARED) NA
Listener Ativo/Inativo de Rede AVAILABILITY.DB_GUEST.CLIENT_LISTENER.DOWN Um evento DOWN é criado quando um listener de cliente fica inativo. O evento é do tipo INFORMATION quando um listener de cliente é encerrado por causa da ação do usuário, como com os comandos do Server Control Utility (srvctl) ou do Listener Control (lsnrctl), ou qualquer ação de manutenção do Oracle Cloud que use esses comandos, como executar uma atualização de software do grid infrastructure. O evento é do tipo CRITICAL quando um listener de cliente fica inativo inesperadamente. Um evento DOWN_CLEARED correspondente é criado quando um LISTENER de cliente é iniciado.
Há um LISTENER cliente por nó, cada um denominado LISTENER.
AVAILABILITY-DB_GUEST-CLIENT_LISTENER.DOWN com.oraclecloud.databaseservice.database.critical (se for . DOWN e NOT "user_action") NA
Listener Ativo/Inativo de Rede AVAILABILITY.DB_GUEST.CLIENT_LISTENER.DOWN_CLEARED Um evento do tipo INFORMATION é criado quando se determina que o evento para o Listener de Cliente inativo foi limpo. NA com.oraclecloud.databaseservice.database.information (se .DOWN_CLEARED) NA
CDB Ativo/Inativo AVAILABILITY.DB_GUEST.CDB_INSTANCE.DOWN Um evento DOWN é criado quando uma instância do banco de dados fica inativa. O evento é do tipo INFORMATION quando uma instância de banco de dados é encerrada por causa da ação do usuário, como com os comandos SQL*Plus (sqlplus) ou Server Control Utility (srvctl), ou qualquer ação de manutenção do Oracle Cloud que use esses comandos, como executar uma atualização de software home do banco de dados. O evento é do tipo CRITICAL quando uma instância do banco de dados fica inativa inesperadamente. Um evento DOWN_CLEARED correspondente é criado quando uma instância do banco de dados é iniciada. AVAILABILITY-DB_GUEST-CDB_INSTANCE-DOWN com.oraclecloud.databaseservice.database.critical (se for . DOWN e NOT "user_action") NA
CDB Ativo/Inativo AVAILABILITY.DB_GUEST.CDB_INSTANCE.DOWN_CLEARED Um evento do tipo INFORMATION é criado depois de determinado que o evento para o CDB inativo foi limpo. NA com.oraclecloud.databaseservice.database.information (se .DOWN_CLEARED) NA
Erros Críticos do Banco de Dados HEALTH.DB_CLUSTER.CDB.CORRUPTION Foi detectada corrupção do banco de dados principal ou stand-by. O alert.log do banco de dados é analisado em busca de erros específicos que indiquem corrompimentos de blocos físicos ou lógicos ou de blocos lógicos causados por gravações perdidas. HEALTH-DB_CLUSTER-CDB-CORRUPTION com.oraclecloud.databaseservice.database.critical NA
Outros Erros de Banco de Dados HEALTH.DB_CLUSTER.CDB.ARCHIVER_HANG Um evento do tipo CRITICAL será criado se um CDB não conseguir arquivar o redo log on-line ativo ou não conseguir fazer isso de forma rápida o suficiente nos destinos de arquivamento de logs. HEALTH-DB_CLUSTER-CDB-ARCHIVER_HANG com.oraclecloud.databaseservice.database.critical NA
Outros Erros de Banco de Dados HEALTH.DB_CLUSTER.CDB.DATABASE_HANG Um evento do tipo CRITICAL é criado quando um processo ou sessão não responde no CDB. HEALTH-DB_CLUSTER-CDB-DATABASE_HANG com.oraclecloud.databaseservice.database.critical NA
Falhas de Backup HEALTH.DB_CLUSTER.CDB.BACKUP_FAILURE Um evento do tipo CRITICAL será criado se houver um backup do CDB com um status FAILED relatado na view v$rman_status. HEALTH-DB_CLUSTER-CDB-BACKUP_FAILURE com.oraclecloud.databaseservice.database.critical NA
Falhas de Backup HEALTH.DB_CLUSTER.CDB.BACKUP_FAILURE_CLEARED Um evento do tipo INFORMATION é criado. NA com.oraclecloud.databaseservice.database.information NA
Uso do Grupo de Discos HEALTH.DB_CLUSTER.DISK_GROUP.FREE_SPACE Um evento do tipo CRITICAL é criado quando um grupo de discos ASM atinge o uso de espaço de 90% ou mais. Um evento do tipo INFORMATION é criado quando o uso do espaço de grupo de discos ASM cai abaixo de 90%. HEALTH-DB_CLUSTER-DISK_GROUP-FREE_SPACE com.oraclecloud.databaseservice.dbsystem.critical
com.oraclecloud.databaseservice.dbsystem.information (se < 90%)
As notificações são enviadas quando o uso atinge 70%, 80%, 90% e 100% com uma severidade correspondente de 4, 3, 2 e 1.

Restringir Temporariamente Coletas Automáticas de Diagnóstico para Eventos Específicos

Use o comando tfactl blackout para suprimir temporariamente coletas automáticas de diagnóstico.

Se você definir o blecaute para um destino, o Oracle Trace File Analyzer interromperá as coletas automáticas de diagnóstico se encontrar eventos nos logs de alerta desse destino durante a varredura. Por padrão, o blecaute ficará em vigor por 24 horas.

Você também pode restringir a coleta automática de diagnóstico em um nível granular, por exemplo, somente para ORA-00600 ou até mesmo apenas para ORA-00600 com argumentos específicos.

Sintaxe:

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 Descrição
add|remove|print| Adiciona, remove ou imprime condições de blecaute.
-targettype type
Target type:host|crs|asm|asmdg|database|dbbackup|db_dataguard|
db_tablespace|pdb_tablespace|pdb|listener|service|os
Limita o blecaute somente para o tipo de alvo especificado.
host: O nó inteiro está em blecaute. 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 o destino do blecaute. Você pode especificar uma lista de alvos delimitados por vírgulas.
Por padrão, o destino é definido como all.
-container name Especifique o nome do contêiner do banco de dados (db_unique_name) em que o blecaute terá efeito (para PDB, DB_TABLESPACE e PDB_TABLESPACE).
-pdb pdb_name Especifique o PDB em que o blecaute terá efeito (somente para PDB_TABLESPACE).
-events all\|"str1,str2" Limita o blecaute apenas para os eventos de disponibilidade ou strings de eventos, que não devem acionar coleções automáticas ou ser marcados como blecaute no JSON de telemetria.
all: Blecaute tudo para o destino especificado.
string: Blecaute para incidentes em que qualquer parte da linha contenha as strings especificadas.
Especifique uma lista de strings delimitadas por vírgulas.
-timeout nh\|nd\|none Especifique a duração do blecaute em número de horas ou dias antes do timeout. Por padrão, o timeout é definido como 24 horas (24h).
-c\|-local Especifique se a blecaute deve ser definida como cluster-wide ou local.
Por padrão, o blecaute é definido como local.
-reason comment Especifique um motivo descritivo para o blecaute.
-docollection Use essa opção para fazer uma coleta de diagnóstico automática mesmo que um blecaute esteja definido para esse destino.

Exemplos:

A seguir estão os exemplos de uso do comando tfactl blackout.

Para causar um blecaute do evento: ORA-00600 em targettype: database, destino: mydb

tfactl blackout add -targettype database -target mydb -event "ORA-00600"

Para causar um blecaute do evento: ORA-04031 em targettype: database, destino: all

tfactl blackout add -targettype database -target all -event "ORA-04031" -timeout 1h

Para causar um blecaute de eventos de backup de banco de dados em targettype: dbbackup, destino: mydb

tfactl blackout add -targettype dbbackup -target mydb

Para causar um blecaute de eventos de banco de dados do dataguard em targettype: db_dataguard, destino: mydb

tfactl blackout add -targettype db_dataguard -target mydb -timeout 30m

Para causar um blecaute de eventos de tablespace do banco de dados em targettype: db_tablespace, destino: system, contêiner: mydb

tfactl blackout add -targettype db_tablespace -target system -container mydb -timeout 30m

Para causar um blecaute de todos (ALL) os eventos em targettype: host, destino: all

tfactl blackout add -targettype host -event all -target all -timeout 1h
    -reason "Disabling all events during patching"

Para imprimir detalhes do blecaute:

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 remover o blecaute do evento: ORA-00600 em targettype: database, destino: mydb

tfactl blackout remove -targettype database -event "ORA-00600" -target mydb

Para remover o blecaute de eventos de backup do banco de dados em targettype: dbbackup, destino: mydb

tfactl blackout remove -targettype dbbackup -target mydb

Para remover o blecaute de eventos de tablespace do banco de dados em targettype: db_tablespace, destino: system, contêiner: mydb

tfactl blackout remove -targettype db_tablespace -target system -container mydb

Para remover o blecaute de eventos de host em targettype: all, destino: all

tfactl blackout remove -targettype host -event all -target all

Gerenciar o Oracle Trace File Analyzer

Para verificar o status de execução do Oracle Trace File Analyzer, execute o comando tfactl status como root ou um usuário não raiz:

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 o daemon do Oracle Trace File Analyzer no nó local, execute o comando tfactl start como usuário 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 interromper o daemon do Oracle Trace File Analyzer no nó local, execute o comando tfactl stop como usuário 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..

Gerenciar o Database Service Agent

Veja o arquivo /opt/oracle/dcs/log/dcs-agent.log para identificar problemas com o agente.

Para verificar o status do Database Service Agent, execute o 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 o agente se ele não estiver em execução, execute o comando systemctl start como usuário root:

systemctl start dbcsagent.service