【问题标题】:"audit create session by session" vs. "audit create session by access"?“按会话审核创建会话”与“按访问审核创建会话”?
【发布时间】:2011-06-23 23:33:55
【问题描述】:

当我通过以下方式为创建会话启用审核时:

audit create session by session;

然后我正在查询以下内容:

select * from dba_priv_audit_opts;

结果是:

USERNAME | PROXY_NAME | AUDIT_OPTION   | SUCCESS   | FAILURE  |
...............................................................
 -       | -          | CREATE SESSION | BY ACCESS | BY ACCESS|

但是,当我通过以下方式为 create session 启用审核时:

 audit create session by access;

然后我正在查询以下内容:

select * from dba_priv_audit_opts;

结果是一样的:

USERNAME | PROXY_NAME | AUDIT_OPTION   | SUCCESS   | FAILURE  |
...............................................................
 -       | -          | CREATE SESSION | BY ACCESS | BY ACCESS|

为什么?你有什么想法吗?

【问题讨论】:

    标签: oracle audit auditing audit-tables


    【解决方案1】:

    11gR2 及以上:

    BY SESSION 已被有效禁用,所有审核均在每次访问时完成。

    11gR1 及以下:

    BY SESSION and BY ACCESSBY SESSION and BY ACCESS的区别在于,当你指定BY SESSION时,当会话和审计的操作匹配时,Oracle会尝试将多个审计条目合并到一条记录中。

    它只适用于 DDL 以外的 SQL 语句,从上面的链接:

    如果您指定审计数据定义语言 (DDL) 语句的语句选项或系统权限,则无论您指定 BY SESSION 子句还是 BY ACCESS 子句,数据库都会自动按访问进行审计。

    由于CREATE SESSION 是一个 DDL 语句,Oracle 通过访问来审计该语句。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-07
      • 2015-04-26
      • 2022-08-06
      • 2016-01-24
      • 2018-09-10
      相关资源
      最近更新 更多