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
|
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 ( 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 ( 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 |
|
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. |
Tipo de destino:
|
Limita o blecaute apenas ao tipo de destino especificado.
|
-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 |
-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.
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 Por padrão, o blecaute é definido como |
-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