oracle 10g 增強審計。表insert 及bind values

jidongzheng發表於2009-02-16

oracle 10g之前,可以審計對錶的操作,但不能記錄操作時的各個列的值。在10g中,已經可以稽核並監控到具體的sql語句及內容了。

要求

10g以後的版本。

alter system set audit_trail=db_extended scope=spfile;

[@more@]

示例;
SQL> show user
User is "TEST"

SQL> desc a;
Name Type Nullable Default Comments
---- ------------ -------- ------- --------
ID INTEGER Y
NAME VARCHAR2(10) Y

sys:
SQL> audit INSERT on test.a by access ;

審計已成功。

test:

SQL> INSERT INTO A VALUES(1,'10');

1 row inserted

SQL> commit;

完成後。

檢查系統審計表:

SQL> SELECT username,obj_name,sql_text FROM DBA_AUDIT_TRAIL WHERE USERNAME='TEST' and obj_name='A' AND SQL_text is not null;

USERNAME OBJ_NAME SQL_TEXT
-------------------------------------- --------------------------------------------------------------------------------
TEST A
INSERT INTO A VALUES(1,'10')

完成後,記得關閉審計

SQL> noaudit INSERT on test.a ;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/197458/viewspace-1017410/,如需轉載,請註明出處,否則將追究法律責任。

相關文章