首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >针对整个架构的Oracle细粒度审核

针对整个架构的Oracle细粒度审核
EN

Stack Overflow用户
提问于 2012-11-07 02:29:24
回答 1查看 3.8K关注 0票数 1

我需要记录在我拥有的Oracle数据库(运行Oracle 11g企业版的非生产环境)中运行的所有sql查询。我想如何做到这一点,是使用Oracle的细粒度审计,因为它记录准确的查询,并在数据库中执行,这对我更有用。但是,从文档(http://docs.oracle.com/cd/B19306_01/network.102/b14266/cfgaudit.htm#i1011783)中可以看出,您需要指定一个表名称,而不使用默认值。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-07 03:13:45

禁用审核:

代码语言:javascript
复制
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;
/

启用对整个架构的审核:

代码语言:javascript
复制
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;
/
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13257086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档