Pregunta

Based on this tutorial I have configured auditing on a database with these options:

AUDIT ALL BY db BY ACCESS;
AUDIT SELECT TABLE, UPDATE TABLE, INSERT TABLE, DELETE TABLE BY db BY ACCESS;
AUDIT EXECUTE PROCEDURE BY db BY ACCESS;

I prepare query from java and run a SELECT query. DBA_AUDIT_TRAIL table shows my SELECT query but SQL_TEXT and SQL_BIND fields are empty. How can I see them? Should I enable any other option? I'm using Oracle 11.2 Express Edition. Is this because It is express edition?

¿Fue útil?

Solución

The column SQLTEXT and SQLBIND are populated only when AUDIT_TRAIL option is set to db, extended. Here is an example:

SQL> alter system set audit_trail=db,extended scope=spfile;

System altered

Restart the instance.

SQL> audit select on your_table;

Audit succeeded

SQL> select sqltext from sys.aud$ where obj$name = 'YOUR_TABLE';

SQLTEXT
--------------------------------------------------------------------------------
null

SQL> select count(*) from your_table;

  COUNT(*)
----------
         3

SQL> select sqltext from sys.aud$ where obj$name = 'YOUR_TABLE';

SQLTEXT
--------------------------------------------------------------------------------
select count(*) from your_table


SQL> 
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top