【问题标题】:Oracle Fine Grained Auditing for entire schema针对整个架构的 Oracle 细粒度审计
【发布时间】:2012-10-26 18:19:06
【问题描述】:

我需要记录在我拥有的 Oracle 数据库中运行的所有 sql 查询(非生产,运行 Oracle 11g 企业版)。我想这样做是使用 Oracle 的细粒度审计,因为它记录了确切的查询并在数据库中执行此操作,这对我来说更有用。但是,从文档(http://docs.oracle.com/cd/B19306_01/network.102/b14266/cfgaudit.htm#i1011783)看来,您需要指定一个表名,没有默认值。

是否可以使用 Oracle 细粒度审计来审计架构上的所有查询?

【问题讨论】:

    标签: oracle audit-trail


    【解决方案1】:

    禁用审核:

    begin
        for c1 in (select * from dba_audit_policies) loop
            dbms_fga.drop_policy (
                object_schema => c1.object_schema,
                object_name   => c1.object_name,
                policy_name   => c1.policy_name);
        end loop;
    end;
    /
    

    为整个架构启用审核:

    begin
        for c1 in (select * from all_tables where owner = '&schema') loop
            dbms_fga.add_policy (
                object_schema   => c1.owner,
                object_name     => c1.table_name,
                statement_types => 'SELECT,UPDATE,DELETE,INSERT',
                policy_name     => c1.table_name
            );
        end loop;
    end;
    /
    

    【讨论】:

      猜你喜欢
      • 2016-06-02
      • 2016-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-23
      • 2014-02-10
      • 1970-01-01
      相关资源
      最近更新 更多