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 RDS für Oracle-DB-Instances
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
Das Automatic Diagnostic Repository Command Interpreter (ADRCI) -Hilfsprogramm ist ein Oracle-Befehlszeilentool, mit dem Sie Diagnosedaten verwalten. 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 ein Managed-Serviceerlebnis zu bieten, bietet Amazon RDS keinen Shell-Zugriff aufADRCI. Verwenden Sie das RDS Amazon-Paket, um Diagnoseaufgaben RDS für Ihre Oracle-DB-Instance durchzuführenrdsadmin.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, wie indbtask-
. Die Protokolldatei befindet sich im BDUMP Verzeichnis. Sie können die Protokolldatei herunterladen, indem Sie das unter beschriebene Verfahren befolgen. Herunterladen einer Datenbank-Protokolldateitask_id
.log
Allgemeine Parameter für Diagnoseverfahren
Verwenden Sie zur Durchführung von Diagnoseaufgaben die Funktionen im RDS Amazon-Paketrdsadmin.rdsadmin_adrci_util
. Das Paket besitzt die folgenden geläufigen Parameter.
Parametername | Datentyp | Zulässige Werte | Standard | Erforderlich | Beschreibung |
---|---|---|---|---|---|
|
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. |
|
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. |
|
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
Verwenden Sie die RDS Amazon-Funktion, um diagnostische Vorfälle für Oracle aufzulistenrdsadmin.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.
Diese Funktion verwendet den folgenden zusätzlichen Parameter.
Parametername | Datentyp | Zulässige Werte | Standard | Erforderlich | Beschreibung |
---|---|---|---|---|---|
|
Boolean |
TRUE oder FALSE |
|
Nein |
Wenn |
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 rdsadmin.rdsadmin_adrci_util.list_adrci_incidents
Funktion ohne Argumente auf und speichern Sie die Ausgabe in einer SQL Client-Variablen. 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.
Rufen Sie das RDS Amazon-Verfahren auf, um die Protokolldatei zu lesenrdsadmin.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
Verwenden Sie die RDS Amazon-Funktion, um Diagnoseprobleme für Oracle aufzulistenrdsadmin.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.
Um die Aufgaben-ID für alle Probleme abzurufen, rufen Sie die rdsadmin.rdsadmin_adrci_util.list_adrci_problems
Funktion ohne Argumente auf und speichern Sie die Ausgabe in einer SQL Client-Variablen.
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
Mit der RDS Amazon-Funktion können Sie Incident-Pakete erstellenrdsadmin.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.
Um ein Paket für einen bestimmten Vorfall zu erstellen, rufen Sie die RDS Amazon-Funktion rdsadmin.rdsadmin_adrci_util.create_adrci_package
mit dem incident_id
Parameter 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 die Protokolldatei auch herunterladen. Weitere Informationen finden Sie unter Herunterladen einer Datenbank-Protokolldatei.
Anzeigen von Trace-Dateien
Sie können die RDS Amazon-Funktion verwendenrdsadmin.rdsadmin_adrci_util.show_adrci_tracefile
, um Trace-Dateien im Trace-Verzeichnis und alle Incident-Verzeichnisse unter dem aktuellen ADR Home 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 |
---|---|---|---|---|---|
|
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. |
Rufen Sie die RDS Amazon-Funktion auf, um die Trace-Datei anzuzeigenrdsadmin.rdsadmin_adrci_util.show_adrci_tracefile
.
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 das RDS Amazon-Verfahren rdsadmin.rds_file_util.read_text_file
auf und 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')) 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üralert_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_ ORCL .log.
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 die Protokolldatei auch herunterladen. Weitere Informationen finden Sie unter Herunterladen einer Datenbank-Protokolldatei.