Activation et désactivation des événements de diagnostic système - Amazon Relational Database Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Activation et désactivation des événements de diagnostic système

Pour définir et annuler les événements de diagnostic au niveau de la session, vous pouvez utiliser l'SQLinstruction ALTER SESSION SET EVENTS Oracle. Toutefois, pour définir des événements au niveau du système, vous ne pouvez pas utiliser OracleSQL. Pour cela, utilisez les procédures d'événements système du package rdsadmin.rdsadmin_util. Les procédures d'événements système sont disponibles dans les versions suivantes du moteur :

  • Toutes les versions de Oracle Database 21c

  • 19.0.0.0.ru-2020-10.rur-2020-10.r1 et versions ultérieures de Oracle Database 19c

    Pour plus d'informations, consultez la version 19.0.0.0.ru-2020-10.rur-2020-10.r1 dans les notes de mise à jour d'Amazon pour Oracle RDS

Important

En interne, le package rdsadmin.rdsadmin_util active les événements à l'aide de l'instruction ALTER SYSTEM SET EVENTS. Cette instruction ALTER SYSTEM ne figure pas dans la documentation Oracle Database. Certains événements de diagnostic système peuvent générer de grandes quantités d'informations de suivi, provoquer des conflits ou affecter la disponibilité de la base de données. Nous vous recommandons de tester des événements de diagnostic spécifiques dans votre base de données hors production, et de n'activer des événements dans votre base de données de production que sous la direction du support Oracle.

Liste des événements de diagnostic système autorisés

Pour répertorier les événements système que vous pouvez définir, utilisez la RDS procédure Amazonrdsadmin.rdsadmin_util.list_allowed_system_events. Cette procédure n'accepte aucun paramètre.

L'exemple suivant répertorie tous les événements système que vous pouvez activer.

SET SERVEROUTPUT ON EXEC rdsadmin.rdsadmin_util.list_allowed_system_events;

L'exemple de sortie suivant répertorie les numéros des événements et leur description. Utilisez les RDS procédures Amazon set_system_event pour définir ou annuler unset_system_event ces événements.

604 - error occurred at recursive SQL level 942 - table or view does not exist 1401 - inserted value too large for column 1403 - no data found 1410 - invalid ROWID 1422 - exact fetch returns more than requested number of rows 1426 - numeric overflow 1427 - single-row subquery returns more than one row 1476 - divisor is equal to zero 1483 - invalid length for DATE or NUMBER bind variable 1489 - result of string concatenation is too long 1652 - unable to extend temp segment by in tablespace 1858 - a non-numeric character was found where a numeric was expected 4031 - unable to allocate bytes of shared memory ("","","","") 6502 - PL/SQL: numeric or value error 10027 - Specify Deadlock Trace Information to be Dumped 10046 - enable SQL statement timing 10053 - CBO Enable optimizer trace 10173 - Dynamic Sampling time-out error 10442 - enable trace of kst for ORA-01555 diagnostics 12008 - error in materialized view refresh path 12012 - error on auto execute of job 12504 - TNS:listener was not given the SERVICE_NAME in CONNECT_DATA 14400 - inserted partition key does not map to any partition 31693 - Table data object failed to load/unload and is being skipped due to error:
Note

La liste des événements système autorisés peut changer au fil du temps. Pour vous assurer que vous disposez de la liste la plus récente des événements éligibles, utilisez rdsadmin.rdsadmin_util.list_allowed_system_events.

Activation des événements de diagnostic système

Pour définir un événement système, utilisez la RDS procédure Amazonrdsadmin.rdsadmin_util.set_system_event. Vous ne pouvez activer que les événements répertoriés dans la sortie de rdsadmin.rdsadmin_util.list_allowed_system_events. La procédure set_system_event accepte les paramètres suivants.

Nom du paramètre Type de données Par défaut Obligatoire Description

p_event

nombre

Oui

Numéro de l'événement système. La valeur doit correspondre à l'un des numéros d'événement signalés par list_allowed_system_events.

p_level

nombre

Oui

Niveau de l'événement. Pour obtenir les descriptions des différentes valeurs de niveau, consultez la documentation Oracle Database ou contactez le support Oracle.

La procédure set_system_event permet de créer et d'exécuter les instructions ALTER SYSTEM SET EVENTS requises selon les principes suivants :

  • Le type d'événement (context ou errorstack) est déterminé automatiquement.

  • Une instruction du formulaire ALTER SYSTEM SET EVENTS 'event LEVEL event_level' active les événements de contexte. Cette notation équivaut à ALTER SYSTEM SET EVENTS 'event TRACE NAME CONTEXT FOREVER, LEVEL event_level'.

  • Une instruction du formulaire ALTER SYSTEM SET EVENTS 'event ERRORSTACK (event_level)' active les événements de pile d'erreurs. Cette notation équivaut à ALTER SYSTEM SET EVENTS 'event TRACE NAME ERRORSTACK LEVEL event_level'.

L'exemple suivant active l'événement 942 au niveau 3, et l'événement 10442 au niveau 10. Un exemple de sortie est inclus.

SQL> SET SERVEROUTPUT ON SQL> EXEC rdsadmin.rdsadmin_util.set_system_event(942,3); Setting system event 942 with: alter system set events '942 errorstack (3)' PL/SQL procedure successfully completed. SQL> EXEC rdsadmin.rdsadmin_util.set_system_event(10442,10); Setting system event 10442 with: alter system set events '10442 level 10' PL/SQL procedure successfully completed.

Liste des événements de diagnostic système activés

Pour répertorier les événements système actuellement définis, utilisez la RDS procédure Amazonrdsadmin.rdsadmin_util.list_set_system_events. Cette procédure signale uniquement les événements activés au niveau système par set_system_event.

L'exemple suivant répertorie les événements système actifs.

SET SERVEROUTPUT ON EXEC rdsadmin.rdsadmin_util.list_set_system_events;

L'exemple de sortie suivant contient la liste des événements, le type d'événement, le niveau auquel les événements sont activés et l'heure à laquelle ils ont été activés.

942 errorstack (3) - set at 2020-11-03 11:42:27 10442 level 10 - set at 2020-11-03 11:42:41 PL/SQL procedure successfully completed.

Désactivation des événements de diagnostic système

Pour annuler un événement système, utilisez la RDS procédure rdsadmin.rdsadmin_util.unset_system_event Amazon. Vous ne pouvez désactiver que les événements répertoriés dans la sortie de rdsadmin.rdsadmin_util.list_allowed_system_events. La procédure unset_system_event accepte les paramètres suivants.

Nom du paramètre Type de données Par défaut Obligatoire Description

p_event

nombre

Oui

Numéro de l'événement système. La valeur doit correspondre à l'un des numéros d'événement signalés par list_allowed_system_events.

L'exemple suivant désactive les événements 942 et 10442. Un exemple de sortie est inclus.

SQL> SET SERVEROUTPUT ON SQL> EXEC rdsadmin.rdsadmin_util.unset_system_event(942); Unsetting system event 942 with: alter system set events '942 off' PL/SQL procedure successfully completed. SQL> EXEC rdsadmin.rdsadmin_util.unset_system_event(10442); Unsetting system event 10442 with: alter system set events '10442 off' PL/SQL procedure successfully completed.