2012-01-19 27 views

回答

6

我想创建在Oracle 11g中一个全局触发,可用于约100台

的审核是否有要推倒重来的理由?为什么不利用Oracle的内置审计?

Oracle Base提供了一些基本信息,以如何让审计开始:

审计可以通过设置AUDIT_TRAIL静态参数,它具有以下允许值启用。

AUDIT_TRAIL = { none | os | db | db,extended | xml | xml,extended } 

下面列出了每个设置的描述:

none or false - Auditing is disabled. 
db or true - Auditing is enabled, with all audit records stored in the database audit trial (SYS.AUD$). 
db,extended - As db, but the SQL_BIND and SQL_TEXT columns are also populated. 
xml- Auditing is enabled, with all audit records stored as XML format OS files. 
xml,extended - As xml, but the SQL_BIND and SQL_TEXT columns are also populated. 
os- Auditing is enabled, with all audit records directed to the operating system's audit trail. 

要启用审计数据库审计线索启用审核,以分贝

SQL> ALTER SYSTEM SET audit_trail=db,extended SCOPE=SPFILE; 

System altered. 

关机&重新启动数据库

SQL> SHUTDOWN 
Database closed. 
Database dismounted. 
ORACLE instance shut down. 
SQL> STARTUP 
ORACLE instance started. 

我们审计SELECTSINSERTSUPDATESDELETES用户cube做到这一点:

CONNECT sys/password AS SYSDBA 

AUDIT ALL BY cube BY ACCESS; 
AUDIT SELECT TABLE, UPDATE TABLE, INSERT TABLE, DELETE TABLE BY cube BY ACCESS; 

经审计日志可以长大通过查询DBA_AUDIT_TRAIL

延伸阅读:

相关问题