SQL> select username,action_name,obj_name from dba_audit_trail;USERNAME             ACTION_NAME          OBJ_NAME
-------------------- -------------------- ------------------------------
SCOTT                SESSION REC          DUAL
SCOTT                SESSION REC          SQLPLUS_PRODUCT_PROFILE
SCOTT                SESSION REC          PRODUCT_PRIVS
SCOTT                SESSION REC          DEPT
SCOTT                SESSION REC          EMP
SCOTT                SESSION REC          T1
SCOTT                SESSION REC          T2
V485A                SESSION REC          DUAL
V485A                SESSION REC          SQLPLUS_PRODUCT_PROFILE
V485A                SESSION REC          PRODUCT_PRIVS
V485A                SESSION REC          EMPUSERNAME             ACTION_NAME          OBJ_NAME
-------------------- -------------------- ------------------------------
V485A                SESSION REC          DEPT
SCOTT                SESSION REC          DEPT
SYSTEM               SESSION REC          DEPT
SCOTT                SESSION REC          DEPT
SCOTT                SESSION REC          DEPT
SCOTT                SESSION REC          DEPT
SCOTT                SESSION REC          DEPT
SCOTT                SESSION REC          DEPT
V485A                SESSION REC          DEPT
SCOTT                SESSION REC          DEPT
SCOTT                SESSION REC          DEPTUSERNAME             ACTION_NAME          OBJ_NAME
-------------------- -------------------- ------------------------------
SCOTT                SESSION REC          DEPT
SCOTT                SESSION REC          DEPT
SCOTT                SESSION REC          DEPT
SCOTT                SESSION REC          DEPT
SCOTT                SESSION REC          DEPT
SCOTT                SESSION REC          DEPT
SCOTT                SESSION REC          DEPT
SCOTT                SESSION REC          DEPT
SCOTT                SESSION REC          DEPT
SCOTT                SESSION REC          DEPT
SYSTEM               SESSION REC          DEPTUSERNAME             ACTION_NAME          OBJ_NAME
-------------------- -------------------- ------------------------------
TEST                 SESSION REC          DEPT
SYSTEM               SESSION REC          DEPT
SYSTEM               SESSION REC          DEPT
TEST                 SESSION REC          DEPT
SCOTT                SESSION REC          DEPT38 rows selected.
以前可能在学审计的时候做过一些实验吧,现在我查询dba_audit_trail的时候内容如上所示。
现在我想要取消对这些用户的这些审计,应该怎么操作呀?现在我连这些审计到底审计的是什么内容都不知道……

解决方案 »

  1.   


    一 审计功能的参数控制
    audit_trail 参数的值可以设置为以下几种1. NONE:不开启
    2. DB:开启审计功能
    3. OS:审计记录写入一个操作系统文件。
    4. TRUE:与参数DB一样
    5. FALSE:不开启审计功能。
    这个参数是写道spfile里面的,需要重启数据库二 查看是否审计功能是否启动
    SQL> show parameter audit
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    audit_file_dest                      string      /u01/app/oracle/admin/ORCL/adump
    audit_sys_operations                 boolean     FALSE
    audit_syslog_level                   string
    audit_trail                          string      NONE三 开启审计
    SQL> conn /as sysdba
    SQL> show parameter audit
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    audit_file_dest                      string      /u01/app/oracle/admin/ORCL/adump
    audit_sys_operations                 boolean     FALSE
    audit_syslog_level                   string
    audit_trail                          string      NONESQL> alter system set audit_sys_operations=TRUE scope=spfile;    --审计管理用户(以sysdba/sysoper角色登陆)
    SQL> alter system set audit_trail=db,extended scope=spfile;重启实例 
    SQL> show parameter audit
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    audit_file_dest                      string      /u01/app/oracle/admin/ORCL/adump
    audit_sys_operations                 boolean     TRUE
    audit_syslog_level                   string
    audit_trail                          string      DB, EXTENDED      
    (完成)四 关闭审计
    SQL> conn /as sysdba
    SQL> show parameter audit
    SQL> alter system set audit_trail=none;
    重启实例五 检查各个节点的audit_trail 是否都是none
      

  2.   

    SQL> show parameter auditNAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    audit_file_dest                      string      D:\ORACLE\ADMIN\ORCL\ADUMP
    audit_sys_operations                 boolean     FALSE
    audit_trail                          string      NONE
    SQL>
    audit_trail我已经改掉了哦……会不会是这样
    上面从dba_audit_trail里查询出来的那些内容只是以前的记录,事实上我现在已经取消那些审计了。
      

  3.   

    Oracle审计功能  
    审计是对选定的用户动作的监控和记录,通常用于:审查可疑的活动。例如:数据被非授权用户所删除,此时安全管理员可决定对该 数据库的所有连接进行审计,以及对数据库的所有表的成功地或不成功地删除进行审计。监视和收集关于指定数据库活动的数据。例如:DBA可收集哪些被修改、执行了多少次逻辑的I/O等统计数据。ORACLE支持三种审计类型: 语句审计,对某种类型的SQL语句审计,不指定结构或对象。
     特权审计,对执行相应动作的系统特权的使用审计。
     对象审计,对一特殊模式对象上的指定语句的审计。ORACLE所允许的审计选择限于下列方面:审计语句的成功执行、不成功执行,或者其两者。
    对每一用户会话审计语句执行一次或者对语句每次执行审计一次。
    对全部用户或指定用户的活动的审计。当数据库的审计是使能的,在语句执行阶段产生审计记录。审计记录包含有审计的操作、用户执行的操作、操作的日期和时间等信息。审计记录可存在数据字典表(称为审计记录)或操作系统审计记录中。数据库审计记录是在SYS模式的AUD$表中。
     
     
      

  4.   


    是的,你已经取消audit trail。不过是老的审计记录而已
      

  5.   

    SQL> select * from v$fixed_view_definition where view_name='DBA_AUDIT_TRAIL';no rows selectedSQL> desc dba_objects;
     Name                                      Null?    Type
     ----------------------------------------- -------- --------------------------- OWNER                                              VARCHAR2(30)
     OBJECT_NAME                                        VARCHAR2(128)
     SUBOBJECT_NAME                                     VARCHAR2(30)
     OBJECT_ID                                          NUMBER
     DATA_OBJECT_ID                                     NUMBER
     OBJECT_TYPE                                        VARCHAR2(19)
     CREATED                                            DATE
     LAST_DDL_TIME                                      DATE
     TIMESTAMP                                          VARCHAR2(19)
     STATUS                                             VARCHAR2(7)
     TEMPORARY                                          VARCHAR2(1)
     GENERATED                                          VARCHAR2(1)
     SECONDARY                                          VARCHAR2(1)SQL> select object_type from dba_objects where object_name='DBA_AUDIT_TRAIL';OBJECT_TYPE
    -------------------
    VIEW
    SYNONYMSQL> select table_name from all_synonyms where synonym_name='DBA_AUDIT_TRAIL';TABLE_NAME
    ------------------------------
    DBA_AUDIT_TRAILSQL>既然DBA_AUDIT_TRAIL的TPYE是VIEW,我现在想看看DBA_AUDIT_TRAIL的基表是什么,可是从v$fixed_view_definition中查不到相关记录。
    是不是要从其他地方查?抑或是别的原因
      

  6.   

    呵呵呵,忘记我以前给发的帖了用dbms_metadata.get_ddl()呀
    SQL> set long 10000;
    SQL> select dbms_metadata.get_ddl('VIEW', 'DBA_AUDIT_TRAIL', 'SYS') from dual;或者直接用
    SQL> select REFERENCED_NAME from ALL_DEPENDENCIES where NAME='DBA_AUDIT_TRAIL';REFERENCED_NAME
    --------------------------------------------------------------------------------
    AUD$
    SYSTEM_PRIVILEGE_MAP
    STMT_AUDIT_OPTION_MAP
    AUDIT_ACTIONS
      

  7.   

    get_ddl的介绍http://www.inthirties.com/thread-111-2-1.html