Diagnose von Problemen mit RDS für Oracle-DB-Instances - Amazon Relational Database Service

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 in der Oracle Database-Dokumentation.

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-task_id.log. Die Protokolldatei befindet sich im BDUMP Verzeichnis. Sie können die Protokolldatei herunterladen, indem Sie das unter beschriebene Verfahren befolgen. Herunterladen einer Datenbank-Protokolldatei

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

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

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

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

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.

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.