Evénements du service Database
L'implémentation de la fonctionnalité des événements du service Database vous permet d'être informé des problèmes d'état des bases de données ou d'autres composants Oracle sur le système de base de données.
Il est possible qu'Oracle Database ou Clusterware ne soit pas en bon état, ou que divers composants système ne disposent pas de suffisamment d'espace dans le système de base de données. Les clients ne sont pas informés de cette situation. L'implémentation de la fonctionnalité des événements du service Database génère des événements pour les opérations et conditions de plan de données, ainsi que des notifications pour les clients à l'aide du service OCI Events et des mécanismes de notification existants dans leur location. Les clients peuvent ensuite créer des sujets et s'y abonner via leur adresse électronique, des fonctions ou des flux de données.
Remarque : le flux d'événements sur le système de base de données dépend de l'agent Oracle Trace File Analyzer (TFA) et d'Oracle Database Cloud Service (DBCS). Assurez-vous que ces composants sont en fonctionnement.
Réception de notifications sur les événements du service Database
Abonnez-vous aux événements du service Database et recevez des notifications. Pour recevoir des notifications, abonnez-vous aux événements du service Database et recevez des notifications à l'aide d'Oracle Notification Service. Reportez-vous à Présentation de Notifications. Pour plus d'informations sur Oracle Cloud Infrastructure Events, reportez-vous à Présentation d'Events.
Service Events - Types d'événement
- Base de données - Critique
- Noeud de base de données - Critique
- Noeud de base de données - Erreur
- Noeud de base de données - Avertissement
- Noeud de base de données - Informations
- Système de base de données - Critique
Types d'événement du service Database
Le tableau suivant répertorie les types d'événement émis par le service Database.
Remarque :
- Les événements critiques sont déclenchés par diverses conditions critiques et erreurs qui perturbent la base de données ou d'autres composants essentiels. Par exemple, les erreurs de base de données ne répondant pas et les erreurs de disponibilité pour les bases de données, les noeuds de base de données et les systèmes de base de données indiquent quand une ressource devient indisponible.
- Les événements information sont déclenchés lorsque la base de données et les autres composants critiques fonctionnent comme prévu. Par exemple, un arrêt correct de CRS, de la base de données Conteneur, du client ou du processus d'écoute SCAN, ou un démarrage de ces composants, entraînera la création d'un événement avec la gravité
INFO. - Les limites de seuil réduisent le nombre de notifications que les clients reçoivent pour des événements d'incident similaires, tout en s'assurant qu'ils reçoivent ces événements d'incident ainsi que les rappels correspondants en temps opportun.
Evénements du service Database
Remarque : Outre les événements répertoriés ci-dessous, Oracle analyse des événements supplémentaires pour fournir le plus haut niveau d'opérations de service et assurer une haute disponibilité des services.
| Nom convivial | Nom d'événement | Description | Résolution | Type d'événement | Seuil |
|---|---|---|---|---|---|
| Utilisation des ressources - Utilisation du disque | HEALTH.DB_GUEST.FILESYSTEM.FREE_SPACE |
Cet événement est signalé lorsque l'espace libre de l'invité de machine virtuelle du système de fichiers est inférieure à 10 %, comme déterminé par la commande df(1) du système d'exploitation, pour les systèmes d'exploitation suivants ://u01/u02/var (X8M et versions ultérieures uniquement)/tmp (X8M et versions ultérieures uniquement) |
HEALTH-DB_GUEST-FILESYSTEM-FREE_SPACE | com.oraclecloud.databaseservice.dbnode.critical |
Seuil critique : 90 % |
| Statut Démarré/Arrêté de CRS | AVAILABILITY.DB_GUEST.CRS_INSTANCE.DOWN. |
Un événement de type CRITICAL est créé lorsque CRS (Cluster Ready Service) est repéré comme étant arrêté. | AVAILABILITY-DB_GUEST-CRS_INSTANCE.DOWN | com.oraclecloud.databaseservice.dbnode.critical (si . DOWN et NOT "user_action") |
S/O |
| Statut Démarré/Arrêté de CRS | AVAILABILITY.DB_GUEST.CRS_INSTANCE.DOWN_CLEARED |
Un événement de type INFORMATION est créé une fois qu'il est déterminé que l'événement concernant l'instance CRS arrêtée a été effacé. | S/O | com.oraclecloud.databaseservice.dbnode.information (si .DOWN_CLEARED) |
S/O |
| Statut Démarré/Arrêté de CRS | AVAILABILITY.DB_GUEST.CRS_INSTANCE.EVICTION |
Un événement de type CRITICAL est créé. | AVAILABILITY-DB_GUEST-CRS_INSTANCE-EVICTION | com.oraclecloud.databaseservice.dbnode.critical |
S/O |
| Processus d'écoute SCAN démarré/arrêté | AVAILABILITY.DB_CLUSTER.SCAN_LISTENER.DOWN |
Un événement DOWN est créé lorsqu'un processus d'écoute SCAN est arrêté. L'événement est de type INFORMATION lorsqu'un processus d'écoute SCAN est arrêté en raison d'une action de l'utilisateur, par exemple avec les commandes de l'utilitaire Server Control (srvctl) ou Listener Control (lsnrctl), ou de toute action de maintenance Oracle Cloud qui utilise ces commandes, telle qu'une mise à jour du logiciel Grid Infrastructure. L'événement est de type CRITICAL lorsqu'un processus d'écoute SCAN est arrêté de manière inattendue. Un événement DOWN_CLEARED correspondant est créé lorsqu'un processus d'écoute SCAN est démarré. Il existe trois processus d'écoute SCAN par cluster, appelés LISTENER_SCAN[1,2,3]. |
AVAILABILITY-DB_CLUSTER-SCAN_LISTENER-DOWN | com.oraclecloud.databaseservice.dbnode.critical (si . DOWN et NOT "user_action") |
S/O |
| Processus d'écoute SCAN démarré/arrêté | AVAILABILITY.DB_CLUSTER.SCAN_LISTENER.DOWN_CLEARED |
Un événement de type INFORMATION est créé une fois qu'il est déterminé que l'événement concernant le processus d'écoute SCAN arrêté a été effacé. | S/O | com.oraclecloud.databaseservice.dbnode.information (si .DOWN_CLEARED) |
S/O |
| Processus d'écoute réseau démarré/arrêté | AVAILABILITY.DB_GUEST.CLIENT_LISTENER.DOWN |
Un événement DOWN est créé lorsqu'un processus d'écoute client est arrêté. L'événement est de type INFORMATION lorsqu'un processus d'écoute client est arrêté en raison d'une action de l'utilisateur, par exemple avec les commandes de l'utilitaire Server Control (srvctl) ou Listener Control (lsnrctl), ou de toute action de maintenance Oracle Cloud qui utilise ces commandes, telle qu'une mise à jour du logiciel Grid Infrastructure. L'événement est de type CRITICAL lorsqu'un processus d'écoute client est arrêté de manière inattendue. Un événement DOWN_CLEARED correspondant est créé lorsqu'un processus d'écoute client est démarré. Il existe un processus d'écoute client par noeud, chacun d'eux étant appelé LISTENER. |
AVAILABILITY-DB_GUEST-CLIENT_LISTENER.DOWN | com.oraclecloud.databaseservice.database.critical (si . DOWN et NOT "user_action") |
S/O |
| Processus d'écoute réseau démarré/arrêté | AVAILABILITY.DB_GUEST.CLIENT_LISTENER.DOWN_CLEARED |
Un événement de type INFORMATION est créé une fois qu'il est déterminé que l'événement concernant le processus d'écoute client arrêté a été effacé. | S/O | com.oraclecloud.databaseservice.database.information (si .DOWN_CLEARED) |
S/O |
| Base de données Conteneur démarrée/arrêtée | AVAILABILITY.DB_GUEST.CDB_INSTANCE.DOWN |
Un événement DOWN est créé lorsqu'une instance de base de données est arrêtée. L'événement est de type INFORMATION lorsqu'une instance de base de données est arrêtée en raison d'une action de l'utilisateur, par exemple avec les commandes SQL*Plus (sqlplus) ou celles de l'utilitaire Server Control (srvctl), ou de toute action de maintenance Oracle Cloud qui utilise ces commandes, telle qu'une mise à jour du logiciel du répertoire de base de base de données. L'événement est de type CRITICAL lorsqu'une instance de base de données est arrêtée de manière inattendue. Un événement DOWN_CLEARED correspondant est créé lorsqu'une instance de base de données est démarrée. |
AVAILABILITY-DB_GUEST-CDB_INSTANCE-DOWN | com.oraclecloud.databaseservice.database.critical (si . DOWN et NOT "user_action") |
S/O |
| Base de données Conteneur démarrée/arrêtée | AVAILABILITY.DB_GUEST.CDB_INSTANCE.DOWN_CLEARED |
Un événement de type INFORMATION est créé une fois qu'il est déterminé que l'événement concernant la base de données Conteneur arrêtée a été effacé. | S/O | com.oraclecloud.databaseservice.database.information (si .DOWN_CLEARED) |
S/O |
| Erreurs de base de données critiques | HEALTH.DB_CLUSTER.CDB.CORRUPTION |
Une altération a été détectée sur la base de données principale ou de secours. Le fichier alert.log de la base de données est analysé à la recherche d'erreurs spécifiques qui indiquent des altérations de bloc physique ou logique, ou des altérations de bloc logique dus à des écritures perdues. | HEALTH-DB_CLUSTER-CDB-CORRUPTION | com.oraclecloud.databaseservice.database.critical |
S/O |
| Autres erreurs de base de données | HEALTH.DB_CLUSTER.CDB.ARCHIVER_HANG |
Un événement de type CRITICAL est créé si une base de données Conteneur ne peut pas archiver le fichier de journalisation en ligne actif ou ne peut pas le faire assez rapidement vers les destinations d'archivage des journaux. | HEALTH-DB_CLUSTER-CDB-ARCHIVER_HANG | com.oraclecloud.databaseservice.database.critical |
S/O |
| Autres erreurs de base de données | HEALTH.DB_CLUSTER.CDB.DATABASE_HANG |
Un événement de type CRITICAL est créé lorsqu'un processus ou une session ne répond plus dans la base de données Conteneur. | HEALTH-DB_CLUSTER-CDB-DATABASE_HANG | com.oraclecloud.databaseservice.database.critical |
S/O |
| Echecs de sauvegarde | HEALTH.DB_CLUSTER.CDB.BACKUP_FAILURE |
Un événement de type CRITICAL est créé si une sauvegarde de base de données Conteneur avec un statut FAILED est signalée dans la vue v$rman_status. |
HEALTH-DB_CLUSTER-CDB-BACKUP_FAILURE | com.oraclecloud.databaseservice.database.critical |
S/O |
| Echecs de sauvegarde | HEALTH.DB_CLUSTER.CDB.BACKUP_FAILURE_CLEARED |
Un événement de type INFORMATION est créé. | S/O | com.oraclecloud.databaseservice.database.information |
S/O |
| Utilisation du groupe de disques | HEALTH.DB_CLUSTER.DISK_GROUP.FREE_SPACE |
Un événement de type CRITICAL est créé lorsqu'un groupe de disques ASM atteint une utilisation de l'espace supérieure ou égale à 90 %. Un événement de type INFORMATION est créé lorsque l'utilisation de l'espace par le groupe de disques ASM est inférieure à 90 %. | HEALTH-DB_CLUSTER-DISK_GROUP-FREE_SPACE | com.oraclecloud.databaseservice.dbsystem.criticalcom.oraclecloud.databaseservice.dbsystem.information (si < 90 %) |
Des notifications sont envoyées lorsque l'utilisation atteint 70 %, 80 %, 90 % et 100 % avec une gravité correspondante de 4, 3, 2 et 1. |
Restriction temporaire des collectes de diagnostics automatiques pour des événements spécifiques
Utilisez la commande tfactl blackout pour supprimer temporairement les collectes de diagnostics automatiques.
Lorsque vous définissez la coupure d'une cible, Oracle Trace File Analyzer arrête les collectes de diagnostics automatiques s'il détecte des événements dans les journaux d'alertes de cette cible lors de l'analyse. Par défaut, une coupure est effective pendant 24 heures.
Vous pouvez également restreindre la collecte de diagnostics automatique à un niveau granulaire, par exemple, uniquement pour ORA-00600 ou même uniquement pour ORA-00600 avec des arguments spécifiques.
Syntaxe :
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]
Paramètres:
| Paramètre | Description |
|---|---|
add|remove|print| |
Permet d'ajouter, d'enlever ou d'imprimer des conditions de coupure. |
-targettype typeTarget type: host|crs|asm|asmdg|database|dbbackup|db_dataguard|db_tablespace|pdb_tablespace|pdb|listener|service|os |
Limite la coupure uniquement au type de cible indiqué.host : le noeud entier est sous coupure. 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 |
Permet d'indiquer la cible pour la coupure. Vous pouvez indiquer une liste de cibles séparées par des virgules. Par défaut, la cible est définie sur all. |
-container name |
Permet d'indiquer le nom du conteneur de base de données (db_unique_name) dans lequel la coupure prendra effet (pour PDB, DB_TABLESPACE et PDB_TABLESPACE). |
-pdb pdb_name |
Permet d'indiquer la base de données pluggable dans laquelle la coupure prendra effet (pour PDB_TABLESPACE uniquement). |
-events all\|"str1,str2" |
Limite la coupure uniquement aux événements de disponibilité, ou aux chaînes d'événements, qui ne doivent pas déclencher de collectes automatiques ou être marqués comme coupés dans le fichier JSON de télémétrie.all : Arrête tout pour la cible indiquée.chaîne : coupure pour les incidents où une partie de la ligne contient les chaînes indiquées. Indiquez une liste de chaînes séparées par des virgules. |
-timeout nh\|nd\|none |
Permet d'indiquer la durée de la coupure en nombre d'heures ou de jours avant expiration. Par défaut, le délai d'expiration est défini sur 24 heures (24 h). |
-c\|-local |
Permet d'indiquer si la coupure doit être définie sur cluster-wide ou local. Par défaut, la coupure est définie sur local. |
-reason comment |
Permet d'indiquer un motif descriptif de la coupure. |
-docollection |
Utilisez cette option afin d'effectuer une collecte de diagnostics automatique même si une coupure est définie pour cette cible. |
Exemples :
Voici quelques exemples d'utilisation de la commande tfactl blackout.
Pour effectuer la coupure de l'événement ORA-00600 sur le type de cible database et la cible mydb
tfactl blackout add -targettype database -target mydb -event "ORA-00600"
Pour effectuer la coupure de l'événement ORA-04031 sur le type de cible database et la cible all
tfactl blackout add -targettype database -target all -event "ORA-04031" -timeout 1h
Pour effectuer la coupure des événements de sauvegarde de base de données sur le type de cible dbbackup et la cible mydb
tfactl blackout add -targettype dbbackup -target mydb
Pour effectuer la coupure des événements Data Guard de base de données sur le type de cible db_dataguard et la cible mydb
tfactl blackout add -targettype db_dataguard -target mydb -timeout 30m
Pour effectuer la coupure des événements de tablespace de base de données sur le type de cible db_tablespace, la cible system et le conteneur mydb
tfactl blackout add -targettype db_tablespace -target system -container mydb -timeout 30m
Pour effectuer la coupure des événements ALL sur le type de cible host et la cible all
tfactl blackout add -targettype host -event all -target all -timeout 1h
-reason "Disabling all events during patching"
Pour imprimer les détails de la coupure :
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 |
'---------------+---------------------+-----------+------------------------------+------------------------------+--------+---------------+--------------------------------------'
Pour enlever la coupure de l'événement ORA-00600 sur le type de cible database et la cible mydb
tfactl blackout remove -targettype database -event "ORA-00600" -target mydb
Pour enlever la coupure des événements de sauvegarde de base de données sur le type de cible dbbackup et la cible mydb
tfactl blackout remove -targettype dbbackup -target mydb
Pour enlever la coupure des événements de tablespace de base de données sur le type de cible db_tablespace, la cible system et le conteneur mydb
tfactl blackout remove -targettype db_tablespace -target system -container mydb
Pour enlever la coupure des événements d'hôte sur le type de cible all et la cible all
tfactl blackout remove -targettype host -event all -target all
Gestion d'Oracle Trace File Analyzer
Pour vérifier le statut d'exécution d'Oracle Trace File Analyzer, exécutez la commande tfactl status en tant qu'utilisateur root ou autre que 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 |
'----------------------------------------------------------------------------------------------'
Pour démarrer le démon Oracle Trace File Analyzer sur le noeud local, exécutez la commande tfactl start en tant qu'utilisateur 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
Pour arrêter le démon Oracle Trace File Analyzer sur le noeud local, exécutez la commande tfactl stop en tant qu'utilisateur 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..
Gestion de l'agent de service Database
Consultez le fichier /opt/oracle/dcs/log/dcs-agent.log pour identifier les problèmes liés à l'agent.
Pour vérifier le statut de l'agent de service Database, exécutez la commande 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/...
Pour démarrer l'agent s'il n'est pas en cours d'exécution, exécutez la commande systemctl start en tant qu'utilisateur root :
systemctl start dbcsagent.service