Eventi servizio database

L'implementazione della funzione Eventi servizio di database consente di ricevere notifiche sui problemi di integrità dei database Oracle o di altri componenti nel sistema DB.

È possibile che Oracle Database o Clusterware non siano in buono stato o che vari componenti del sistema stiano esaurendo lo spazio nel sistema DB. I clienti non vengono informati di questa situazione. L'implementazione della funzione Eventi servizio di database genera eventi per le operazioni e le condizioni del piano dati, nonché notifiche per i clienti sfruttando il servizio OCI Events e i meccanismi di notifica esistenti nella propria tenancy. I clienti possono quindi creare argomenti e sottoscrivere questi argomenti tramite e-mail, funzioni o flussi.

Nota

Il flusso di eventi nel sistema DB dipende dall'agente Oracle Trace File Analyzer (TFA) e Oracle Database Cloud Service (DBCS). Assicurarsi che questi componenti siano operativi.

Ricevi notifiche sugli eventi del servizio di database

Eseguire la sottoscrizione agli eventi del servizio di database e ricevere una notifica. Per ricevere le notifiche, effettuare la sottoscrizione agli eventi del servizio di database e ricevere le notifiche utilizzando il servizio di notifica Oracle. Vedere Panoramica sulle notifiche. Per ulteriori informazioni su Oracle Cloud Infrastructure Events, consulta la panoramica degli eventi.

Servizio eventi - Tipi di evento

  • Database - Critico
  • Nodo DB - Critico
  • Nodo DB - Errore
  • Nodo DB - Avvertenza
  • Nodo DB - Informazioni
  • Sistema DB - Critico

Tipi di evento servizio database

Nella tabella seguente sono elencati i tipi di evento emessi dal servizio di database.

Nota

  • Gli eventi critici vengono attivati da varie condizioni ed errori critici che interrompono il database o altri componenti essenziali. Ad esempio, gli errori di mancata risposta del database e gli errori di disponibilità per database, nodi di database e sistemi DB indicano quando una risorsa non è più disponibile.
  • Gli eventi Informazioni vengono attivati quando il database e altri componenti critici funzionano come previsto. Ad esempio, la chiusura pulita di CRS, CDB, client o listener di scansione o l'avvio di questi componenti creerà un evento con la severità INFO.
  • I limiti di soglia riducono il numero di notifiche che i clienti riceveranno per eventi incidente simili e, allo stesso tempo, garantiscono di ricevere gli eventi incidente e di ricevere un promemoria tempestivo.

Eventi servizio database

Nota

Oltre agli eventi elencati di seguito, Oracle analizza eventi aggiuntivi per fornire il massimo livello di service operations e supporto per garantire l'alta disponibilità dei servizi.

Tabella - Eventi servizio database

Nome descrittivo Nome evento Descrizione Risoluzione Tipo di evento Soglia
Utilizzo risorse - Uso disco HEALTH.DB_GUEST.FILESYSTEM.FREE_SPACE

Questo evento viene segnalato quando lo spazio libero del file system guest della VM è inferiore al 10% libero, come determinato dal comando del sistema operativo df(1), per i seguenti file system:

  • /
  • /u01
  • /u02
  • /var (solo X8M e versioni successive)
  • /tmp (solo X8M e versioni successive)
STATO-DB_GUEST-FILESISTEMA-FREE_SPACE com.oraclecloud.databaseservice.dbnode.critical soglia critica: 90%
Stato CRS attivo/inattivo AVAILABILITY.DB_GUEST.CRS_INSTANCE.DOWN. Viene creato un evento di tipo CRITICAL quando viene rilevato che il servizio CRS (Cluster Ready Service) è inattivo. DISPONIBILITÀ-DB_GUEST-CRS_INSTANCE.DOWN com.oraclecloud.databaseservice.dbnode.critical (se . DOWN e NON "user_action") ND
AVAILABILITY.DB_GUEST.CRS_INSTANCE.DOWN_CLEARED Un evento di tipo INFORMATION viene creato dopo aver determinato che l'evento per CRS inattivo è stato cancellato. ND com.oraclecloud.databaseservice.dbnode.information (se . DOWN_CLEARED) ND
AVAILABILITY.DB_GUEST.CRS_INSTANCE.EVICTION Viene creato un evento di tipo CRITICAL. DISPONIBILITÀ-DB_GUEST-CRS_INSTANCE-EVICTION com.oraclecloud.databaseservice.dbnode.critical ND
Listener SCAN attivo/inattivo AVAILABILITY.DB_CLUSTER.SCAN_LISTENER.DOWN

Un evento DOWN viene creato quando un listener SCAN diventa inattivo. L'evento è di tipo INFORMATION quando un listener SCAN viene chiuso a causa di un'azione dell'utente, ad esempio con i comandi Server Control Utility (srvctl) o Listener Control (lsnrctl) o qualsiasi azione di manutenzione di Oracle Cloud che utilizza tali comandi, ad esempio l'esecuzione di un aggiornamento del software di Grid Infrastructure. L'evento è di tipo CRITICAL quando un listener SCAN diventa inattivo in modo imprevisto. Quando viene avviato un listener SCAN, viene creato un evento DOWN_CLEARED corrispondente.

Esistono tre listener SCAN per cluster denominati LISTENER_SCAN[1,2,3].

DISPONIBILITÀ-DB_CLUSTER-SCAN_LISTENER-GIÙ com.oraclecloud.databaseservice.dbnode.critical (se . DOWN e NON "user_action") ND
AVAILABILITY.DB_CLUSTER.SCAN_LISTENER.DOWN_CLEARED Un evento di tipo INFORMATION viene creato dopo aver determinato che l'evento per il listener SCAN è stato cancellato. ND com.oraclecloud.databaseservice.dbnode.information (se . DOWN_CLEARED) ND
Listener di rete attivo/inattivo AVAILABILITY.DB_GUEST.CLIENT_LISTENER.DOWN

Un evento DOWN viene creato quando un listener client diventa inattivo. L'evento è di tipo INFORMATION quando un listener client viene chiuso a causa di un'azione dell'utente, ad esempio con i comandi Server Control Utility (srvctl) o Listener Control (lsnrctl) o qualsiasi azione di manutenzione di Oracle Cloud che utilizza tali comandi, ad esempio l'esecuzione di un aggiornamento del software di Grid Infrastructure. L'evento è di tipo CRITICAL quando un listener client si interrompe in modo imprevisto. Quando viene avviato un listener client, viene creato un evento DOWN_CLEARED corrispondente.

C'è un LISTENER client per nodo, ognuno chiamato LISTENER.

DISPONIBILITÀ-DB_GUEST-CLIENT_LISTENER.DOWN com.oraclecloud.databaseservice.database.critical (se . DOWN e NON "user_action") ND
AVAILABILITY.DB_GUEST.CLIENT_LISTENER.DOWN_CLEARED Un evento di tipo INFORMATION viene creato dopo aver determinato che l'evento per il listener client è stato cancellato. ND com.oraclecloud.databaseservice.database.information (se . DOWN_CLEARED) ND
CDB Up/Down AVAILABILITY.DB_GUEST.CDB_INSTANCE.DOWN Un evento DOWN viene creato quando un'istanza di database diventa inattiva. L'evento è di tipo INFORMATION quando un'istanza di database viene chiusa a causa di un'azione dell'utente, ad esempio con i comandi SQL*Plus (sqlplus) o Server Control Utility (srvctl) o qualsiasi azione di manutenzione di Oracle Cloud che utilizza tali comandi, ad esempio l'esecuzione di un aggiornamento del software della home del database. L'evento è di tipo CRITICAL quando un'istanza di database diventa inattiva in modo imprevisto. Viene creato un evento DOWN_CLEARED corrispondente all'avvio di un'istanza di database. DISPONIBILITÀ-DB_GUEST-CDB_INSTANCE-GIÙ com.oraclecloud.databaseservice.database.critical (se . DOWN e NON "user_action") ND
AVAILABILITY.DB_GUEST.CDB_INSTANCE.DOWN_CLEARED Un evento di tipo INFORMATION viene creato dopo aver determinato che l'evento per il CDB inattivo è stato cancellato. ND com.oraclecloud.databaseservice.database.information (se . DOWN_CLEARED) ND
Errori database critici HEALTH.DB_CLUSTER.CDB.CORRUPTION Rilevato danneggiamento del database nel database primario o in standby. Il database alert.log viene analizzato per rilevare eventuali errori specifici indicativi di danneggiamenti fisici dei blocchi, danneggiamenti logici dei blocchi o danneggiamenti logici dei blocchi causati da scritture perse. SALUTE-DB_CLUSTER-CDB-CORRUZIONE com.oraclecloud.databaseservice.database.critical ND
Altri errori DB HEALTH.DB_CLUSTER.CDB.ARCHIVER_HANG Viene creato un evento di tipo CRITICAL se un CDB non è in grado di archiviare il redo log in linea attivo o se non è in grado di archiviare il redo log in linea attivo abbastanza velocemente per le destinazioni dell'archivio di log. STATO-DB_CLUSTER-CDB-ARCHIVER_HANG com.oraclecloud.databaseservice.database.critical ND
HEALTH.DB_CLUSTER.CDB.DATABASE_HANG Un evento di tipo CRITICAL viene creato quando un processo o una sessione non risponde nel CDB. STATO-DB_CLUSTER-CDB-DATABASE_HANG com.oraclecloud.databaseservice.database.critical ND
Errori backup HEALTH.DB_CLUSTER.CDB.BACKUP_FAILURE Viene creato un evento di tipo CRITICAL se nella vista v$rman_status è presente un backup CDB con stato FAILED. STATO-DB_CLUSTER-CDB-BACKUP_FAILURE com.oraclecloud.databaseservice.database.critical ND
HEALTH.DB_CLUSTER.CDB.BACKUP_FAILURE_CLEARED Viene creato un evento di tipo INFORMATION. ND com.oraclecloud.databaseservice.database.information ND
Uso gruppo di dischi HEALTH.DB_CLUSTER.DISK_GROUP.FREE_SPACE Un evento di tipo CRITICAL viene creato quando un gruppo di dischi ASM raggiunge l'uso dello spazio pari o superiore al 90%. Un evento di tipo INFORMATION viene creato quando l'uso dello spazio dei gruppi di dischi ASM scende al di sotto del 90%. STATO-DB_CLUSTER-DISK_GROUP-FREE_SPACE

com.oraclecloud.databaseservice.dbsystem.critical

com.oraclecloud.databaseservice.dbsystem.information (se < 90%)

Le notifiche vengono inviate quando l'uso raggiunge il 70%, l'80%, il 90% e il 100% con una severità corrispondente pari a 4, 3, 2 e 1.

Limita temporaneamente le raccolte di diagnostica automatica per eventi specifici

Utilizzare il comando tfactl blackout per eliminare temporaneamente le raccolte di diagnostica automatica.

Se si imposta la sospensione attività per una destinazione, Oracle Trace File Analyzer arresta le raccolte di diagnostica automatica se trova gli eventi nei log degli alert per tale destinazione durante la scansione. Per impostazione predefinita, la sospensione attività sarà attiva per 24 ore.

È inoltre possibile limitare la raccolta diagnostica automatica a livello granulare, ad esempio solo per ORA-00600 o anche solo ORA-00600 con argomenti specifici.

Sintassi

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]

Parametri

Tabella - Parametri

Parametro Descrizione
add|remove|print| Aggiunge, rimuove o stampa le condizioni di sospensione attività.

-targettype type

Tipo di destinazione:host|crs|asm|asmdg|database|dbbackup|db_dataguard|

db_tablespace|pdb_tablespace|pdb|listener|service|os

Limita la sospensione attività solo al tipo di destinazione specificato.

host: l'intero nodo è in sospensione attività. Se si verifica una sospensione attività dell'host, ogni elemento di sospensione attività visualizzato come vero in Telemetry JSON avrà il motivo della sospensione attività.

crs: sospendere la disponibilità della risorsa o degli eventi Oracle Clusterware nei log di Oracle Clusterware.

asm: sospendere la disponibilità di Oracle Automatic Storage Management (Oracle ASM) su questo computer o sugli eventi nei log degli alert di Oracle ASM.

asmdg: sospensione attività di un gruppo di dischi Oracle ASM.

database: sospendere la disponibilità di un Oracle Database, di un backup di Oracle Database, di una tablespace e così via o di eventi nei log degli alert di Oracle Database.

dbbackup: sospendere gli eventi di backup di Oracle Database, ad esempio i backup di CDB o di archivio.

db_dataguard: sospensione attività degli eventi di Oracle Data Guard.

db_tablespace: sospendere gli eventi delle tablespace di Oracle Database (database contenitore).

pdb_tablespace: sospende gli eventi di tablespace di pluggable database Oracle (pluggable database).

pdb: sospende gli eventi del pluggable database Oracle.

listener: sospende la disponibilità di un listener.

service: sospendere la disponibilità di un servizio.

os: sospendere uno o più record del sistema operativo.

-target all|name

Specificare la destinazione per la sospensione attività. È possibile specificare una lista di destinazioni delimitata da virgole.

Per impostazione predefinita, la destinazione viene impostata su all.

-container name Specificare il nome del contenitore di database (db_unique_name) in cui la sospensione attività diventerà effettiva (per PDB, DB_TABLESPACE e PDB_TABLESPACE).
-pdb pdb_name Specificare il PDB in cui la sospensione attività diventerà effettiva (solo per PDB_TABLESPACE).
-events all|"str1,str2"

Limita la sospensione attività solo agli eventi di disponibilità o alle stringhe di eventi, che non devono attivare raccolte automatiche o essere contrassegnati come sospesi in telemetria JSON.

all: sospensione attività di tutti gli elementi per la destinazione specificata.

stringa: sospensione attività per gli incidenti in cui qualsiasi parte della riga contiene le stringhe specificate.

Specificare una lista di stringhe delimitate da virgole.

-timeout nh|nd|none Specificare la durata della sospensione attività in numero di ore o giorni prima del timeout. Per impostazione predefinita, il timeout è impostato su 24 ore (24h).
-c|-local

Specificare se la sospensione attività deve essere impostata su cluster-wide o local.

Per impostazione predefinita, la sospensione attività è impostata su local.

-reason comment Specificare un motivo descrittivo per la sospensione attività.
-docollection Utilizzare questa opzione per eseguire una raccolta diagnostica automatica anche se è impostata una sospensione attività per questa destinazione.

Esempi

Di seguito sono riportati alcuni esempi di utilizzo del comando di sospensione attività tfactl.

Per l'evento di sospensione attività: ORA-00600 su targettype: database, destinazione: mydb

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

Per l'evento di sospensione attività: ORA-04031 su targettype: database, destinazione: all

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

Per sospendere gli eventi di backup del database su targettype: dbbackup, destinazione: mydb

tfactl blackout add -targettype dbbackup -target mydb

Per sospendere l'attività degli eventi Data Guard DB nel tipo di mirino: db_dataguard, destinazione: mydb

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

Per sospendere l'attività degli eventi della tablespace del database sul tipo di destinazione: db_tablespace, destinazione: system, contenitore: mydb

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

Per sospendere gli eventi ALL su targettype: host, destinazione: all

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

Per stampare i dettagli della sospensione attività:

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                                   |
'---------------+---------------------+-----------+------------------------------+------------------------------+--------+---------------+--------------------------------------'

Per rimuovere la sospensione attività per l'evento: ORA-00600 su targettype: database, destinazione: mydb

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

Per rimuovere la sospensione attività per gli eventi di backup del database su targettype: dbbackup, destinazione: mydb

tfactl blackout remove -targettype dbbackup -target mydb

Per rimuovere la sospensione attività per gli eventi della tablespace del database sul tipo di destinazione: db_tablespace, destinazione: system, contenitore: mydb

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

Per rimuovere la sospensione attività per gli eventi host su targettype: all, destinazione: all

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

Gestisci Oracle Trace File Analyzer

Per controllare lo stato di esecuzione di Oracle Trace File Analyzer, eseguire il comando tfactl status come root o come utente non root:

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         |
'----------------------------------------------------------------------------------------------'

Per avviare il daemon di Oracle Trace File Analyzer sul nodo locale, eseguire il comando tfactl start come utente 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

Per arrestare il daemon di Oracle Trace File Analyzer sul nodo locale, eseguire il comando tfactl stop come utente 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..

Gestisci agente servizio di database

Visualizzare il file /opt/oracle/dcs/log/dcs-agent.log per identificare i problemi con l'agente.

Per controllare lo stato dell'agente del servizio di database, eseguire il 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/...

Per avviare l'agente se non è in esecuzione, eseguire il comando systemctl start come utente root:

systemctl start dbcsagent.service