oracle数据库AUDIT不显示SQL文本和绑定值

时间:2012-10-27 12:08:32

标签: oracle audit

基于此tutorial我已使用以下选项在数据库上配置审核:

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;

我从java准备查询并运行SELECT查询。 DBA_AUDIT_TRAIL表显示我的SELECT个查询,但SQL_TEXTSQL_BIND字段为空。我怎么能看到它们?我应该启用任何其他选项吗?我正在使用Oracle 11.2 Express Edition。这是因为它是快递版吗?

1 个答案:

答案 0 :(得分:8)

仅当SQLTEXT选项设置为SQLBIND时,才会填充AUDIT_TRAILdb, extended列。这是一个例子:

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

System altered

重新启动实例。

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>