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 Oracle Trace File Analyzer (TFA) e do agente 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

  • Banco de Dados - Crítico
  • Nó de Banco de Dados - Crítico
  • Nó de Banco de Dados - Erro
  • Nó de Banco de Dados - Advertência
  • Nó de Banco de Dados - Informações
  • Sistema de Banco de Dados - Crítico

Tipos de Evento do Database Service

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

Observação:

  • Os eventos Críticos são acionados por várias condições e erros críticos que interrompem o banco de dados ou outros componentes essenciais. Por exemplo, erros que não respondem ao banco de dados e erros de disponibilidade para bancos de dados, nós de banco de dados e sistemas de banco de dados indicam quando um recurso fica indisponível.
  • Os eventos Informativos são acionados quando o banco de dados e outros componentes críticos funcionam conforme esperado. Por exemplo, um shutdown limpo de CRS, CDB, cliente ou listener de verificação, ou uma inicialização desses componentes, criará um evento com a severidade INFO.
  • Os limites reduzem o número de notificações que os clientes receberão para eventos de incidentes semelhantes, garantindo ao mesmo tempo que eles recebam os eventos de incidentes e sejam lembrados em tempo hábil.

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 dos serviços.

Tabela - Eventos do Database Service

Nome Simples Nome do Evento Descrição Correção Tipo de Evento Limite
Utilização de Recursos - Uso de Disco HEALTH.DB_GUEST.FILESYSTEM.FREE_SPACE

Esse evento é relatado quando o espaço livre do sistema de arquivos da VM convidada fica abaixo de 10%, conforme determinado pelo comando df(1) do sistema operacional, para os seguintes sistemas de arquivos:

  • /
  • /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 .DOWN e NOT "user_action") NA
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
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 de SCAN é iniciado.

Há três listeners de SCAN por cluster chamados LISTENER_SCAN[1,2,3].

AVAILABILITY-DB_CLUSTER-SCAN_LISTENER-DOWN com.oraclecloud.databaseservice.dbnode.critical (se .DOWN e NOT "user_action") NA
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 de cliente por nó, cada um chamado LISTENER.

AVAILABILITY-DB_GUEST-CLIENT_LISTENER.DOWN com.oraclecloud.databaseservice.database.critical (se .DOWN e NOT "user_action") NA
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 .DOWN e NOT "user_action") NA
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
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
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

Tabela - - Parâmetros

Parâmetro Descrição
add|remove|print| Adiciona, remove ou imprime condições de blecaute.

-targettype type

Tipo de destino:host|crs|asm|asmdg|database|dbbackup|db_dataguard|

db_tablespace|pdb_tablespace|pdb|listener|service|os

Limita o blecaute apenas ao tipo de destino especificado.

host: O nó inteiro está sob blecaute. Se houver blecaute do host, todo elemento de blecaute mostrado como verdadeiro no JSON de Telemetria terá o motivo do blecaute.

crs: Causa um blecaute na disponibilidade do recurso ou dos eventos do Oracle Clusterware nos logs do Oracle Clusterware.

asm: Causa um blecaute na disponibilidade do Oracle Automatic Storage Management (Oracle ASM) nesta máquina ou em eventos nos logs de alerta do Oracle ASM.

asmdg: Causa um blecaute em grupo de discos do Oracle ASM.

database: Causa um blecaute na disponibilidade de um Oracle Database, de um backup, tablespace etc. do Oracle Database ou de eventos nos logs de alerta do Oracle Database.

dbbackup: Causa um blecaute nos eventos de backup do Oracle Database (como CDB ou backups de arquivos compactados).

db_dataguard: Causa um blecaute nos eventos do Oracle Data Guard.

db_tablespace: Causa um blecaute nos eventos de tablespace do Oracle Database (banco de dados contêiner).

pdb_tablespace: Causa um blecaute nos eventos de tablespace do banco de dados plugável Oracle (banco de dados plugável).

pdb: Causa blecaute nos eventos do banco de dados plugável Oracle.

listener: Causa um blecaute na disponibilidade de um listener.

service: Causa um blecaute na disponibilidade de um serviço.

os: Causa um blecaute de um ou mais registros do sistema operacional.

-target all|name

Especifique o destino do blecaute. Você pode especificar uma lista de destinos 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 aos eventos de disponibilidade, ou strings de eventos, que não devem acionar coletas automáticas ou ser marcadas como blecaute no JSON de telemetria.

all: Causa um blecaute em tudo para o destino especificado.

string: Causa um 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

Especifica se o blecaute deve ser definido 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