Skip to content
 

Oracle: Auditing auf Statement-Ebene einschalten

Ich hatte schon öfters die Anforderung, auf Statement-Ebene Auditing einzuschalten. Also z.B. in einem Logon-Trigger die Umgebung des Users abzuchecken und anhand dessen zu entscheiden, ob Auditing notwendig ist oder nicht.

Oracle sieht dies aber nicht so vor. Es ist nur auf Schema-Ebene definierbar. Viele denken zwar, die Option “BY SESSION” macht dies, aber diese Option bewirkt etwas ganz anderes.
Es ist zwar möglich, über FGA Hacks zu programmieren, aber dies recht komplex – und häufig nicht performant.

Seit Oracle 11g Release 2 ist es nun viel einfacher :-)

Durch eine Erweiterung des AUDIT-Statements um die Klausel “IN SESSION CURRENT” kann das Auditing genau für die aktuelle Session eingeschaltet werden.

Also z.B.:

AUDIT ALL STATEMENTS IN SESSION CURRENT BY ACCESS WHENEVER SUCCESSFUL;

Genau das, was ich schon öfters gebraucht habe :-)

Interessanterweise habe ich das nur in den New Features des SQL-Handbuches gefunden, nicht im Kapitel Security.

Leave a Reply