基于此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_TEXT
和SQL_BIND
字段为空。我怎么能看到它们?我应该启用任何其他选项吗?我正在使用Oracle 11.2 Express Edition。这是因为它是快递版吗?
答案 0 :(得分:8)
仅当SQLTEXT
选项设置为SQLBIND
时,才会填充AUDIT_TRAIL
和db, 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>