

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Festlegen und Aufheben von Systemdiagnoseereignissen
<a name="Appendix.Oracle.CommonDBATasks.SystemEvents"></a>

Um Diagnoseereignisse auf Sitzungsebene festzulegen und aufzuheben, können Sie die Oracle SQL-Anweisung verwende `ALTER SESSION SET EVENTS`. Um Ereignisse auf Systemebene festzulegen, können Sie Oracle SQL jedoch nicht verwenden. Verwenden Sie stattdessen die Systemereignisprozesse im `rdsadmin.rdsadmin_util`-Paket. Die Systemereignisprozesse sind in den folgenden Engine-Versionen verfügbar:
+ Alle Versionen von Oracle Database 21c
+ 19.0.0.0.ru-2020-10.rur-2020-10.r1 oder höhere Versionen von Oracle Database 19c

  Weitere Informationen finden Sie unter [Version 19.0.0.0.ru-2020-10.rur-2020-10.r1](https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes/oracle-version-19-0.html#oracle-version-RU-RUR.19.0.0.0.ru-2020-10.rur-2020-10.r1) in den *Versionshinweisen zu Amazon RDS für Oracle*.

**Wichtig**  
Intern legt das `rdsadmin.rdsadmin_util`-Paket Ereignisse mithilfe der `ALTER SYSTEM SET EVENTS`-Anweisung fest. Diese `ALTER SYSTEM`-Aussage ist nicht in der Oracle Database-Dokumentation dokumentiert. Einige Systemdiagnoseereignisse können große Mengen an Rückverfolgungsinformationen generieren, Konflikte verursachen oder die Datenbankverfügbarkeit beeinträchtigen. Wir empfehlen, dass Sie bestimmte Diagnoseereignisse in Ihrer Nicht-Produktionsdatenbank testen und Ereignisse in Ihrer Produktionsdatenbank nur unter Anleitung von Oracle Support festlegen.

## Auflisten zulässiger Systemdiagnoseereignisse
<a name="Appendix.Oracle.CommonDBATasks.SystemEvents.listing"></a>

Verwenden Sie das Amazon-RDS-Verfahren , um die Systemereignisse aufzulisten, die Sie festlegen könne `rdsadmin.rdsadmin_util.list_allowed_system_events`. Dieses Verfahren akzeptiert keine Parameter.

Im folgenden Beispiel werden alle Systemereignisse aufgeführt, die Sie festlegen können.

```
SET SERVEROUTPUT ON
EXEC rdsadmin.rdsadmin_util.list_allowed_system_events;
```

Die folgende Beispielausgabe listet Ereignisnummern und ihre Beschreibungen auf. Verwenden Sie die Amazon-RDS-Verfahren `set_system_event`, um diese Ereignisse festzulegen und `unset_system_event`, um sie aufzuheben.

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

**Anmerkung**  
Die Liste der erlaubten Systemereignisse kann sich im Laufe der Zeit ändern. Um sicherzustellen, dass Sie die aktuellste Liste der berechtigten Ereignisse haben, verwenden Sie `rdsadmin.rdsadmin_util.list_allowed_system_events`.

## Festlegen von Systemdiagnoseereignissen
<a name="Appendix.Oracle.CommonDBATasks.SystemEvents.setting"></a>

Verwenden Sie das Amazon-RDS-Verfahren , um ein Systemereignis festzulege `rdsadmin.rdsadmin_util.set_system_event`. Sie können nur Ereignisse festlegen, die in der Ausgabe von aufgeführt sin `rdsadmin.rdsadmin_util.list_allowed_system_events`. Das `set_system_event`-Verfahren akzeptiert die folgenden Parameter.


****  

| Parametername | Datentyp | Standard | Erforderlich | Beschreibung | 
| --- | --- | --- | --- | --- | 
|  `p_event`  |  Zahl  |  —  |  Ja  |  Die Systemereignisnummer. Der Wert muss eine der von gemeldeten Ereignisnummern sei `list_allowed_system_events`.  | 
|  `p_level`  |  Zahl  |  —  |  Ja  |  Das Event-Level. In der Oracle Database-Dokumentation oder bei Oracle Support finden Sie Beschreibungen von Werten verschiedener Ebenen.  | 

Das Verfahren `set_system_event` konstruiert und führt die erforderlichen `ALTER SYSTEM SET EVENTS`-Aussagen nach folgenden Grundsätzen aus:
+ Der Ereignistyp (`context` oder `errorstack`) wird automatisch bestimmt.
+ Eine Anweisung im Formular `ALTER SYSTEM SET EVENTS 'event LEVEL event_level'` legt die Kontextereignisse fest. Diese Notation entspricht `ALTER SYSTEM SET EVENTS 'event TRACE NAME CONTEXT FOREVER, LEVEL event_level'`.
+ Eine Anweisung im Formular `ALTER SYSTEM SET EVENTS 'event ERRORSTACK (event_level)'` legt die Fehler-Stack-Ereignisse fest. Diese Notation entspricht `ALTER SYSTEM SET EVENTS 'event TRACE NAME ERRORSTACK LEVEL event_level'`.

Im folgenden Beispiel werden Ereignis 942 auf Ebene 3 und Ereignis 10 442 auf Ebene 10 festgelegt. Die Beispielausgabe ist enthalten.

```
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.
```

## Auflisten der festgesetzten Systemdiagnoseereignisse
<a name="Appendix.Oracle.CommonDBATasks.SystemEvents.listing-set"></a>

Verwenden Sie das Amazon-RDS-Verfahren , um die derzeit festgelegten Systemereignisse aufzuliste `rdsadmin.rdsadmin_util.list_set_system_events`. Dieses Verfahren meldet nur Ereignisse, die auf Systemebene von festgelegt wurde `set_system_event`.

Im folgenden Beispiel werden die aktiven Systemereignisse aufgeführt.

```
SET SERVEROUTPUT ON
EXEC rdsadmin.rdsadmin_util.list_set_system_events;
```

Die folgende Beispielausgabe zeigt die Liste der Ereignisse, den Ereignistyp, die Ebene, auf der die Ereignisse derzeit festgelegt sind, und den Zeitpunkt, zu dem das Ereignis festgelegt wurde.

```
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.
```

## Aufheben von Systemdiagnoseereignissen
<a name="Appendix.Oracle.CommonDBATasks.SystemEvents.unsetting"></a>

Verwenden Sie das Amazon-RDS-Verfahren , um ein Systemereignis aufzuhebe `rdsadmin.rdsadmin_util.unset_system_event`. Sie können nur die in der Ausgabe von aufgelisteten Ereignisse aufhebe `rdsadmin.rdsadmin_util.list_allowed_system_events`. Das `unset_system_event`-Verfahren akzeptiert den folgenden Parameter.


****  

| Parametername | Datentyp | Standard | Erforderlich | Beschreibung | 
| --- | --- | --- | --- | --- | 
|  `p_event`  |  Zahl  |  —  |  Ja  |  Die Systemereignisnummer. Der Wert muss eine der von gemeldeten Ereignisnummern sei `list_allowed_system_events`.  | 

Im folgenden Beispiel werden die Ereignisse 942 und 10 442 aufgezeichnet. Die Beispielausgabe ist enthalten.

```
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.
```