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
|
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 ( 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 ( 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 |
|
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à. |
Tipo di destinazione:
|
Limita la sospensione attività solo al tipo di destinazione specificato.
|
-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 |
-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.
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 Per impostazione predefinita, la sospensione attività è impostata su |
-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