Benutzer-Werkzeuge

Webseiten-Werkzeuge


dba:sql_trace_oracle

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
dba:sql_trace_oracle [2015/11/22 14:26] – [Oracle SQL Traces erzeugen und auswerten] gpipperrdba:sql_trace_oracle [2015/11/22 14:31] – [Trace auf einer Sesssion bei bekannter SID] gpipperr
Zeile 8: Zeile 8:
 Das Tracing kann auf der gesamten Datenbank, allen Sessionen, die sich über einen bestimmten Service anmelden und auf jeder Session aktiviert werden. Das Tracing kann auf der gesamten Datenbank, allen Sessionen, die sich über einen bestimmten Service anmelden und auf jeder Session aktiviert werden.
  
-==== Alle SQL Statements der Datenbankweite mit schreiben ====+==== Alle aktuellen SQL Statements der Instance mit schreiben ====
  
 Sehr unpraktisch, da viele Dateien und viele Daten erzeugt werden, recht mühsam in der Analyse. Sehr unpraktisch, da viele Dateien und viele Daten erzeugt werden, recht mühsam in der Analyse.
  
 +Einschalten mit dem Parameter **sql_trace**
 <code sql> <code sql>
 sqlplus / as sysdba sqlplus / as sysdba
Zeile 42: Zeile 43:
  
  
-=== Userid im Trace erkennen ===+=== Userid im Trace wieder erkennen ===
  
-Wie erkenne ich nun von welcher User den Trace verursacht hat?+Wie erkenne ich nun aber von welchem User welcher Trace verursacht wurde?
  
-Beispiel:+Beispiel - Auszug aus dem Trace File:
 <code sql> <code sql>
 PARSING IN CURSOR #368408184 len=43 dep=0 uid=88 oct=3 lid=88 tim=6948133230 hv=3912676408 ad='7ff2d6e3c58' sqlid='bbx3c0rnmdd1s' PARSING IN CURSOR #368408184 len=43 dep=0 uid=88 oct=3 lid=88 tim=6948133230 hv=3912676408 ad='7ff2d6e3c58' sqlid='bbx3c0rnmdd1s'
-select /* MY_TEST_SQL */ * from dual 
 </code> </code>
  
-In diesem Beispiel ist **"uid=88"**, mit der 88 in dba_users suchen:+In diesem Beispiel ist das die **"uid=88"**, mit der 88 als User ID dann in der dba_users suchen:
  
 <code sql> <code sql>
Zeile 68: Zeile 68:
 ==== Trace auf alle Sessions mit speziellen Eigenschaften mit DBMS_MONITOR.SERV_MOD_ACT_TRACE_ENABLE ==== ==== Trace auf alle Sessions mit speziellen Eigenschaften mit DBMS_MONITOR.SERV_MOD_ACT_TRACE_ENABLE ====
  
-Möglich zum Beispiel auf den Service etc. +Beispiel -  Alle Sessions die sich über eine Service verbinden aufzeichnen:
- +
-Alle Sessions die sich über eine Service verbinden aufzeichnen: +
 <code sql> <code sql>
  
Zeile 88: Zeile 85:
 </code> </code>
  
 +==Überprüfen==
 Über die View **dba_enabled_traces** prüfen, ob ein Trace eingeschaltet ist: Über die View **dba_enabled_traces** prüfen, ob ein Trace eingeschaltet ist:
 <code sql> <code sql>
Zeile 146: Zeile 144:
 </code> </code>
  
-<note tip>Wird mit "dbms_monitor.session_trace_enable" eine Session getracedm ist nur in der v$session die Spalte SQL_TRACE gesetzt, wird aber "mit dbms_monitor.client_id_trace_enable" der Trace gestaret, wird der Trace in der View dba_enabled_traces angezeigt und NICHT mehr in der v$session!</note>+<note tip>Wird mit "dbms_monitor.session_trace_enable" eine Session getracet ist nur in der v$session die Spalte SQL_TRACE gesetzt, wird aber "mit dbms_monitor.client_id_trace_enable" der Trace gestaret, wird der Trace in der View dba_enabled_traces angezeigt und NICHT mehr in der v$session!</note>
  
 Und wieder ausschalten: Und wieder ausschalten:
dba/sql_trace_oracle.txt · Zuletzt geändert: 2015/11/22 16:00 von gpipperr