2014-09-23 79 views
2

我们已经将audit_trail设置为数据库,扩展了。我尝试限制特定用户的审计。但所有用户(对象)DML操作默认情况下都是审计。Oracle 11g第2版中的审计

我尝试使用所有这些语句停止审核:

SQL> NOAUDIT ALL; 

Noaudit succeeded. 

SQL> NOAUDIT ALL ON DEFAULT; 

Noaudit succeeded. 

SQL> NOAUDIT SESSION; 

Noaudit succeeded. 

SQL> noaudit select any table by X; 

SQL> noaudit all by X; 

,但它仍然审计所有DML操作(也可为x架构)

有没有审计策略,我看到下面的输出下面的语句

SELECT * FROM DBA_PRIV_AUDIT_OPTS UNION SELECT * FROM DBA_STMT_AUDIT_OPTS; 

null EXEMPT ACCESS POLICY By Access By Access 

所以我禁用它太

noaudit EXEMPT ACCESS POLICY; 

Oracle 11g第2版数据库在64位CentOS上运行。

请让我知道,这是11g数据库的默认行为。如果是的话,有没有什么办法可以限制它。

您的帮助真的很感谢。

谢谢!

回答

1

默认情况下,数据库将在停止或启动时进行记录,以及在用户使用SYSDBA或SYSOPER权限登录时进行记录。

Oracle Database 11g audits the following privileges by default: 
ALTER ANY PROCEDURE DROP ANY TABLE  CREATE ANY PROCEDURE 
ALTER ANY TABLE  DROP PROFILE   CREATE ANY LIBRARY 
ALTER DATABASE  DROP USER   CREATE ANY TABLE 
ALTER PROFILE  DROP ANY PROCEDURE CREATE EXTERNAL JOB 
ALTER SYSTEM  EXEMPT ACCESS POLICY CREATE PUBLIC DATABASE LINK 
ALTER USER   AUDIT SYSTEM   CREATE SESSION 
GRANT ANY PRIVILEGE GRANT ANY ROLE  CREATE USER 
GRANT ANY OBJECT PRIVILEGE    CREATE ANY JOB 

参考:https://docs.oracle.com/cd/E11882_01/server.112/e10575/tdpsg_auditing.htm#TDPSG50000

在你的情况下,如果细粒度的审计已打开,您可以检查。你可以检查下面的SQL。

SQL> SET lines 150 
SQL> SELECT object_schema,object_name,policy_name,policy_column,enabled,sel,ins,upd,del FROM dba_audit_policies; 

SQL> SELECT * FROM dba_audit_policy_columns;