

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.

# Diagnose von Problemen mit DB-Instances von RDS für Oracle
<a name="Appendix.Oracle.CommonDBATasks.Diagnostics"></a>

Oracle Database enthält eine Infrastruktur für die Fehlerdiagnose, mit der Sie Datenbankprobleme untersuchen können. In der Oracle-Terminologie ist ein *Problem* ein kritischer Fehler, z. B. ein Codefehler oder eine Datenbeschädigung. Ein *Vorfall* ist das Auftreten eines Problems. Wenn der gleiche Fehler dreimal auftritt, zeigt die Infrastruktur drei Vorfälle dieses Problems an. Weitere Informationen finden Sie unter [Diagnosing and resolving problems](https://docs.oracle.com/en/database/oracle/oracle-database/19/admin/diagnosing-and-resolving-problems.html#GUID-8DEB1BE0-8FB9-4FB2-A19A-17CF6F5791C3) in der Oracle Database-Dokumentation.

Das Dienstprogramm „Automatic Diagnostic Repository Command Interpreter“ (ADRCI) ist ein Oracle-Befehlszeilentool für die Verwaltung von Diagnosedaten. Sie können dieses Tool beispielsweise verwenden, um Probleme zu untersuchen und Diagnosedaten zu verpacken. Ein *Vorfallpaket* enthält Diagnosedaten für Vorfälle, die auf ein bestimmtes Problem hinweisen. Sie können ein Vorfallpaket, das als ZIP-Datei implementiert wird, zu Oracle Support hochladen.

Um eine verwaltete Service-Erfahrung zu bieten, ermöglicht Amazon RDS keinen Shell-Zugriff auf ADRCI. Um Diagnoseaufgaben für Ihre DB-Instance von RDS für Oracle durchzuführen, verwenden Sie das Amazon-RDS-Paket `rdsadmin.rdsadmin_adrci_util`.

Mithilfe der Funktionen in `rdsadmin_adrci_util` können Sie Probleme und Vorfälle auflisten und verpacken sowie Ablaufverfolgungsdateien anzeigen. Alle Funktionen geben eine Aufgaben-ID zurück. Diese ID ist Teil des Namens der Protokolldatei, die die ADRCI-Ausgabe enthält, z. B. `dbtask-task_id.log`. Die Protokolldatei befindet sich im BDUMP-Verzeichnis. Sie können die Protokolldatei anhand der unter [Herunterladen einer Datenbank-Protokolldatei](USER_LogAccess.Procedural.Downloading.md) beschriebenen Schritte herunterladen.

## Allgemeine Parameter für Diagnoseverfahren
<a name="Appendix.Oracle.CommonDBATasks.CommonDiagParameters"></a>

Um Diagnoseaufgaben auszuführen, verwenden Sie die Funktionen im Amazon-RDS-Paket `rdsadmin.rdsadmin_adrci_util`. Das Paket besitzt die folgenden geläufigen Parameter.


****  

| Parametername | Datentyp | Zulässige Werte | Standard | Erforderlich | Beschreibung | 
| --- | --- | --- | --- | --- | --- | 
|  `incident_id`  |  Zahl  |  Eine gültige Vorfall-ID oder null   |  Null  |  Nein  |  Wenn der Wert null ist, zeigt die Funktion alle Vorfälle an. Wenn der Wert nicht null ist und eine gültige Vorfall-ID darstellt, zeigt die Funktion den angegebenen Vorfall an.   | 
|  `problem_id`  |  Zahl  |  Eine gültige Problem-ID oder null  |  Null  |  Nein  |  Wenn der Wert null ist, zeigt die Funktion alle Probleme an. Wenn der Wert nicht null ist und eine gültige Problem-ID darstellt, zeigt die Funktion das angegebene Problem an.  | 
|  `last`  |  Zahl  |  Eine gültige Ganzzahl größer als 0 oder null  |  Null  |  Nein  |  Wenn der Wert null ist, zeigt die Funktion maximal 50 Elemente an. Wenn der Wert nicht null ist, zeigt die Funktion die angegebene Anzahl an.  | 

## Auflistung von Vorfällen
<a name="Appendix.Oracle.CommonDBATasks.Incidents"></a>

Um Diagnosevorfälle für Oracle aufzulisten, verwenden Sie die Amazon-RDS-Funktion `rdsadmin.rdsadmin_adrci_util.list_adrci_incidents`. Sie können Vorfälle im Basis- oder im Detailmodus auflisten. Standardmäßig listet die Funktion die 50 letzten Vorfälle auf.

Diese Funktion verwendet die folgenden allgemeinen Parameter:
+  `incident_id`
+  `problem_id`
+  `last`

Wenn Sie `incident_id` und `problem_id` angeben, wird `problem_id` von `incident_id` überschrieben. Weitere Informationen finden Sie unter [Allgemeine Parameter für Diagnoseverfahren](#Appendix.Oracle.CommonDBATasks.CommonDiagParameters).

Diese Funktion verwendet den folgenden zusätzlichen Parameter.


****  

| Parametername | Datentyp | Zulässige Werte | Standard | Erforderlich | Beschreibung | 
| --- | --- | --- | --- | --- | --- | 
|  `detail`  |  Boolean  | TRUE oder FALSE |  `FALSE`  |  Nein  |  Wenn `TRUE`, listet die Funktion Vorfälle im Detailmodus auf. Wenn `FALSE`, listet die Funktion Vorfälle im Basismodus auf.  | 

Um alle Vorfälle aufzulisten, fragen Sie die Funktion `rdsadmin.rdsadmin_adrci_util.list_adrci_incidents` ohne Argumente ab. Die Abfrage gibt die Aufgaben-ID zurück.

```
SQL> SELECT rdsadmin.rdsadmin_adrci_util.list_adrci_incidents AS task_id FROM DUAL;

TASK_ID
------------------
1590786706158-3126
```

Oder rufen Sie die Funktion `rdsadmin.rdsadmin_adrci_util.list_adrci_incidents` ohne Argumente auf und speichern die Ausgabe in einer SQL-Clientvariablen. Sie können die Variable in anderen Anweisungen verwenden.

```
SQL> VAR task_id VARCHAR2(80);
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.list_adrci_incidents;

PL/SQL procedure successfully completed.
```

Um die Protokolldatei zu lesen, rufen Sie die Amazon-RDS-Prozedur au `rdsadmin.rds_file_util.read_text_file`. Geben Sie die Aufgaben-ID als Teil des Dateinamens an. Die folgende Ausgabe zeigt drei Vorfälle: 53523, 53522 und 53521.

```
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log'));

TEXT
-------------------------------------------------------------------------------------------------------------------------
2020-05-29 21:11:46.193 UTC [INFO ] Listing ADRCI incidents.
2020-05-29 21:11:46.256 UTC [INFO ]
ADR Home = /rdsdbdata/log/diag/rdbms/orcl_a/ORCL:
*************************************************************************
INCIDENT_ID PROBLEM_KEY                                                 CREATE_TIME
----------- ----------------------------------------------------------- ----------------------------------------
53523       ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_003 2020-05-29 20:15:20.928000 +00:00
53522       ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_002 2020-05-29 20:15:15.247000 +00:00
53521       ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_001 2020-05-29 20:15:06.047000 +00:00
3 rows fetched


2020-05-29 21:11:46.256 UTC [INFO ] The ADRCI incidents were successfully listed.
2020-05-29 21:11:46.256 UTC [INFO ] The task finished successfully.

14 rows selected.
```

Um einen bestimmten Vorfall aufzulisten, geben Sie mithilfe des Parameters `incident_id` dessen ID an. Im folgenden Beispiel fragen Sie die Protokolldatei nur für Vorfall 53523 ab.

```
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.list_adrci_incidents(incident_id=>53523);

PL/SQL procedure successfully completed.

SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log'));

TEXT
------------------------------------------------------------------------------------------------------------------
2020-05-29 21:15:25.358 UTC [INFO ] Listing ADRCI incidents.
2020-05-29 21:15:25.426 UTC [INFO ]
ADR Home = /rdsdbdata/log/diag/rdbms/orcl_a/ORCL:
*************************************************************************
INCIDENT_ID          PROBLEM_KEY                                                 CREATE_TIME
-------------------- ----------------------------------------------------------- ---------------------------------
53523                ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_003 2020-05-29 20:15:20.928000 +00:00
1 rows fetched


2020-05-29 21:15:25.427 UTC [INFO ] The ADRCI incidents were successfully listed.
2020-05-29 21:15:25.427 UTC [INFO ] The task finished successfully.

12 rows selected.
```

## Probleme mit der Auflistung
<a name="Appendix.Oracle.CommonDBATasks.Problems"></a>

Um Diagnoseprobleme für Oracle aufzulisten, verwenden Sie die Amazon-RDS-Funktion `rdsadmin.rdsadmin_adrci_util.list_adrci_problems`.

Standardmäßig listet die Funktion die 50 letzten Probleme auf. 

Diese Funktion verwendet die allgemeinen Parameter `problem_id` und `last`. Weitere Informationen finden Sie unter [Allgemeine Parameter für Diagnoseverfahren](#Appendix.Oracle.CommonDBATasks.CommonDiagParameters).

Um die Aufgaben-ID für alle Probleme abzurufen, rufen Sie die Funktion `rdsadmin.rdsadmin_adrci_util.list_adrci_problems` ohne Argumente auf und speichern die Ausgabe in einer SQL-Clientvariablen.

```
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.list_adrci_problems;

PL/SQL procedure successfully completed.
```

Um die Protokolldatei zu lesen, rufen Sie die Funktion `rdsadmin.rds_file_util.read_text_file` auf und geben Aufgaben-ID als Teil des Dateinamens an. In der folgenden Ausgabe zeigt die Protokolldatei drei Probleme an: 1, 2 und 3.

```
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log'));

TEXT
----------------------------------------------------------------------------------------------------------------------
2020-05-29 21:18:50.764 UTC [INFO ] Listing ADRCI problems.
2020-05-29 21:18:50.829 UTC [INFO ]
ADR Home = /rdsdbdata/log/diag/rdbms/orcl_a/ORCL:
*************************************************************************
PROBLEM_ID   PROBLEM_KEY                                                 LAST_INCIDENT        LASTINC_TIME
---------- ----------------------------------------------------------- ------------- ---------------------------------
2          ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_003 53523         2020-05-29 20:15:20.928000 +00:00
3          ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_002 53522         2020-05-29 20:15:15.247000 +00:00
1          ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_001 53521         2020-05-29 20:15:06.047000 +00:00
3 rows fetched


2020-05-29 21:18:50.829 UTC [INFO ] The ADRCI problems were successfully listed.
2020-05-29 21:18:50.829 UTC [INFO ] The task finished successfully.

14 rows selected.
```

Im folgenden Beispiel listen Sie nur Problem 3 auf.

```
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.list_adrci_problems(problem_id=>3);

PL/SQL procedure successfully completed.
```

Um die Protokolldatei für Problem 3 zu lesen, rufen Sie au `rdsadmin.rds_file_util.read_text_file`. Geben Sie die Aufgaben-ID als Teil des Dateinamens an.

```
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log'));

TEXT
-------------------------------------------------------------------------
2020-05-29 21:19:42.533 UTC [INFO ] Listing ADRCI problems.
2020-05-29 21:19:42.599 UTC [INFO ]
ADR Home = /rdsdbdata/log/diag/rdbms/orcl_a/ORCL:
*************************************************************************
PROBLEM_ID PROBLEM_KEY                                                 LAST_INCIDENT LASTINC_TIME
---------- ----------------------------------------------------------- ------------- ---------------------------------
3          ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_002 53522         2020-05-29 20:15:15.247000 +00:00
1 rows fetched


2020-05-29 21:19:42.599 UTC [INFO ] The ADRCI problems were successfully listed.
2020-05-29 21:19:42.599 UTC [INFO ] The task finished successfully.

12 rows selected.
```

## Erstellen von Vorfallpaketen
<a name="Appendix.Oracle.CommonDBATasks.IncPackages"></a>

Sie können Vorfallpakete mithilfe der Amazon-RDS-Funktion erstelle `rdsadmin.rdsadmin_adrci_util.create_adrci_package`. Bei der Ausgabe handelt es sich um eine ZIP-Datei, die Sie Oracle Support bereitstellen können.

Diese Funktion verwendet die folgenden allgemeinen Parameter:
+ `problem_id`
+ `incident_id`

Sie müssen einen der vorhergehenden Parameter angeben. Wenn Sie beide Parameter angeben, überschreibt `incident_id` `problem_id`. Weitere Informationen finden Sie unter [Allgemeine Parameter für Diagnoseverfahren](#Appendix.Oracle.CommonDBATasks.CommonDiagParameters).

Um ein Paket für einen bestimmten Vorfall zu erstellen, rufen Sie die Amazon-RDS-Funktion `rdsadmin.rdsadmin_adrci_util.create_adrci_package` mit dem Parameter `incident_id` auf. Im folgenden Beispiel wird ein Paket für den Vorfall 53523 erstellt.

```
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.create_adrci_package(incident_id=>53523);

PL/SQL procedure successfully completed.
```

Um die Protokolldatei zu lesen, rufen Sie au `rdsadmin.rds_file_util.read_text_file`. Sie können die Aufgaben-ID als Teil des Dateinamens bereitstellen. Die Ausgabe zeigt, dass Sie das Vorfallpaket generiert habe `ORA700EVE_20200529212043_COM_1.zip`.

```
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log'));

TEXT
--------------------------------------------------------------------------------------------------------------------------------------
2020-05-29 21:20:43.031 UTC [INFO ] The ADRCI package is being created.
2020-05-29 21:20:47.641 UTC [INFO ] Generated package 1 in file /rdsdbdata/log/trace/ORA700EVE_20200529212043_COM_1.zip, mode complete
2020-05-29 21:20:47.642 UTC [INFO ] The ADRCI package was successfully created.
2020-05-29 21:20:47.642 UTC [INFO ] The task finished successfully.
```

Um Diagnosedaten für ein bestimmtes Problem zu verpacken, geben Sie mithilfe des Parameters `problem_id` dessen ID an. Im folgenden Beispiel verpacken Sie nur für Problem 3 Daten.

```
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.create_adrci_package(problem_id=>3);

PL/SQL procedure successfully completed.
```

Um die Aufgabenausgabe zu lesen, rufen Sie `rdsadmin.rds_file_util.read_text_file` auf und die Aufgaben-ID als Teil des Dateinamens an. Die Ausgabe zeigt, dass Sie das Vorfallpaket generiert habe `ORA700EVE_20200529212111_COM_1.zip`.

```
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log'));

TEXT
------------------------------------------------------------------------------------------------------------------------------------------------------------
2020-05-29 21:21:11.050 UTC [INFO ] The ADRCI package is being created.
2020-05-29 21:21:15.646 UTC [INFO ] Generated package 2 in file /rdsdbdata/log/trace/ORA700EVE_20200529212111_COM_1.zip, mode complete
2020-05-29 21:21:15.646 UTC [INFO ] The ADRCI package was successfully created.
2020-05-29 21:21:15.646 UTC [INFO ] The task finished successfully.
```

Sie können auch die Protokolldatei herunterladen. Weitere Informationen finden Sie unter [Herunterladen einer Datenbank-Protokolldatei](USER_LogAccess.Procedural.Downloading.md).

## Anzeigen von Trace-Dateien
<a name="Appendix.Oracle.CommonDBATasks.ShowTrace"></a>

Sie können die Amazon-RDS-Funktion `rdsadmin.rdsadmin_adrci_util.show_adrci_tracefile` verwenden, um Trace-Dateien unter dem Trace-Verzeichnis und alle Incident-Verzeichnisse unter dem aktuellen ADR-Home-Verzeichnis aufzulisten. Außerdem können Sie die Inhalte von Trace-Dateien und Incident-Trace-Dateien anzeigen.

Diese Funktion verwendet den folgenden Parameter.


****  

| Parametername | Datentyp | Zulässige Werte | Standard | Erforderlich | Beschreibung | 
| --- | --- | --- | --- | --- | --- | 
|  `filename`  |  varchar2  | Ein gültiger Name für eine Trace-Datei |  Null  |  Nein  |  Wenn der Wert null ist, zeigt die Funktion alle Trace-Dateien an. Wenn er nicht null ist, zeigt die Funktion die angegebene Datei an.  | 

Wenn Sie die Trace-Datei anzeigen möchten, rufen Sie die Amazon-RDS-Funktion `rdsadmin.rdsadmin_adrci_util.show_adrci_tracefile` auf.

```
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.show_adrci_tracefile;

PL/SQL procedure successfully completed.
```

Um die Namen der Trace-Dateien aufzulisten, rufen Sie die Amazon-RDS-Prozedur `rdsadmin.rds_file_util.read_text_file` auf und geben die Aufgaben-ID als Teil des Dateinamens an.

```
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')) WHERE TEXT LIKE '%/alert_%';

TEXT
---------------------------------------------------------------
     diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-28
     diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-27
     diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-26
     diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-25
     diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-24
     diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-23
     diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-22
     diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-21
     diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log

9 rows selected.
```

Im folgenden Beispiel generieren Sie die Ausgabe für `alert_ORCL.log`.

```
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.show_adrci_tracefile('diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log');

PL/SQL procedure successfully completed.
```

Um die Protokolldatei zu lesen, rufen Sie au `rdsadmin.rds_file_util.read_text_file`. Geben Sie die Aufgaben-ID als Teil des Dateinamens an. Die Ausgabe zeigt die ersten 10 Zeilen von alert\$1ORCL.log an.

```
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')) WHERE ROWNUM <= 10;

TEXT
-----------------------------------------------------------------------------------------
2020-05-29 21:24:02.083 UTC [INFO ] The trace files are being displayed.
2020-05-29 21:24:02.128 UTC [INFO ] Thu May 28 23:59:10 2020
Thread 1 advanced to log sequence 2048 (LGWR switch)
  Current log# 3 seq# 2048 mem# 0: /rdsdbdata/db/ORCL_A/onlinelog/o1_mf_3_hbl2p8xs_.log
Thu May 28 23:59:10 2020
Archived Log entry 2037 added for thread 1 sequence 2047 ID 0x5d62ce43 dest 1:
Fri May 29 00:04:10 2020
Thread 1 advanced to log sequence 2049 (LGWR switch)
  Current log# 4 seq# 2049 mem# 0: /rdsdbdata/db/ORCL_A/onlinelog/o1_mf_4_hbl2qgmh_.log
Fri May 29 00:04:10 2020

10 rows selected.
```

Sie können auch die Protokolldatei herunterladen. Weitere Informationen finden Sie unter [Herunterladen einer Datenbank-Protokolldatei](USER_LogAccess.Procedural.Downloading.md).