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 gli eventi diagnostici a livello di sessione, è possibile utilizzare l'SQListruzione ALTER
SESSION SET EVENTS
Oracle. Tuttavia, per impostare eventi a livello di sistema non è possibile utilizzare OracleSQL. 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 la versione 19.0.0.0.ru-2020-10.rur-2020-10.r1 nelle note di rilascio di Amazon for Oracle RDS
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 puoi impostare, utilizza la RDS procedura Amazonrdsadmin.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. Utilizza le RDS procedure set_system_event
di Amazon per impostare e unset_system_event
disattivare questi eventi.
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, utilizza la RDS procedura Amazonrdsadmin.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 (
context
oerrorstack
) viene determinato automaticamente. -
Un'istruzione nel modulo
ALTER SYSTEM SET EVENTS '
imposta gli eventi di contesto. Questa notazione è equivalente aevent
LEVELevent_level
'ALTER SYSTEM SET EVENTS '
.event
TRACE NAME CONTEXT FOREVER, LEVELevent_level
' -
Un'istruzione nel modulo
ALTER SYSTEM SET EVENTS '
imposta gli eventi stack di errore. Questa notazione è equivalente aevent
ERRORSTACK (event_level
)'ALTER SYSTEM SET EVENTS '
.event
TRACE 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 attualmente impostati, utilizza la RDS procedura Amazonrdsadmin.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, utilizza la RDS procedura rdsadmin.rdsadmin_util.unset_system_event
Amazon. È 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.