Oracle使用审计监控用户执行过的SQL语句
2023-09-14 08:59:49 时间
监控用户执行过的SQL语句,经常会使用查询V$SQL等视图,但这样查不出来多次执行相同的SQL语句,使用审计可以解决这个问题,这里采用精细审计某个用户的所有表。
用sys用户登记
创建下面的的过程
create or replace procedure auditUser(auditUser in varchar2,oper in int)
policyName varchar2(2000);
policynum varchar2(20);
cursor tables is select object_name from dba_objects where wner=auditUser and object_type=TABLE;
begin
for tableName in tables loop
begin
policynum := AUDIT1_;
policyName := concat(policynum,tableName.Object_Name);
if per=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 per=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;
查询建立的审计策略:
select * from DBA_AUDIT_POLICIES
入参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$
eric0435 系统架构师(高级工程师),ACOUG amp;CSOUG核心成员,Oracle Young Expert 。政府信息化技术顾问。湖南省政府采购评审专家,从2007年开始从事社会保险系统开发,应用架构设计,数据库管理工作。擅长Oracle数据库故障诊断,性能调优。
eric0435 系统架构师(高级工程师),ACOUG amp;CSOUG核心成员,Oracle Young Expert 。政府信息化技术顾问。湖南省政府采购评审专家,从2007年开始从事社会保险系统开发,应用架构设计,数据库管理工作。擅长Oracle数据库故障诊断,性能调优。
相关文章
- Oracle数据库使用出现错误-状态: 失败 ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist
- Oracle-查看oracle是否有表被锁
- 【C/C++学院】(24)Oracle数据库编程--管理oracle
- oracle sql生成日历表
- 《oracle每日一练》Oracle DBLink连接数过多的问题(Ora-02020)
- oracle: 分割字符串,或者查找字段里面的关键字(关键字1,关键字2,关键字3)
- ORACLE 移动数据文件 控制文件 重做日志文件
- Oracle Delete inner的方式,级联删除子表的数据方式。
- mysql、sqlserver、oracle分页,java分页统一接口实现
- oracle的start with connect by prior如何使用
- Oracle VM VirtualBox虚拟机导出教程
- Oracle 常用函数
- Oracle的SQL*Plus工具中如何清屏
- oracle exp 问题
- C# 连接Oracle数据库,免安装oracle客户端
- 连接ORACLE数据库,是不是必须要安装oracle客户端的运行时
- 修改Oracle 表空间名称 tablespace name
- Oracle 常用函数
- 解密 Oracle 数据库 SQL 执行历史:掌握多种实现方式,轻松实现 SQL 监控与性能优化
- ThinkPHP pdo连接Oracle的配置写法,提示报错
- 【ORACLE性能分析和优化思路学习笔记02:什么时候需要对性能进行干预】
- Oracle RMAN-增量备份
- 【大数据开发运维解决方案】Ogg For Bigdata 同步Oracle数据到KAFKA(包括初始化历史数据)
- 【Mysql异构实时同步Oracle】OGG12异构同步mysql到oracle(windows mysql实时同步数据到linux oracle)详细文档