Eventi servizio di database

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

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

Nota: il flusso di eventi sul sistema DB dipende dall'agente TFA (Oracle Trace File Analyzer) e DBCS (Oracle Database Cloud Service). Assicurarsi che questi componenti siano attivi e in esecuzione.

Ricevi notifiche sugli eventi del servizio di database

Eseguire la sottoscrizione agli eventi del servizio di database e ricevere una notifica. Per ricevere notifiche, eseguire la sottoscrizione agli eventi del servizio di database e ricevere notifiche utilizzando il servizio Oracle Notification, vedere Panoramica delle notifiche. Per ulteriori informazioni su Oracle Cloud Infrastructure Events, vedere Panoramica degli eventi.

Servizio eventi - Tipi di evento

Tipi di evento servizio database

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

Nota:

Eventi servizio di database

Nota: oltre agli eventi elencati di seguito, Oracle analizza eventi aggiuntivi per fornire il livello più elevato di operazioni di servizio e supporto per garantire l'alta disponibilità dei servizi.

Nome descrittivo Nome evento Descrizione Misura correttiva 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 VM è inferiore al 10% libero, come determinato dal comando df(1) del sistema operativo, per i file system seguenti:
/
/u01
/u02
/var (solo X8M e versioni successive)
/tmp (solo X8M e versioni successive)
STATO-DB_GUEST-FILESYSTEM-FREE_SPACE com.oraclecloud.databaseservice.dbnode.critical Soglia critica: 90%
Stato CRS attivo/inattivo AVAILABILITY.DB_GUEST.CRS_INSTANCE.DOWN. Un evento di tipo CRITICAL viene creato 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
Stato CRS attivo/inattivo AVAILABILITY.DB_GUEST.CRS_INSTANCE.DOWN_CLEARED Un evento di tipo INFORMAZIONI viene creato una volta determinato che l'evento per CRS inattivo è stato cancellato. ND com.oraclecloud.databaseservice.dbnode.information (se . DOWN_CLEARED) ND
Stato CRS attivo/inattivo AVAILABILITY.DB_GUEST.CRS_INSTANCE.EVICTION Viene creato un evento di tipo CRITICO. 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 della utility di controllo del server (srvctl) o di controllo del listener (lsnrctl) o qualsiasi azione di manutenzione di Oracle Cloud che utilizza tali comandi, ad esempio l'esecuzione di un aggiornamento software di Grid Infrastructure. L'evento è di tipo CRITICAL quando un listener SCAN si arresta in modo imprevisto. Un evento DOWN_CLEARED corrispondente viene creato all'avvio di un listener SCAN.
Sono disponibili tre listener SCAN per cluster denominati LISTENER_SCAN[1,2,3].
DISPONIBILITÀ-DB_CLUSTER-SCAN_LISTENER-DOWN com.oraclecloud.databaseservice.dbnode.critical (se . DOWN e NON "user_action") ND
Listener SCAN attivo/inattivo AVAILABILITY.DB_CLUSTER.SCAN_LISTENER.DOWN_CLEARED Un evento di tipo INFORMATION viene creato una volta determinato che l'evento per il listener SCAN è stato cancellato. ND com.oraclecloud.databaseservice.dbnode.information (se . DOWN_CLEARED) ND
Listener netto 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 della utility di controllo del server (srvctl) o di controllo del listener (lsnrctl) o qualsiasi azione di manutenzione di Oracle Cloud che utilizza tali comandi, ad esempio l'esecuzione di un aggiornamento software di Grid Infrastructure. L'evento è di tipo CRITICAL quando un listener client diventa inattivo in modo imprevisto. Un evento DOWN_CLEARED corrispondente viene creato all'avvio di un LISTENER client.
Esiste un LISTENER client per nodo, ciascuno denominato LISTENER.
DISPONIBILITÀ-DB_GUEST-CLIENT_LISTENER.DOWN com.oraclecloud.databaseservice.database.critical (se . DOWN e NON "user_action") ND
Listener netto attivo/inattivo AVAILABILITY.DB_GUEST.CLIENT_LISTENER.DOWN_CLEARED Un evento di tipo INFORMATION viene creato una volta determinato che l'evento per il listener client è stato cancellato. ND com.oraclecloud.databaseservice.database.information (se . DOWN_CLEARED) ND
CDB attivo/inattivo 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 arrestata 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 software della home del database. L'evento è di tipo CRITICO quando un'istanza di database diventa inattiva in modo imprevisto. Un evento DOWN_CLEARED corrispondente viene creato all'avvio di un'istanza di database. DISPONIBILITÀ-DB_GUEST-CDB_INSTANCE-DOWN com.oraclecloud.databaseservice.database.critical (se . DOWN e NON "user_action") ND
CDB attivo/inattivo AVAILABILITY.DB_GUEST.CDB_INSTANCE.DOWN_CLEARED Un evento di tipo INFORMATION viene creato una volta 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 Il danneggiamento del database è stato rilevato nel database primario o in standby. Il file alert.log del database viene analizzato per eventuali errori specifici indicativi di danneggiamenti dei blocchi fisici, danneggiamenti dei blocchi logici o danneggiamenti dei blocchi logici causati da scritture perse. STATO-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 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
Altri errori DB 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 di backup HEALTH.DB_CLUSTER.CDB.BACKUP_FAILURE Viene creato un evento di tipo CRITICAL se esiste un backup CDB con stato FAILED riportato nella vista v$rman_status. STATO-DB_CLUSTER-CDB-BACKUP_FAILURE com.oraclecloud.databaseservice.database.critical ND
Errori di backup 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%. Viene creato un evento di tipo INFORMATION quando l'uso dello spazio dei gruppi di dischi ASM scende sotto il 90%. HEALTH-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 di 4, 3, 2 e 1.

Limita temporaneamente raccolte di diagnostica automatiche per eventi specifici

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

Se si imposta la sospensione attività per una destinazione, Oracle Trace File Analyzer arresta le raccolte di diagnostica automatiche se trova gli eventi nei log degli avvisi 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:

Parametro Descrizione
add|remove|print| Aggiunge, rimuove o stampa le condizioni di sospensione attività.
-targettype type
Target type: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à. 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 Specificare la destinazione per la sospensione attività. È possibile specificare una lista di destinazioni delimitata da virgole.
Per impostazione predefinita, la destinazione è impostata su all.
-container name Specificare il nome del contenitore del 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 evento, che non devono attivare le raccolte automatiche, oppure devono essere contrassegnate come sospese in JSON di telemetria.
all: sospensione attività di tutto 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 delimitata 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 (24 ore).
-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 gli esempi di utilizzo del comando di sospensione attività tfactl.

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

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

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

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

Per disattivare gli eventi di backup del database in targettype: dbbackup, destinazione: mydb

tfactl blackout add -targettype dbbackup -target mydb

Per disattivare gli eventi Data Guard del database nel tipo di destinazione: db_dataguard, destinazione: mydb

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

Per sospendere l'attività degli eventi della tablespace DB su targettype: db_tablespace, destinazione: system, contenitore: mydb

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

Per disattivare gli eventi ALL in 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 sul tipo di destinazione: 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 in 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 in 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 utente root o 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 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