Protokolldatei der Oracle-Abfragen 

Einführung

Dieses Werkzeug steht bei Verwendung von Oracle™ als Datenbank in jeder beliebigen Maske im Menü Tools des oberen Maskenbereichs zur Verfügung. Dort sind die folgenden beiden Menüeinträge vorhanden:

Aktivierung Oracle-Protokoll

Mit der Oracle-Funktionalität SQL_TRACE werden die bei der Ausführung von SQL-Befehlen ermittelten Datensätze in eine Datei gespeichert, die anschließend analysiert werden kann.

Deaktivierung Protokoll

Von dieser Funktion wird die erneute Verarbeitung über das Oracle-Tool TKPROF angestoßen. Dieses Tool verarbeitet die durch Aktivierung erhaltene Protokolldatei und zeigt das Ergebnis an. Dies ermöglicht die Anzeige sämtlicher während der Aktivierung ausgeführten SQL-Befehle.

Vorbedingungen

Berechtigung

Der Benutzer muss für die Verwendung des Debuggers (Parameter DBG) berechtigt sein.

Technische Einschränkung

Die Funktion kann nur laufen, wenn ein Verarbeitungsserver installiert und auf der Datenbankmaschine aktiv ist.

Unix-Benutzerrechte

Liegt der Anwendungsserver auf einer Unix-Maschine, müssen Benutzer, können nur DBAs die Protokolldatei aufrufen.

Benutzerschnittstelle

Nach Aufruf der Funktion öffnet sich eine Maske, in verschiedene Optionen erfasst werden kann.

Übernahme der Ergebnisse

Die Verwendung der folgenden drei Optionen ist fakultativ

AGGREGATE

Gruppierung identischer Datensätze in eine SQL-Abfrage vs. unabhängige Verarbeitung

WAITS

Speichern von Synthesen über die Ereignisse in der Warteschleife. Diese Option steht erst seit Version 9i zur Verfügung.

SYS

Gibt an, ob das von SYS ausgeführte rekursive SQL angezeigt werden soll

Sortieroptionen

Standardmäßig werden die SQL-Befehle in chronologischer Reihenfolge abgearbeitet. Es ist aber auch möglich, eine andere Reihenfolge anzugeben.

Hierfür stehen mehrere Sortieroptionen zur Verfügung, wobei zunächst die teuersten aufgelistet werden.

Mit "Erweiterte Sortierparameter" kann der Benutzer die gewünschten Sortieroptionen selbst auswählen. Das entsprechende Fenster umfasst alle möglichen der folgenden Optionen (hier in der Reihenfolge der Verarbeitungsschritte):

prscnt

Anzahl Analyseanfragen (PARSE)

prscpu

Für die Analyse beanspruchte CPU-Zeit

prsela

Bei der Analyse bereits abgelaufene Zeit

prsdsk

Anzahl der Lesezugriffe auf die Platte

prsqry

Anzahl Zwischenspeicher für zusammenhängendes Lesen während der Analyse

prscu

Anzahl Buffer während des Parsing

prsmis

Anzahl der während der Analyse gescheiterten Zugriffsversuche auf die Cache-Bibliothek

execnt

Anzahl aufgerufene Ausführungen

execpu

CPU-Ausführungszeit

exeela

Bei der Ausführung bereits abgelaufene Zeit

exedsk

Anzahl der Lesezugriffe auf die Platte während der Ausführung

exeqry

Anzahl Zwischenspeicherzugriffe für zusammenhängendes Lesen während der Ausführung

execu

Anzahl Buffer während der Ausführung

exerow

Anzahl der während der Ausführung verarbeiteten Zeilen

exemis

Anzahl der während der Analyse gescheiterten Zugriffsversuche auf die Cache-Bibliothek

fchcnt

Anzahl Ausgabeaufrufe (FETCH)

fchcpu

Für die Ausgabe beanspruchte CPU-Zeit

fchela

Bei der Ausgabe bereits abgelaufene Zeit

fchdsk

Anzahl Lesezugriffe auf die Platte beim FETCH

fchqry

Anzahl Zwischenspeicherzugriffe für zusammenhängendes Lesen bei der Ausgabe

fchcu

Anzahl Zwischenspeicherzugriffe für Lesen bei der Ausgabe

fchrow

Anzahl der während der Ausführung verarbeiteten Zeilen

Ergebnisdarstellung

Der Benutzer kann sich dafür entscheiden, nur die n ersten SQL-Befehle aufzulisten.

Entscheidet er sich für eine Sortierung, erhält er die n teuersten SQL-Befehle.

Erläuterung des tkprof-Ergebnisses:

Count

Anzahl der durchgeführten Analysen, Programmausführungen und Datenübernahmen.
(Vor der Interpretation der anderen Spalten ist darauf zu achten, dass ein Wert größer 0 vorhanden ist). Wenn nicht AGGREGATE = no angegeben wurde, gruppiert TKPROF identische SQL-Anweisungen.

CPU

Gesamte CPU-Zeit in Sekunden, die für die Schritte Analyse, Ausführung und Ergebnisübernahme benötigt wurde.

Elapsed

Gesamtzeit in Sekunden, die für sämtliche Analyse-, Ausführungs- und Datenübernahmeaufrufe verstrichen ist (hier werden die Waits hinzugefügt, so dass diese Zeit sowohl die Oracle-, als auch die CPU-Vorgänge umfasst).
Die Abweichung zwischen CPU und Elasped darf nicht zu groß sein.

Disk

Gesamte Anzahl von im Analyse-, Ausführungs- und Ergebnisübernahmeschritt physisch in den Datendateien gelesenen Blöcken.

Query

Anzahl der in allen Schritten im Coherent-Modus ausgegebenen Buffern.

Current

Anzahl der in allen Schritten im aktuellen Modus ausgegebenen Buffern.

Rows

Anzahl der verarbeiteten Zeilen (betrifft nicht die Unterabfragen)
- Select: Anzahl aus der Spalte Fetch
- Insert, Update und Delete: Anzahl aus der Spalte Execute

Fehler

Während der Erfassung können außer den generischen Meldungen folgende Fehlermeldungen auftreten: :

"Fehler beim Zugriff auf den Datenbankserver"

Auf die Datenbankmaschine kann nicht zugegriffen werden, da entweder kein Verarbeitungsserver vorhanden ist oder dieser nicht läuft.

"Fehler beim Zugriff auf das Protokollverzeichnis der Datenbank"

Auf das als Protokollverzeichnis angegebene Verzeichnis kann nicht zugegriffen werden.