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 |
|---|---|---|---|---|
|
|
numero |
— |
Sì |
Il numero dell'evento di sistema. Il valore deve essere uno dei numeri degli eventi segnalati da |
|
|
numero |
— |
Sì |
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 (
contextoerrorstack) viene determinato automaticamente. -
Un'istruzione nel modulo
ALTER SYSTEM SET EVENTS 'imposta gli eventi di contesto. Questa notazione è equivalente aeventLEVELevent_level'ALTER SYSTEM SET EVENTS '.eventTRACE NAME CONTEXT FOREVER, LEVELevent_level' -
Un'istruzione nel modulo
ALTER SYSTEM SET EVENTS 'imposta gli eventi stack di errore. Questa notazione è equivalente aeventERRORSTACK (event_level)'ALTER SYSTEM SET EVENTS '.eventTRACE NAME ERRORSTACK LEVELevent_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 |
|---|---|---|---|---|
|
|
numero |
— |
Sì |
Il numero dell'evento di sistema. Il valore deve essere uno dei numeri degli eventi segnalati da |
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.