Impostazione e annullamento dell'impostazione degli eventi diagnostici di sistema - Amazon Relational Database Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Impostazione e annullamento dell'impostazione degli eventi diagnostici di sistema

Per impostare e annullare l'impostazione degli eventi diagnostici a livello di sessione, è possibile utilizzare l'istruzione Oracle SQL ALTER SESSION SET EVENTS. Tuttavia, per impostare gli eventi a livello di sistema non è possibile utilizzare Oracle SQL. Utilizzare invece le procedure evento di sistema nel pacchetto rdsadmin.rdsadmin_util. Le procedure evento di sistema sono disponibili nelle seguenti versioni del motore:

  • Tutte le versioni di Oracle Database 21c

  • 19.0.0.0.ru-2020-10.rur-2020-10.r1 e versioni successive di Oracle Database 19c

    Per ulteriori informazioni, consulta Versione 19.0.0.0.ru-2020-10.rur-2020-10.r1 nelle Note di rilascio di Amazon RDS per Oracle.

Importante

Internamente, il pacchetto rdsadmin.rdsadmin_util imposta gli eventi utilizzando l'istruzione ALTER SYSTEM SET EVENTS. Questa istruzione ALTER SYSTEM non è documentata nella documentazione di Oracle Database. Alcuni eventi di diagnostica del sistema possono generare grandi quantità di informazioni di traccia, causare contese o influire sulla disponibilità del database. Si consiglia di testare eventi diagnostici specifici nel database non di produzione e impostare gli eventi nel database di produzione solo sotto la guida del supporto Oracle.

Elenco degli eventi diagnostici di sistema consentiti

Per elencare gli eventi di sistema che è possibile impostare, attenersi alla Amazon RDS procedura rdsadmin.rdsadmin_util.list_allowed_system_events. Questa procedura non accetta parametri.

Nell'esempio seguente sono elencati tutti gli eventi di sistema che è possibile impostare.

SET SERVEROUTPUT ON EXEC rdsadmin.rdsadmin_util.list_allowed_system_events;

Nell'output di esempio seguente sono elencati i numeri degli eventi e le relative descrizioni. Utilizzare le Amazon RDS procedure set_system_event per impostare questi eventi e unset_system_event per disimpostarli.

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:
Nota

L'elenco degli eventi di sistema consentiti può cambiare nel tempo. Per assicurarti di avere l'elenco degli eventi idonei più recente, usa rdsadmin.rdsadmin_util.list_allowed_system_events.

Impostazione degli eventi di diagnostica del sistema

Per impostare un evento di sistema, usa la Amazon RDS procedura rdsadmin.rdsadmin_util.set_system_event. È possibile impostare solo gli eventi elencati nell'output di rdsadmin.rdsadmin_util.list_allowed_system_events. La procedura set_system_event include i seguenti parametri.

Nome del parametro Tipo di dati Default Campo obbligatorio Descrizione

p_event

numero

Il numero dell'evento di sistema. Il valore deve essere uno dei numeri degli eventi segnalati da list_allowed_system_events.

p_level

numero

Il livello dell'evento. Per le descrizioni dei valori di livello diversi, consulta la documentazione di Oracle Database o Oracle Support.

La procedura set_system_event costruisce ed esegue le istruzioni ALTER SYSTEM SET EVENTS richieste secondo i seguenti principi:

  • Il tipo di evento (context o errorstack) viene determinato automaticamente.

  • Un'istruzione nel modulo ALTER SYSTEM SET EVENTS 'event LEVEL event_level' imposta gli eventi di contesto. Questa notazione è equivalente a ALTER SYSTEM SET EVENTS 'event TRACE NAME CONTEXT FOREVER, LEVEL event_level'.

  • Un'istruzione nel modulo ALTER SYSTEM SET EVENTS 'event ERRORSTACK (event_level)' imposta gli eventi stack di errore. Questa notazione è equivalente a ALTER SYSTEM SET EVENTS 'event TRACE NAME ERRORSTACK LEVEL event_level'.

Nell'esempio seguente viene impostato l'evento 942 al livello 3 e l'evento 10442 al livello 10. L'output di esempio è incluso.

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.

Elenco degli eventi diagnostici di sistema impostati

Per elencare gli eventi di sistema correntemente impostati, utilizza la Amazon RDS procedura rdsadmin.rdsadmin_util.list_set_system_events. Questa procedura segnala solo gli eventi impostati a livello di sistema da set_system_event.

Nell'esempio seguente vengono elencati gli eventi di sistema attivi.

SET SERVEROUTPUT ON EXEC rdsadmin.rdsadmin_util.list_set_system_events;

Nell'output di esempio seguente viene illustrato l'elenco degli eventi, il tipo di evento, il livello in cui gli eventi sono attualmente impostati e l'ora in cui è stato impostato l'evento.

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.

Annullamento dell'impostazione degli eventi diagnostici del sistema

Per annullare l'impostazione di un evento di sistema, attenersi alla Amazon RDS procedura rdsadmin.rdsadmin_util.unset_system_event. È possibile annullare solo gli eventi elencati nell'output di rdsadmin.rdsadmin_util.list_allowed_system_events. La procedura unset_system_event accetta il seguente parametro.

Nome del parametro Tipo di dati Default Campo obbligatorio Descrizione

p_event

numero

Il numero dell'evento di sistema. Il valore deve essere uno dei numeri degli eventi segnalati da list_allowed_system_events.

Nell'esempio seguente vengono disimpostati gli eventi 942 e 10442. L'output di esempio è incluso.

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.