Oracle Statspack - 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.

Oracle Statspack

Mit der Oracle Statspack-Option wird die Funktion der Oracle Statspack-Leistungsstatistik installiert und aktiviert. Oracle Statspack ist eine Sammlung von SQL PL/- und SQL *Plus-SkriptenSQL, die Leistungsdaten sammeln, speichern und anzeigen. Weitere Informationen über die Verwendung von Oracle Statspack finden Sie unter Oracle Statspack in der Oracle-Dokumentation.

Anmerkung

Oracle Statspack wird von Oracle nicht mehr unterstützt und wurde durch das erweiterte Automatic Workload Repository () ersetzt. AWR AWRist nur für Kunden der Oracle Enterprise Edition verfügbar, die das Diagnostics Pack gekauft haben. Sie können Oracle Statspack mit jeder Oracle-DB-Engine bei Amazon verwenden. RDS Sie können Oracle Statspack nicht auf Amazon RDS Read Replicas ausführen.

Einrichten von Oracle Statspack

Um Statspack-Skripts auszuführen, müssen Sie die Statspack-Option hinzufügen.

So richten Sie Oracle Statspack ein:
  1. Melden Sie sich in einem SQL Client mit einem Administratorkonto bei der Oracle-Datenbank an.

  2. Führen Sie je nachdem, ob Statspack installiert ist, eine der folgenden Aktionen aus:

    • Wenn Statspack installiert ist und das PERFSTAT-Konto Statspack zugeordnet ist, fahren Sie mit Schritt 4 fort.

    • Wenn Statspack nicht installiert ist und das PERFSTAT-Konto vorhanden ist, löschen Sie das Konto wie folgt:

      DROP USER PERFSTAT CASCADE;

      Andernfalls erzeugt der Versuch, die Statspack-Option hinzuzufügen, einen Fehler und RDS-Event-0058.

  3. Fügen Sie die Statspack-Option zu einer Optionsgruppe hinzu. Siehe Hinzufügen einer Option zu einer Optionsgruppe.

    Amazon installiert die Statspack-Skripts RDS automatisch auf der DB-Instance und richtet dann das PERFSTAT Konto ein.

  4. Setzen Sie das Passwort mit der folgenden SQL Anweisung zurück und ersetzen Sie pwd durch Ihr neues Passwort:

    ALTER USER PERFSTAT IDENTIFIED BY pwd ACCOUNT UNLOCK;

    Sie können sich mit dem PERFSTAT-Benutzerkonto anmelden und die Statspack-Skripts ausführen.

  5. Erteilen Sie dem PERFSTAT Konto die CREATE JOB Berechtigung mit der folgenden Anweisung:

    GRANT CREATE JOB TO PERFSTAT;
  6. Stellen Sie sicher, dass Leerlaufwarteereignisse in der PERFSTAT.STATS$IDLE_EVENT-Tabelle eingegeben werden.

    Aufgrund von Oracle-Fehler 28523746 werden die Leerlaufwarteereignisse in PERFSTAT.STATS$IDLE_EVENT möglicherweise nicht eingegeben. Um sicherzustellen, dass alle Leerlaufereignisse verfügbar sind, führen Sie die folgende Anweisung aus:

    INSERT INTO PERFSTAT.STATS$IDLE_EVENT (EVENT) SELECT NAME FROM V$EVENT_NAME WHERE WAIT_CLASS='Idle' MINUS SELECT EVENT FROM PERFSTAT.STATS$IDLE_EVENT; COMMIT;

Generieren von Statspack-Berichten

Ein Statspack-Bericht vergleicht zwei Snapshots.

So generieren Sie Statspack-Berichte:
  1. Melden Sie sich in einem SQL Client mit dem PERFSTAT Konto bei der Oracle-Datenbank an.

  2. Erstellen Sie einen Snapshot mit einer der folgenden Techniken:

    • Erstellen Sie einen Statspack-Snapshot manuell.

    • Erstellen Sie eine Aufgabe, die nach einem bestimmten Zeitintervall einen Statspack-Snapshot erstellt. Der folgende Job erstellt beispielsweise jede Stunde einen Statspack-Snapshot:

      VARIABLE jn NUMBER; exec dbms_job.submit(:jn, 'statspack.snap;',SYSDATE,'TRUNC(SYSDATE+1/24,''HH24'')'); COMMIT;
  3. Zeigen Sie die Snapshots mithilfe der folgenden Abfrage an:

    SELECT SNAP_ID, SNAP_TIME FROM STATS$SNAPSHOT ORDER BY 1;
  4. Führen Sie das RDS Amazon-Verfahren rdsadmin.rds_run_spreport aus und ersetzen Sie begin_snap und end_snap durch den Snapshot: IDs

    exec rdsadmin.rds_run_spreport(begin_snap,end_snap);

    Beispielsweise wird mit dem folgenden Befehl ein Bericht erstellt, der auf dem Intervall zwischen den Statspack-Snapshots 1 und 2 basiert:

    exec rdsadmin.rds_run_spreport(1,2);

    Der Dateiname des Statspack-Berichts enthält die Nummer der beiden Snapshots. So würde beispielsweise eine Berichtsdatei, in der die Statspack-Snapshots 1 und 2 verwendet werden, den Namen erhalte ORCL_spreport_1_2.lst.

  5. Überwachen Sie die Ausgabe auf Fehler.

    Oracle Statspack führt Prüfungen durch, bevor der Bericht ausgeführt wird. Daher können Sie möglicherweise auch Fehlermeldungen in der Befehlsausgabe sehen. Sie können beispielsweise versuchen, einen Bericht basierend auf einem ungültigen Bereich zu generieren, wobei der anfängliche Statspack-Snapshot-Wert größer als der Endwert ist. In diesem Fall zeigt die Ausgabe die Fehlermeldung an, aber die DB-Engine generiert keine Fehlerdatei.

    exec rdsadmin.rds_run_spreport(2,1); * ERROR at line 1: ORA-20000: Invalid snapshot IDs. Find valid ones in perfstat.stats$snapshot.

    Wenn Sie eine ungültige Nummer für einen Statspack-Snapshot verwenden, zeigt die Ausgabe einen Fehler an. Wenn Sie beispielsweise versuchen, einen Bericht für Snapshots 1 und 50 zu erstellen, aber Snapshot 50 nicht vorhanden ist, zeigt die Ausgabe einen Fehler an.

    exec rdsadmin.rds_run_spreport(1,50); * ERROR at line 1: ORA-20000: Could not find both snapshot IDs
  6. (Optional)

    Um den Bericht abzurufen, rufen Sie die Ablaufverfolgungsdatei-Prozeduren auf, wie unter erläuter Arbeiten mit Oracle-Trace-Dateien.

    Alternativ können Sie den Statspack-Bericht von der Konsole herunterladen. RDS Gehen Sie in den DB-Instance-Details zum Abschnitt Protokoll und wählen Sie Herunterladen aus. Das folgende Beispiel zeigt trace/ORCL_spreport_1_2.lst

    Zeigt eine Liste der Oracle-Protokolldateien in der RDS Konsole an. Die folgende Trace-Datei ist eingekreist:. trace/ORCL_spreport_1_2.lst

    Wenn beim Generieren eines Berichts ein Fehler auftritt, verwendet die DB-Engine dieselben Namenskonventionen wie für einen Bericht, jedoch mit der Erweiterung von. .err Wenn beispielsweise ein Fehler beim Erstellen eines Berichts mit den Statspack-Snapshots 1 und 7 aufgetreten ist, hat die Berichtsdatei den Namen ORCL_spreport_1_7.err. Sie können den Fehlerbericht mit den gleichen Methoden herunterladen wie für einen standardmäßigen Snapshot-Bericht.

Entfernen von Statspack-Snapshots

Verwenden Sie den folgenden Befehl zum Entfernen eines Bereichs von Oracle-Statspack-Snapshots:

exec statspack.purge(begin snap, end snap);