[Oracle] Statement-Level-Trigger

Hallo Leute,

Ich suche eine Möglichkeit um in einem Statement-Level-Trigger mehr Informationen über das ausgeführte Statement zu bekommen.

Im Moment kann ich nur über die boolschen Werte INSERTING, UPDATING und DELETING abfragen um was für ein Statement es sich handelt, ich würde aber Details brauchen (am besten das eigentliche Statement).

Brauchen würde ich das für Debug-Zwecke, ich versuche eine Fremd-Applikation zu debuggen in dem ich auf eine ihrer Tabellen Trigger setze.

Habt ihr eine Ahnung wie sowas geht?

Danke und Grüße, Robert

Moin,

schau mal ob Dir das evtl. weiterhilft:

http://www.wer-weiss-was.de/cgi-bin/forum/showarchiv…

Ich denke mal über eine ähnliche Funktionalität kannst Du auch Session-Id´s mitloggen und über DBA-Views/Tables die Statements herausbekommen.

Gruß
Andreas

Hallo Andreas,

Leider funktionieren die dort beschriebenen Methoden seit Oracle 10g nur mehr für DDL statements, für DML gibts immer NULL.

Bin aber inzwischen auf das DBMS_FGA Package gestossen, dass eine Analyse von durchgeführten SQL-Statements erlaubt und das uns weitergeholfen hat.

Danke und Grüße, Robert

Hi!

Wäre die View v$sql (und alles was mit v$sql… zu tun hat) nicht auch eine Überlegung wert?

Grüße,
Tomh

1 Like

Hallo Tomh,

Den View kannte ich auch nicht. Die FGA hat das Problem ansich gelöst, ich werde mir diesen View aber auf jeden Fall auch anschauen.

Bin leider kein Oracle-Experte sondern nur in der (inzwischen schon fast dauerhaften) Notlage mit einem Oracle RAC ohne entsprechenden DBA arbeiten zu müssen. :smile:

Schöne Grüße, Robert