`
liuguxing
  • 浏览: 94919 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Oracle使用审计监控用户执行过的SQL语句

阅读更多
监控用户执行过的SQL语句,经常会使用查询V$SQL等视图,但这样查不出来多次执行相同的SQL语句,使用审计可以解决这个问题,这里采用精细审计某个用户的所有表。
建立存储过程:

create or replace procedure auditUser(auditUser in varchar2,oper in int)
is
       policyName varchar2(2000);
       policynum varchar2(20);
       cursor tables is select object_name from dba_objects where owner=auditUser and object_type='TABLE';
begin
      
       for tableName in tables loop
           begin
           policynum := 'AUDIT1_';
           policyName := concat(policynum,tableName.Object_Name);
           if oper=1 then
           dbms_fga.add_policy(object_schema=>auditUser,object_name=>tableName.Object_Name,policy_name => policyName,
           statement_types=>'select,insert,update,delete',enable=>true);
           end if;
           if oper=0 then
           dbms_fga.drop_policy(object_schema=>auditUser,object_name=>tableName.Object_Name,policy_name => policyName);  
           end if;
           exception
              when others then
               NULL;
           end;    
       end loop;
       commit;
end;

入参auditUser 表示要审计的用户,oper=1表示审计用户的所有表,oper=0表示删除审计策略
审计完成之后最好删除建立的审计策略。
查询执行过的SQL语句:
select timestamp,db_user,os_user,sql_text from dba_fga_audit_trail order by timestamp desc
系统允许一段时间之后,数据量增加,查询会很慢,可删除表数据
truncate table fga_log$
查询建立的审计策略:
select * from DBA_AUDIT_POLICIES




分享到:
评论

相关推荐

    sqlmonitor监控oracle,mysql,db2正在执行的sql

    SQLMONITOR是一款强大的数据库监控工具,它专门设计用于实时监控Oracle、MySQL和DB2数据库中正在执行的SQL语句。这个工具对于数据库管理员和开发人员来说极其重要,因为它可以帮助他们诊断性能问题,优化查询,以及...

    多年积累的oracle监控语句,没有最全只有更全

    通过收集和分析执行时间过长的SQL语句,可以找出性能瓶颈,进行SQL优化,如改写SQL、创建新索引或调整表结构。 4. 等待事件监控:等待事件是分析数据库性能的重要指标,它们揭示了数据库在等待什么资源。比如,...

    oracle开启audit(审计)

    在Oracle数据库管理中,开启Audit(审计)是一项重要的安全措施,用于跟踪和记录用户活动、权限使用情况以及系统操作,以增强安全性并满足合规性要求。本文将深入探讨如何在Oracle环境中配置和使用Audit功能,包括...

    Oracle_审计表_sys.aud$_授权给用户Truncate权限.docx

    - **审计表记录统计**:可以使用以下SQL语句来查看审计表`SYS.AUD$`中的记录数量。 ```sql SELECT COUNT(0) FROM SYS.AUD$; ``` - **查看存储过程定义**:如果需要查看已创建的存储过程的具体内容,可以使用以下...

    Oracle相关SQL葵花宝典

    本书还特别关注性能优化,包括索引策略、查询优化器的工作原理、Explain Plan的使用,以及如何通过调整SQL语句和数据库参数来提升系统性能。此外,还会涉及数据库安全性,如用户权限管理、角色的创建与应用,以及...

    Oracle数据库审计功能的安全审计获取技术.doc

    - SQL语句:跟踪SQL的执行,包括成功和失败的操作。 - 角色活动:监视角色权限的使用。 - 敏感数据访问:针对特定数据进行审计。 四、审计数据存储 审计信息默认存储在数据库的SYSTEM表空间的AUDSYS schema下的AUD...

    安华金和:数据库审计产品常见缺陷之(二)长SQL语句漏审.docx

    在数据库安全领域,数据库审计产品起着至关重要的作用,它们负责监控和记录SQL语句,以确保数据的安全性和合规性。然而,"安华金和:数据库审计产品常见缺陷之(二)长SQL语句漏审"揭示了一个常见的问题,即许多数据库...

    查看登录oracle数据库用户记录.docx

    最后,需要使用以下 SQL 语句来查看登录 Oracle 数据库的用户记录: ```sql SELECT * FROM EVENT_LOG; ``` 这将显示用户的登录时间、用户名和登录 IP 地址等信息。 查看登录 Oracle 数据库用户记录的优点 使用...

    oracle性能优化以及跟踪、诊断、审计应用

    SQL查询优化是核心,通过分析慢查询日志,找出执行效率低下的SQL语句,然后使用EXPLAIN PLAN或SQL Tuning Advisor来分析执行计划,找出瓶颈并进行改写或创建合适的索引来提升性能。此外,表的设计也至关重要,例如,...

    Toad_for_Oracle_v11_SQL跟踪器功能指南

    - **实时反馈**:用户可以通过界面实时查看正在被监控的会话及其执行的SQL语句。 - **数据导出**:支持将监控结果保存到文件中,方便进一步分析或存档。 #### 3. 如何使用SQL Tracker ##### 启动SQL Tracker 1. **...

    Oracle+11g+SQL和PL+SQL从入门到精通

    通过《Oracle 11g SQL和PL/SQL从入门到精通》的学习,读者将能够熟练掌握Oracle数据库的日常操作,编写高效的SQL查询,并具备使用PL/SQL开发数据库应用程序的能力。这份教程对于希望在IT行业中从事数据库管理、开发...

    oracle 审计功能说明

    Oracle审计功能是数据库管理系统中一个重要的安全性特性,用于跟踪并记录数据库用户执行的各种操作,以实现数据保护和合规性需求。在Oracle 10g版本中,审计功能可以帮助管理员监控和记录潜在的可疑活动,例如非授权...

    Oracle数据库审计

    细粒度审计允许管理员指定更为精确的审计条件,例如监控特定的SQL语句或数据操作。 - **实验步骤**: - 创建一张表,用于存储需要监控的数据。 - 创建一个存储过程,作为细粒度审计的触发点。 - 定义审计策略,...

    ORACLE审计小结

    ### ORACLE审计小结 #### 一、Oracle审计概述 Oracle数据库提供了强大的审计功能,用于监控用户对数据库的操作。审计信息可以保存到操作系统文件中,默认路径是 `$ORACLE_BASE/admin/$ORACLE_SID/adump/`,也可以...

    oracle安全审计之登录登出、ddl操作记录触发器

    这个触发器会在每次执行DDL语句后记录操作的时间、执行用户和执行的DDL语句。 通过使用这些触发器,数据库管理员可以创建一个全面的审计日志,以满足法规遵从性和内部审计需求。同时,由于这些触发器是在操作后触发...

    Oracle审计功能.docx

    Oracle数据库的审计功能是数据库管理系统中用于监控和记录用户活动的重要工具,它可以帮助管理员追踪数据库的使用情况,确保数据安全和合规性。Oracle审计分为两种主要类型:标准审计和细粒度审计。 一、审计分类 ...

    p6spy-sql监控

    1. **SQL日志记录**:P6Spy可以捕获并记录所有执行的SQL语句,包括原始的SQL、执行时间、返回结果等,这对于追踪数据库操作和性能分析非常有用。 2. **日志格式自定义**:P6Spy允许用户通过配置文件定制日志输出...

    oracle数据库审计

    Oracle数据库审计功能是数据库安全机制的重要组成部分之一,它主要用于监控用户对数据库的操作行为,并记录这些操作以便后续进行审查和分析。通过启用审计功能,管理员可以追踪数据库中的敏感操作,这对于确保数据...

    利用Oracle审计功能记录数据库操作.doc

    Oracle审计功能是数据库管理系统中的一种安全机制,它允许系统管理员监控和记录用户的数据库操作,以确保数据的安全性和合规性。审计功能可以详细追踪并记录特定的数据库活动,这对于故障排查、安全审计和合规性检查...

    Oracle精妙的sql语句

    `DATEDIFF`函数计算两个日期之间的差异,这里是按分钟计算,这对于实时监控系统性能或用户行为分析非常有用。 ### 6. 删除非匹配记录:`DELETE FROM info WHERE NOT EXISTS (SELECT * FROM info_bz WHERE info.inf_...

Global site tag (gtag.js) - Google Analytics