Generieren von Leistungsberichten mit Automatic Workload Repository (AWR) - Amazon Relational Database Service

Generieren von Leistungsberichten mit Automatic Workload Repository (AWR)

Um Leistungsdaten zu sammeln und Berichte zu generieren, empfiehlt Oracle Automatic Workload Repository (AWR). AWR erfordert Oracle Database Enterprise Edition und eine Lizenz für die Diagnostics and Tuning Packs. Um AWR zu aktivieren, legen Sie den CONTROL_MANAGEMENT_PACK_ACCESS-Initialisierungsparameter entweder auf DIAGNOSTIC oder DIAGNOSTIC+TUNING fest.

Arbeiten mit AWR-Berichten in RDS

Um AWR-Berichte zu generieren, können Sie Skripte wie ausführe awrrpt.sql. Diese Skripte werden auf dem Datenbankhostserver installiert. In Amazon RDS haben Sie keinen direkten Zugriff auf den Host. Sie können jedoch Kopien von SQL-Skripten von einer anderen Installation von Oracle Database abrufen.

Sie können AWR auch verwenden, indem Sie Verfahren im SYS.DBMS_WORKLOAD_REPOSITORY-PL/SQL-Paket ausführen. Sie können dieses Paket verwenden, um Baselines und Snapshots zu verwalten und auch ASH- und AWR-Berichte anzuzeigen. Um beispielsweise einen AWR-Bericht im Textformat zu generieren, führen Sie das DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_TEXT-Verfahren aus. Sie können diese AWR-Berichte jedoch nicht über die erreich AWS Management Console.

Bei der Arbeit mit AWR empfehlen wir, die rdsadmin.rdsadmin_diagnostic_util-Verfahren zu verwenden. Sie können diese Verfahren verwenden, um Folgendes zu generieren:

  • AWR-Berichte

  • ASH-Berichte (Active Session History)

  • ADDM-Berichte (Automatic Database Diagnostic Monitor)

  • Oracle Data Pump Export-Dump-Dateien von AWR-Daten

Die rdsadmin_diagnostic_util-Verfahren speichern die Berichte im DB-Instance-Dateisystem. Sie können über die Konsole auf diese Berichte zugreifen. Sie können auch mithilfe der rdsadmin.rds_file_util-Verfahren auf Berichte zugreifen, und Sie können auf Berichte zugreifen, die mit der Option „S3-Integration“ in Amazon S3 kopiert werden. Weitere Informationen erhalten Sie unter Lesen von Dateien in einem DB-Instance-Verzeichnis und Amazon S3-Integration.

Sie können die rdsadmin_diagnostic_util-Verfahren in den folgenden Amazon RDS for Oracle-DB-Engine-Versionen verwenden:

  • Alle Versionen von Oracle Database 21c

  • 19.0.0.0.ru-2020-04.rur-2020-04.r1 und höhere Versionen von Oracle Database 19c

Einen Blog mit Erläuterungen zum Arbeiten mit Diagnoseberichten in einem Replikationsszenario finden Sie unter Generieren von AWR-Berichten für Amazon-RDS-für-Oracle-Lesereplikate.

Geläufige Parameter für das Diagnose-Utility-Paket

Normalerweise verwenden Sie die folgenden Parameter, wenn AWR und ADDM mit dem rdsadmin_diagnostic_util-Paket verwaltet werden.

Parameter Datentyp Standard Erforderlich Beschreibung

begin_snap_id

NUMBER

Ja

Die ID des beginnenden Snapshots.

end_snap_id

NUMBER

Ja

Die ID des abschließenden Snapshots.

dump_directory

VARCHAR2

BDUMP

Nein

Das Verzeichnis, in das der Bericht oder die Exportdatei geschrieben werden soll. Wenn Sie ein nicht standardmäßiges Verzeichnis angeben, muss der Benutzer, der die rdsadmin_diagnostic_util-Verfahren ausführt, über Schreibberechtigungen für das Verzeichnis verfügen.

p_tag

VARCHAR2

Nein

Eine Zeichenfolge, die verwendet werden kann, um zwischen Backups zu unterscheiden, um den Zweck oder die Verwendung von Backups anzugeben, wie beispielsweise incremental oder daily.

Sie können bis zu 30 Zeichen angeben. Gültige Zeichen sind a-z, A-Z, 0-9, ein Unterstrich (_), ein Bindestrich (-) und ein Punkt (.). Bei einem Tag wird die Groß- und Kleinschreibung nicht beachtet. RMAN speichert Tags immer in Großbuchstaben, unabhängig davon, ob bei der Eingabe Groß- oder Kleinschreibung verwendet wird.

Tags müssen nicht eindeutig sein, daher können mehrere Backups das gleiche Tag haben. Wenn Sie kein Tag angeben, weist RMAN automatisch ein Standard-Tag mithilfe des Formats TAGYYYYMMDDTHHMMSS zu, wobei YYYY für das Jahr steht, MM für den Monat, DD für den Tag, HH für die Stunde (im 24-Stunden-Format), MM für die Minuten und SS für die Sekunden. Datum und Uhrzeit geben an, wann RMAN das Backup gestartet hat. Ein Backup mit dem Standardtag TAG20190927T214517 weist beispielsweise auf ein Backup hin, das am 27.09.2019 um 21:45:17 Uhr gestartet wurde.

Der Parameter p_tag wird für die folgenden Amazon-RDS-for-Oracle-DB-Engine-Versionen unterstützt:

  • Oracle Database 21c (21.0.0)

  • Oracle Datenbank 19c (19.0.0) mit 19.0.0.0.ru-2021-10.rur-2021-10.r1 und höher

report_type

VARCHAR2

HTML

Nein

Das Format des Berichts. Gültige Werte sind TEXT und HTML.

dbid

NUMBER

Nein

Ein gültiger Datenbankbezeichner (DBID), der in der DBA_HIST_DATABASE_INSTANCE-Ansicht für Oracle angezeigt wird. Wenn dieser Parameter nicht angegeben ist, verwendet RDS den aktuellen DBID, der in der V$DATABASE.DBID-Ansicht angezeigt wird.

Normalerweise verwenden Sie die folgenden Parameter, wenn Sie ASH mit dem rdsadmin_diagnostic_util-Paket verwalten.

Parameter Datentyp Standard Erforderlich Beschreibung

begin_time

DATE

Ja

Die Anfangszeit der ASH-Analyse.

end_time

DATE

Ja

Die Endzeit der ASH-Analyse.

slot_width

NUMBER

0

Nein

Die Dauer der Slots (in Sekunden), die im Abschnitt „Top-Aktivität“ des ASH-Berichts verwendet werden. Wenn dieser Parameter nicht angegeben ist, verwendet das Zeitintervall zwischen begin_time und end_time nicht mehr als 10 Slots.

sid

NUMBER

Null

Nein

Die Sitzungs-ID.

sql_id

VARCHAR2

Null

Nein

Die SQL-ID.

wait_class

VARCHAR2

Null

Nein

Der Name der Warteklasse.

service_hash

NUMBER

Null

Nein

Der Servicenamen-Hash.

module_name

VARCHAR2

Null

Nein

Der Modulname.

action_name

VARCHAR2

Null

Nein

Die Aktionsname.

client_id

VARCHAR2

Null

Nein

Die anwendungsspezifische ID der Datenbanksitzung.

plsql_entry

VARCHAR2

Null

Nein

Der PL/SQL-Einstiegspunkt.

Generieren eines AWR-Berichts

Verwenden Sie das rdsadmin.rdsadmin_diagnostic_util.awr_report-Verfahren, um einen AWR-Bericht zu generieren.

Im folgenden Beispiel wird ein AWR-Bericht für den Snapshot-Bereich 101–106 generiert. Die Ausgabetextdatei heißt awrrpt_101_106.txt. Sie können auf diesen Bericht in der zugreife AWS Management Console.

EXEC rdsadmin.rdsadmin_diagnostic_util.awr_report(101,106,'TEXT');

Im folgenden Beispiel wird ein HTML-Bericht für den Snapshot-Bereich 63–65 generiert. Die Ausgabe-HTML-Datei heißt awrrpt_63_65.html. Das Verfahren schreibt den Bericht in das nicht standardmäßige Datenbankverzeichnis namens AWR_RPT_DUMP.

EXEC rdsadmin.rdsadmin_diagnostic_util.awr_report(63,65,'HTML','AWR_RPT_DUMP');

Extrahieren von AWR-Daten in eine Dump-Datei

Verwenden Sie das rdsadmin.rdsadmin_diagnostic_util.awr_extract-Verfahren, um AWR-Daten in eine Dump-Datei zu extrahieren.

Im folgenden Beispiel wird der Snapshot-Bereich 101–106 extrahiert. Die Ausgabe-Dump-Datei heißt awrextract_101_106.dmp. Sie können über die Konsole auf diese Datei zugreifen.

EXEC rdsadmin.rdsadmin_diagnostic_util.awr_extract(101,106);

Im folgenden Beispiel wird der Snapshot-Bereich 63–65 extrahiert. Die Ausgabe-Dump-Datei heißt awrextract_63_65.dmp. Die Datei wird im nicht standardmäßigen Datenbankverzeichnis namens gespeicher AWR_RPT_DUMP.

EXEC rdsadmin.rdsadmin_diagnostic_util.awr_extract(63,65,'AWR_RPT_DUMP');

Generieren eines ADDM-Berichts

Verwenden Sie das rdsadmin.rdsadmin_diagnostic_util.addm_report-Verfahren, um einen ADDM-Bericht zu generieren.

Im folgenden Beispiel wird ein ADDM-Bericht für den Snapshot-Bereich 101–106 generiert. Die Ausgabetextdatei heißt addmrpt_101_106.txt. Sie können über die Konsole auf den Bericht zugreifen.

EXEC rdsadmin.rdsadmin_diagnostic_util.addm_report(101,106);

Im folgenden Beispiel wird ein ADDM-Bericht für den Snapshot-Bereich 63–65 generiert. Die Ausgabetextdatei heißt addmrpt_63_65.txt. Die Datei wird im nicht standardmäßigen Datenbankverzeichnis namens gespeicher ADDM_RPT_DUMP.

EXEC rdsadmin.rdsadmin_diagnostic_util.addm_report(63,65,'ADDM_RPT_DUMP');

Generieren eines ASH-Berichts

Verwenden Sie das rdsadmin.rdsadmin_diagnostic_util.ash_report-Verfahren, um einen ASH-Bericht zu generieren.

Im folgenden Beispiel wird ein ASH-Bericht generiert, der die Daten von vor 14 Minuten bis zur aktuellen Zeit enthält. Der Name der Ausgabedatei verwendet das Format ashrptbegin_timeend_time.txt, wobei begin_time und end_time das Format YYYYMMDDHH24MISS verwenden. Sie können über die Konsole auf die Datei zugreifen.

BEGIN rdsadmin.rdsadmin_diagnostic_util.ash_report( begin_time => SYSDATE-14/1440, end_time => SYSDATE, report_type => 'TEXT'); END; /

Im folgenden Beispiel wird ein ASH-Bericht generiert, der die Daten vom 18. November 2019 um 18:07 Uhr bis zum 18. November 2019 um 18:15 Uhr enthält. Der Name des HTML-Ausgabeberichts lautet ashrpt_20190918180700_20190918181500.html. Der Bericht wird im nicht standardmäßigen Datenbankverzeichnis mit dem Namen gespeicher AWR_RPT_DUMP.

BEGIN rdsadmin.rdsadmin_diagnostic_util.ash_report( begin_time => TO_DATE('2019-09-18 18:07:00', 'YYYY-MM-DD HH24:MI:SS'), end_time => TO_DATE('2019-09-18 18:15:00', 'YYYY-MM-DD HH24:MI:SS'), report_type => 'html', dump_directory => 'AWR_RPT_DUMP'); END; /

Zugriff auf AWR-Berichte über die Konsole oder CLI

Um auf AWR-Berichte zuzugreifen oder Dump-Dateien zu exportieren, können Sie die AWS Management Console oder AWS CLI verwenden. Weitere Informationen finden Sie unter Herunterladen einer Datenbank-Protokolldatei.