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 SQLT
Amazon RDS unterstützt Oracle SQLTXPLAIN (SQLT) durch die Verwendung der SQLT-Option. Sie können SQLT mit jeder Edition von Oracle Database 19c und höher verwenden.
Die Oracle EXPLAIN PLAN-Anweisung kann den Ausführungsplan einer SQL-Anweisung bestimmen. Sie kann überprüfen, ob der Oracle-Optimierer einen bestimmten Ausführungsplan auswählt, z. B. einen verschachtelten Schleifen-Join. Sie hilft Ihnen auch, die Entscheidungen des Optimierers zu verstehen, z. B. warum er einen verschachtelten Schleifen-Join einem Hash-Join den Vorzug gegeben hat. EXPLAIN PLAN hilft Ihnen also, die Performance der Anweisung zu verstehen.
SQLT ist ein Oracle-Dienstprogramm, das einen Bericht erstellt. Der Bericht enthält Objektstatistiken, Objekt-Metadaten, optimiererbezogene Initialisierungsparameter und andere Informationen, die ein Datenbankadministrator verwenden kann, um eine SQL-Anweisung auf optimale Performance abzustimmen. SQLT erstellt einen HTML-Bericht mit Hyperlinks zu allen Abschnitten des Berichts.
Im Gegensatz zum automatischen Workload-Repository- oder Statspack-Berichten arbeitet SQLT mit einzelnen SQL-Anweisungen. SQLT ist eine Sammlung von SQL-, PL/SQL- und SQL*Plus-Dateien, die Leistungsdaten sammeln, speichern und anzeigen.
Nachfolgend finden Sie die für jede SQLT-Version unterstützten Oracle-Versionen.
| SQLT-Version | Oracle Database 21c | Oracle Database 19c |
|---|---|---|
|
2018-07-25.v1 |
Unterstützt |
Unterstützt |
|
2018-03-31.v1 |
Nicht unterstützt |
Nicht unterstützt |
|
2016-04-29.v1 |
Nicht unterstützt |
Nicht unterstützt |
So laden Sie SQLT herunter und greifen auf Verwendungsanweisungen zu:
Melden Sie sich bei Ihrem My Oracle Support-Konto an und öffnen Sie die folgenden Dokumente:
Um SQLT herunterzuladen: Document 215187.1
Für SQLT-Nutzungsanweisungen: Document 1614107.1
Für häufig gestellte Fragen zu SQLT: Document 1454160.1
. Für Informationen über das Lesen der SQLT-Ausgabe: Document 1456176.1
Für die Interpretation des Hauptberichts: Document 1922234.1
Amazon RDS unterstützt nicht die folgenden SQLT-Methoden:
-
XPLORE -
XHUME
Anforderungen für SQLT
Es folgen die Voraussetzungen für den Einsatz von SQLT:
-
Sie müssen Benutzer und Rollen entfernen, die von SQLT benötigt werden, so sie vorhanden sind.
Die SQLT-Option legt die folgenden Benutzer und Rollen auf einer DB-Instance an:
SQLTXPLAINBenutzerSQLTXADMINBenutzerSQLT_USER_ROLERolle
Wenn Ihre DB-Instance einen dieser Benutzer oder Rollen hat, melden Sie sich mit einem SQL-Client an der DB-Instance an und löschen Sie diese mit den folgenden Anweisungen:
DROP USER SQLTXPLAIN CASCADE; DROP USER SQLTXADMIN CASCADE; DROP ROLE SQLT_USER_ROLE CASCADE; -
Sie müssen Tabellenräume entfernen, die von SQLT benötigt werden, so sie vorhanden sind.
Die SQLT-Option legt die folgenden Tabellenräume auf einer DB-Instance an:
RDS_SQLT_TSRDS_TEMP_SQLT_TS
Wenn Ihre DB-Instance diese Tabellenräume hat, melden Sie sich mit einem SQL-Client an der DB-Instance an und löschen Sie diese.
SQLT-Optionseinstellungen
SQLT kann mit lizenzierten Funktionen arbeiten, die vom Oracle Tuning Pack und dem Oracle Diagnostics Pack bereitgestellt werden. Das Oracle Tuning Pack enthält den SQL Tuning Advisor, und das Oracle Diagnostics Pack enthält das Automatic Workload Repository. Die SQLT-Einstellungen aktivieren oder deaktivieren den Zugriff auf diese Funktionen von SQLT aus.
Amazon RDS unterstützt die folgenden Einstellungen für die SQLT-Option.
| Optionseinstellung | Zulässige Werte | Standardwert | Beschreibung |
|---|---|---|---|
|
|
|
|
Die Oracle Management Packs, auf die Sie mit SQLT zugreifen möchten. Geben Sie einen der folgenden Werte ein:
AnmerkungAmazon RDS stellt keine Lizenzen für diese Oracle Management Packs zur Verfügung. Wenn Sie angeben, dass Sie ein Pack verwenden möchten, das nicht in Ihrer DB-Instance enthalten ist, können Sie SQLT mit der DB-Instance verwenden. SQLT kann jedoch nicht auf das Paket zugreifen, und der SQLT-Bericht enthält dann nicht die Daten für das Paket. Wenn Sie z. B. |
|
|
|
|
Die SQLT-Version, die Sie installieren möchten. AnmerkungFür Oracle Database 19c und 21c ist |
Hinzufügen der SQLT-Option
Nachfolgend finden Sie den allgemeinen Vorgang für das Hinzufügen der Oracle SQLT-Option zu einer DB-Instance:
Erstellen Sie eine neue Optionsgruppe oder kopieren oder ändern Sie eine bestehende Optionsgruppe.
Fügen Sie der Optionsgruppe die SQLT-Option hinzu.
Ordnen Sie die Optionsgruppe der DB-Instance zu.
Nachdem Sie die SQLT-Option hinzugefügt haben, ist SQLT aktiviert, sobald die Optionsgruppe aktiviert ist.
So fügen Sie die SQLT-Option zu einer DB-Instance hinzu
-
Bestimmen Sie die Optionsgruppe, die Sie verwenden möchten. Sie können eine Optionsgruppe erstellen oder eine bestehende Optionsgruppe verwenden. Wenn Sie eine bestehende Optionsgruppe verwenden möchten, fahren Sie mit dem nächsten Schritt fort. Erstellen Sie andernfalls eine benutzerdefinierte DB-Optionsgruppe mit folgenden Einstellungen:
-
Wählen Sie im Feld Engine die Oracle-Edition aus, die Sie verwenden möchten. Die SQLT-Option wird in allen Editionen unterstützt.
-
Wählen Sie für Major Engine Version (Engine-Hauptversion) die Version Ihrer DB-Instance aus.
Weitere Informationen finden Sie unter Erstellen einer Optionsgruppe.
-
-
Fügen Sie der Optionsgruppe die SQLT-Option hinzu. Weitere Informationen über das Hinzufügen von Optionen finden Sie unter Hinzufügen einer Option zu einer Optionsgruppe.
-
Ordnen Sie die Optionsgruppe einer neuen oder bestehenden DB-Instance zu:
-
Einer neuen DB-Instance wird die Optionsgruppe beim Starten der Instance zugewiesen. Weitere Informationen finden Sie unter Erstellen einer Amazon-RDS-DB-Instance.
-
Bei einer bestehenden DB-Instance weisen Sie die Optionsgruppe zu, indem Sie die Instance ändern und die neue Optionsgruppe anhängen. Weitere Informationen finden Sie unter Ändern einer Amazon-RDS-DB-Instance.
-
-
(Optional) Überprüfen Sie die SQLT-Installation auf jeder DB-Instance mit der SQLT-Option.
Verwenden Sie einen SQL-Client, um sich als Masterbenutzer mit der DB-Instance zu verbinden.
Weitere Information über das Verbinden mit einer Oracle-DB-Instance mithilfe eines SQL-Client finden Sie unter Herstellen der Verbindung zu Ihrer Oracle-DB-Instance.
Führen Sie die folgende Abfrage aus:
SELECT sqltxplain.sqlt$a.get_param('tool_version') sqlt_version FROM DUAL;Die Abfrage gibt die aktuelle Version der SQLT-Option auf Amazon RDS zurück.
12.1.160429ist ein Beispiel für eine SQLT-Version, die auf Amazon RDS verfügbar ist.
Ändern Sie die Passwörter der Benutzer, die durch die SQLT-Option erstellt werden.
Verwenden Sie einen SQL-Client, um sich als Masterbenutzer mit der DB-Instance zu verbinden.
Führen Sie die folgende SQL-Anweisung aus, um das Passwort für den
SQLTXADMIN-Benutzer zu ändern:ALTER USER SQLTXADMIN IDENTIFIED BYnew_passwordACCOUNT UNLOCK;Anmerkung
Geben Sie aus Sicherheitsgründen ein anderes Passwort als hier angegeben an.
Führen Sie die folgende SQL-Anweisung aus, um das Passwort für den
SQLTXPLAIN-Benutzer zu ändern:ALTER USER SQLTXPLAIN IDENTIFIED BYnew_passwordACCOUNT UNLOCK;Anmerkung
Geben Sie aus Sicherheitsgründen ein anderes Passwort als hier angegeben an.
Anmerkung
Um SQLT zu aktualisieren, müssen Sie eine ältere Version von SQLT deinstallieren und anschließend die neue Version installieren. Damit können alle SQLT-Metadaten verloren gehen, wenn Sie SQLT aktualisieren. Ein größeres Versions-Upgrade einer Datenbank deinstalliert und installiert SQLT. Ein Beispiel für ein Hauptversions-Upgrade ist ein Upgrade von Oracle Database 19c auf Oracle Database 21c.
Verwenden von SQLT
SQLT arbeitet mit dem Oracle SQL*Plus-Dienstprogramm.
Um SQLT zu nutzen
Laden Sie SQLT-.zip-Datei von Document 215187.1
auf der My Oracle Support Site herunter. Anmerkung
SQLT 12.1.160429 können Sie nicht von der My Oracle Support Site herunterladen. Oracle hat diese ältere Version eingestellt.
Entpacken Sie die SQLT .zip-Datei.
Wechseln Sie von einer Eingabeaufforderung in das Verzeichnis
sqlt/runauf Ihrem Dateisystem.Öffnen Sie in der Eingabeaufforderung SQL*Plus, und stellen Sie eine Verbindung zur DB-Instance als Hauptbenutzer her.
Weitere Information über das Verbinden mit einer DB-Instance mithilfe von SQL*Plus finden Sie unter Herstellen der Verbindung zu Ihrer Oracle-DB-Instance.
Ermitteln der SQL-ID einer SQL-Anweisung:
SELECT SQL_ID FROM V$SQL WHERE SQL_TEXT='sql_statement';Ihre Ausgabe sieht ähnlich aus wie:
SQL_ID ------------- chvsmttqjzjknAnalysieren einer SQL-Anweisung mit SQLT:
START sqltxtract.sqlsql_idsqltxplain_user_passwordGeben Sie beispielsweise für die SQL-ID
chvsmttqjzjknFolgendes ein:START sqltxtract.sql chvsmttqjzjknsqltxplain_user_passwordSQLT generiert den HTML-Report und zugehörige Ressourcen als. zip-Datei in dem Verzeichnis, aus dem der SQLT-Befehl ausgeführt wurde.
(Optional) Damit Anwendungsbenutzer SQL-Anweisungen mit SQLT diagnostizieren können, geben Sie jedem Anwendungsbenutzer
SQLT_USER_ROLEmit der folgenden Anweisung:GRANT SQLT_USER_ROLE TOapplication_user_name;Anmerkung
Oracle empfiehlt nicht, SQLT mit dem
SYS-Benutzer oder mit Benutzern, die die RolleDBAhaben, auszuführen. Es ist eine bewährte Methode, SQLT-Diagnose mit dem Benutzerkonto der Anwendung auszuführen, indem man dem AnwendungsbenutzerSQLT_USER_ROLEgewährt.
Upgrade der SQLT-Option
Mit Amazon RDS für Oracle können Sie die SQLT-Option von Ihrer vorhandenen Version in eine höhere Version ändern. Führen Sie für das Upgrade der SQLT-Option die Schritte 1 – 3 in Verwenden von SQLT für die neue Version von SQLT durch. Falls Sie in Schritt 7 dieses Abschnitts Berechtigungen für die vorherige Version von SQLT erteilt haben, erteilen Sie die Berechtigungen erneut für die neue SQLT-Version.
Beim Upgrade der SQLT-Option gehen die Metadaten der älteren SQLT-Version verloren. Das Schema der älteren SQLT-Version und zugehörige Objekte werden gelöscht und die neuere Version von SQLT wird installiert. Weitere Informationen zu den Änderungen in neuesten SQLT-Version finden Sie im Dokument 1614201.1
Anmerkung
Versions-Downgrades werden nicht unterstützt.
Ändern der SQLT-Einstellungen
Nach Aktivierung von SQLT können Sie die Einstellungen LICENSE_PACK und VERSION für die Option ändern.
Weitere Informationen über das Ändern von Optionseinstellungen finden Sie unter Ändern einer Optionseinstellung. Weitere Informationen zu den einzelnen Einstellungen finden Sie unter SQLT-Optionseinstellungen.
Entfernen der SQLT-Option
Sie können SQLT aus einer DB-Instance entfernen.
Führen Sie die folgenden Schritte aus, um SQLT aus einer DB-Instance zu entfernen:
-
Um SQLT aus mehreren DB-Instances zu entfernen, entfernen Sie die SQLT-Option aus der Optionsgruppe, zu der die DB-Instances gehören. Diese Änderung wirkt sich auf alle DB-Instances aus, die die betreffende Optionsgruppe verwenden. Weitere Informationen finden Sie unter Entfernen einer Option aus einer Optionsgruppe.
-
Um SQLT von einer einzelnen DB-Instance zu entfernen, modifizieren Sie die DB-Instance und geben Sie eine andere Optionsgruppe an, die die SQLT-Option nicht enthält. Sie können die (leere) Standardoptionsgruppe oder eine andere benutzerdefinierte Optionsgruppe angeben. Weitere Informationen finden Sie unter Ändern einer Amazon-RDS-DB-Instance.