1. 程式人生 > >oracle審計例子

oracle審計例子

1.資料庫開啟審計
alter system set audit_trail=db,extended scope=spfile;
shutdown immediate
startup

2.對某個表進行審計
connect / as sysdba
SQL> show user;
USER is "SYS"


SQL> audit select table by hxl by session;

Audit succeeded.


以上語句執行後在 dba_stmt_audit_opt 檢視會有相應的記錄
SQL> set linesize 1000;
SQL> select user_name, audit_option, success, failure from dba_stmt_audit_opts;

USER_NAME AUDIT_OPTION SUCCESS FAILURE
------------------------------ ---------------------------------------- ---------- ----------
HXL SELECT TABLE BY SESSION BY SESSION

3.使用hxl使用者登入,查詢該使用者下的一個表
SQL> connect hxl/oracle
Connected.
SQL> select count(1) from tb_test;

COUNT(1)
----------
18

然後查詢審計日誌表,發現已經有記錄了
SQL> Select Count(1) From dba_audit_trail Where obj_name In ('TB_TEST');

COUNT(1)
----------
1

4.取消審計
若我想把上面的審計取消,步驟如下
connect / as sysdba
SQL> noaudit select table by hxl;

Noaudit succeeded.

發現配置表dba_stmt_audit_opt相應的記錄已經取消


退出原有的查詢會話(必須退出,pl/sql需要關閉再登入,否則還會一直有審計),再次登陸查詢就不會有審計記錄了.

 

-- The End --