SQL-Tracing in Autonomous Database ausführen
Mit SQL-Tracing können Sie die Quelle einer übermäßigen Datenbank-Workload identifizieren, z.B. eine High-Load-SQL-Anweisung in Ihrer Anwendung.
- SQL-Tracing in Autonomous Database konfigurieren
Zeigt die Schritte zur Konfiguration von SQL-Tracing in Autonomous Database an. - SQL-Tracing in Autonomous Database aktivieren
Zeigt die Schritte zum Aktivieren des SQL-Tracings für die Datenbanksession an. - SQL-Tracing in Autonomous Database deaktivieren
Zeigt die Schritte zum Deaktivieren des SQL-Tracings in Autonomous Database an. - Tracedatei im Cloud-Objektspeicher in Autonomous Database anzeigen
Beschreibt die Benennung der Ausgabedatei für SQL-Trace-Dateien und zeigt die Befehle an, mit denenTKPROF
Tracedateidaten organisiert und angezeigt werden. - Tracedaten in der SESSION_CLOUD_TRACE-Ansicht in Autonomous Database anzeigen
Wenn Sie SQL Tracing aktivieren, sind dieselben Tracedaten, die in der Tracedatei im Cloud-Objektspeicher gespeichert wurden, in der AnsichtSESSION_CLOUD_TRACE
in der Session verfügbar, in der das Tracing aktiviert wurde.
Übergeordnetes Thema: Performance überwachen und Verwalten
SQL-Tracing in Autonomous Database konfigurieren
Zeigt die Schritte zum Konfigurieren des SQL-Tracings in Autonomous Database an.
Wenn Sie SQL Tracing für die Anwendungsperformance für die Session aktivieren, kann dies zu einer Verschlechterung führen, während die Traceerfassung aktiviert ist. Diese negative Auswirkung auf die Performance wird aufgrund des Overheads beim Erfassen und Speichern von Tracedaten erwartet.
So konfigurieren Sie die Datenbank für das SQL-Tracing:
Übergeordnetes Thema: SQL-Tracing in Autonomous Database ausführen
SQL-Tracing in Autonomous Database aktivieren
Zeigt die Schritte zum Aktivieren des SQL-Tracings für die Datenbanksession an.
Wenn Sie das SQL-Tracing für die Anwendungsperformance für die Session aktivieren, kann es zu einer Verschlechterung der Session kommen, während die Traceerfassung aktiviert ist. Diese negative Auswirkung auf die Performance wird aufgrund des Overheads beim Erfassen und Speichern von Tracedaten erwartet.
Bevor Sie SQL-Tracing aktivieren, müssen Sie die Datenbank so konfigurieren, dass SQL-Trace-Dateien gespeichert werden. Weitere Informationen finden Sie unter SQL-Tracing in Autonomous Database konfigurieren.
So aktivieren Sie das SQL-Tracing:
Übergeordnetes Thema: SQL-Tracing in Autonomous Database ausführen
SQL-Tracing in Autonomous Database deaktivieren
Zeigt die Schritte zum Deaktivieren des SQL-Tracings in Autonomous Database an.
So deaktivieren Sie das SQL-Tracing:
Wenn Sie das SQL-Tracing deaktivieren, werden die während der Sessionausführung erfassten Tracingdaten mit aktiviertem Tracing in eine Tabelle kopiert und an eine Tracedatei im Cloud-Objektspeicher gesendet. Sie haben zwei Möglichkeiten, Tracedaten anzuzeigen:
-
SQL-Trace-Daten in der Tracedatei anzeigen und analysieren, die im Cloud-Objektspeicher gespeichert ist. Weitere Informationen finden Sie unter Im Cloud-Objektspeicher gespeicherte Tracedatei in Autonomous Database anzeigen.
-
In der Ansicht
SESSION_CLOUD_TRACE
gespeicherte SQL-Trace-Daten anzeigen und analysieren. Weitere Informationen finden Sie unter Tracedaten in der Ansicht SESSION_CLOUD_TRACE in Autonomous Database anzeigen.
Übergeordnetes Thema: SQL-Tracing in Autonomous Database ausführen
Im Cloud-Objektspeicher gespeicherte Tracedatei in Autonomous Database anzeigen
Beschreibt die Benennung der Ausgabedatei für SQL-Trace-Dateien und zeigt die Befehle an, mit denen TKPROF
Tracedateidaten organisiert und angezeigt werden.
Mit SQL-Trace-Dateidaten können Sie die Anwendungsperformance in Autonomous Database analysieren. Wenn Sie das SQL-Trace in der Datenbanksession deaktivieren, werden Daten in den mit DEFAULT_LOGGING_BUCKET
konfigurierten Cloud-Objektspeicher-Bucket geschrieben.
Die SQL Trace-Funktion schreibt die in der Session erfassten Tracedaten im folgenden Format in den Cloud-Objektspeicher:
default_logging_bucket/
sqltrace
/
clientID
/moduleName
/sqltrace_
numID1
_numID2
.trc
Die Komponenten des Dateinamens sind:
-
default_logging_bucket: Der Wert der Datenbankeigenschaft
DEFAULT_LOGGING_BUCKET
. Weitere Informationen finden Sie unter SQL-Tracing in Autonomous Database konfigurieren. -
clientID
: ist die Client-ID. Weitere Informationen finden Sie unter SQL-Tracing in Autonomous Database aktivieren. -
moduleName
: ist der Modulname. Weitere Informationen finden Sie unter SQL-Tracing in Autonomous Database aktivieren. -
numID1
_numID2
: Es handelt sich um zwei IDs, die von der SQL Trace-Funktion bereitgestellt werden. Die numerischen WertenumID1
undnumID2
unterscheiden jeden Tracedateinamen eindeutig von anderen Sessions, indem Tracing verwendet und Tracedateien im selben Bucket in Cloud Object Storage erstellt werden.Wenn der Datenbankservice Parallelität unterstützt und eine Session eine parallele Abfrage ausführt, kann die SQL Trace-Funktion mehrere Tracedateien mit unterschiedlichen Werten für
numID1
undnumID2
erstellen.
Wenn das SQL-Tracing mehrmals in derselben Session aktiviert und deaktiviert ist, generiert jede Trace-Iteration eine separate Tracedatei im Cloud-Objektspeicher. Um zu vermeiden, dass vorherige Traces überschrieben werden, die in der Session generiert wurden, folgen nachfolgend generierte Dateien derselben Benennungskonvention und fügen dem Namen der Tracedatei ein numerisches Suffix hinzu. Dieses numerische Suffix beginnt mit der Zahl 1 und wird danach für jede Tracingiteration um 1 erhöht.
Beispiel: Wenn Sie die Client-ID auf "sql_test
" und den Modulnamen auf "modname
" setzen, lautet der generierte Trace-Dateiname wie folgt:
sqltrace/sqlt_test/modname/sqltrace_5415_56432.trc
Sie können TKPROF
ausführen, um die Tracedatei in eine lesbare Ausgabedatei zu übersetzen.
Informationen zur Verwendung des Utilitys TKPROF
finden Sie unter "Tools für End-to-End Application Tracing" in der Oracle Database SQL Tuning Guide.
Übergeordnetes Thema: SQL-Tracing in Autonomous Database ausführen
Tracedaten in der SESSION_CLOUD_TRACE-Ansicht in Autonomous Database anzeigen
Wenn Sie SQL Tracing aktivieren, sind dieselben Traceinformationen, die in der Tracedatei im Cloud-Objektspeicher gespeichert werden, in der Ansicht SESSION_CLOUD_TRACE
in der Session verfügbar, in der das Tracing aktiviert wurde.
Während Sie sich noch in der Datenbanksession befinden, können Sie SQL-Tracingdaten in der View SESSION_CLOUD_TRACE
anzeigen. Die Ansicht SESSION_CLOUD_TRACE
enthält zwei Spalten: ROW_NUMBER
und TRACE
:
DESC SESSION_CLOUD_TRACE
Name Null? Type
---------- ----- ------------------------------
ROW_NUMBER NUMBER
TRACE VARCHAR2(32767)
ROW_NUMBER
gibt die Reihenfolge für Tracedaten an, die in der Spalte TRACE
gefunden werden. Jede Zeile der Traceausgabe, die in eine Tracedatei geschrieben wird, wird zu einer Zeile in der Tabelle und ist in der Spalte TRACE
verfügbar.
Nachdem Sie das SQL-Tracing für die Session deaktiviert haben, können Sie Abfragen in der View SESSION_CLOUD_TRACE
ausführen.
Beispiel:
SELECT trace FROM SESSION_CLOUD_TRACE ORDER BY row_number;
Die Daten in SESSION_CLOUD_TRACE
bleiben für die Dauer der Session bestehen. Nachdem Sie sich abgemeldet oder die Session geschlossen haben, sind die Daten nicht mehr verfügbar.
Wenn SQL Trace mehrmals in derselben Session aktiviert und deaktiviert ist, zeigt SESSION_CLOUD_TRACE
die Tracedaten für alle Iterationen kumulativ an. Wenn Sie das Tracing in einer Session erneut aktivieren, nachdem Sie das Tracing zuvor deaktiviert haben, werden die durch die frühere Iteration erzeugten Tracedaten nicht entfernt.
Übergeordnetes Thema: SQL-Tracing in Autonomous Database ausführen