Database Reference
In-Depth Information
P.: „ Dieses Problem scheint mir nicht sehr ernsthaft zu sein. Die SQL-Anweisung war ohnehin
ziemlich performant. Außerdem ist es ein reines Parsing-Problem. Bei der zweiten Ausfüh-
rung hätte dieses Problem nicht auftreten können.
L.: „ Es hängt von der Situation ab. Wenn die SQL-Anweisung häufig mit verschiedenen
Literalen ausgeführt wird, kann es die Performanz merkbar beeinträchtigen (vorausgesetzt,
dass die SQL-Anweisung relativ schnell ist, so dass der Parsing-Anteil in der Laufzeit gravie-
rend ist). Im obigen Fall ist die Performanz ca. 9 mal besser geworden.
Das Event 10046 hat die folgenden 4 Levels, welche die Ausgabe der Bind-Werte und
der Warteereignisse in der Trace-Datei verursachen:
1. 1- ohne Bind-Werte, ohne Warteereignisse (das ist der Vorgabewert),
2. 4- mit Bind-Werten, ohne Warteereignisse,
3. 8- ohne Bind-Werte, mit Warteereignissen,
4. 12- mit Bind-Werten, mit Warteereignissen
Bevor man das Event 10046 aktiviert, muss man prüfen, ob der Parameterwert max _ dump _
file _ size groß genug ist (ansonsten wird die jeweilige Trace-Datei unvollständig gene-
riert). Wenn es nicht der Fall ist, kann man diese Parametereinstellung erhöhen. Beispiel-
weise mit dem Aufruf der Prozedur DBMS_SYSTEM.SET_INT_PARAM_IN_SESSION.
exec
sys.dbms_system.set_int_param_in_session('<sid>','<serial#>','max_dump_file_size',<length>)
Mit dem Debugging-Tool ORADEBUG kann man die Länge der Trace-Datei folgender-
maßen unbegrenzt einstellen.
SQL> oradebug setmypid
Statement processed.
SQL> oradebug unlimit
Statement processed.
Es gibt mehrere Möglichkeiten, das Event 10046 in einer Session zu aktivieren. Ich be-
schreibe in diesem Abschnitt nur einige davon.
6.1.5.1 Aktivieren und Deaktivieren des Event 10046 in eigener Session
Für die eigene Session kann man das Event 10046 mit dem Level 1 folgendermaßen akti-
vieren und deaktivieren.
Aktivieren:
alter session set sql_trace = true;
Deaktivieren:
alter session set sql_trace = false;
Search WWH ::




Custom Search