我们已将audit_trail设置为DB,extended.I我试图限制特定用户的审核。但是默认情况下,所有用户(对象)DML操作都是审计。
我尝试使用所有这些语句停止审核:
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数据库的默认行为。如果是,有什么办法可以限制它。
非常感谢您的帮助。
谢谢!
答案 0 :(得分: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;