1、查看审计功能是否开启(本机已经开启,如果audit_sys_operations值为FALSE就是没开审计)

  1. SQL> CONN /AS SYSDBA
  2. SQL> show parameter audit
  3. NAME                                 TYPE        VALUE
  4. ------------------------------------ ----------- ------------------------------
  5. audit_file_dest                      string      F:\APP\ADMINISTRATOR\ADMIN\ORCL\ADUMP
  6. audit_sys_operations                 boolean     TRUE
  7. audit_trail                          string      DB_EXTENDED

如果没有使用下面语句更改:

  1. SQL> alter system set audit_trail=db_extended scope=spfile;

注意audit_trail要为DB_EXTENDED才记录执行的具体语句...

2、重启实例

  1. SQL> shutdown immediate;
  2. SQL> startup

3、针对某表的DML审计(错误的也记录)

  1. SQL> AUDIT UPDATE,DELETE,INSERT ON T_TEST by access;

4、对该表做各种DML操作

用scott用户登录

  1. SQL> conn scott/123
  2. SQL> create table t_test as select * from emp;
  3. SQL> update t_test set emp1='111';
  4. *
  5. 第 1 行出现错误:
  6. ORA-00904: "EMP1": 标识符无效
  7. SQL> delete from t_test where rownum=1;
  8. 已删除 1 行。
  9. SQL> commit;

5、查询审计信息

  1. SQL> select EXTENDED_TIMESTAMP,SESSION_ID,SQL_TEXT
  2. SQL> from DBA_COMMON_AUDIT_TRAIL ORDER BY EXTENDED_TIMESTAMP DESC;

或者

  1. SQL> select EXTENDED_TIMESTAMP,SESSION_ID,SQL_TEXT from DBA_COMMON_AUDIT_TRAIL
  2. SQL> where OBJECT_NAME='T_TEST'
  3. SQL> and STATEMENT_TYPE in ('INSERT','UPDATE','DELETE');

---结果:

  1. SQL> /
  2. EXTENDED_TIMESTAMP                       SESSION_ID SQL_TEXT
  3. ---------------------------------------- ---------- ----------------------------
  4. ------------
  5. 14-8月 -12 04.14.45.187000 下午 +08:00       190125 update t_test set emp1='111'
  6. 14-8月 -12 04.26.02.968000 下午 +08:00       190125 delete from t_test where rownum=1

注意:审计一般只用于对普通用户操作,一般不审计SYS用户

对于windows系统,对sys用户的审计信息并不存在AUDIT_FILE_DEST参数指定的目录里,而是在windows的事件管理器中。

---------------------------------------------------------------------------------------------------------------------

另外通过细粒度审计FGA也可以实现上述审计:

用法创建审计策略:

  1. Syntax
  2. DBMS_FGA.ADD_POLICY(
  3. object_schema   VARCHAR2,
  4. object_name     VARCHAR2,
  5. policy_name     VARCHAR2,
  6. audit_condition VARCHAR2,
  7. audit_column    VARCHAR2,
  8. handler_schema  VARCHAR2,
  9. handler_module  VARCHAR2,
  10. enable          BOOLEAN  );

删除审计策略:

  1. DBMS_FGA.DROP_POLICY(
  2. object_schema  VARCHAR2,
  3. object_name    VARCHAR2,
  4. policy_name    VARCHAR2 );

启用审计策略:

  1. DBMS_FGA.ENABLE_POLICY(
  2. object_schema  VARCHAR2 := NULL,
  3. object_name    VARCHAR2,
  4. policy_name    VARCHAR2,
  5. enable         BOOLEAN := TRUE);

禁用审计策略:

  1. DBMS_FGA.DISABLE_POLICY(
  2. object_schema  VARCHAR2,
  3. object_name    VARCHAR2,
  4. policy_name    VARCHAR2 );

首先,创建审计策略

  1. SQL> conn /as sysdba
  2. 已连接。
  3. SQL> begin
  4. 2  dbms_fga.add_policy
  5. 3  (
  6. 4  object_schema=>'SCOTT',object_name=>'T_TEST',
  7. 5  policy_name=>'Test_audit'
  8. 6  );
  9. 7  end;
  10. 8  /
  11. PL/SQL 过程已成功完成。
  12. SQL> conn scott/tigger

进行查询

  1. SQL> select ename from t_test;

使用SYS登录进行查询,

  1. SQL> select statement_type,SQL_TEXT from dba_fga_audit_trail;
  2. STATEME SQL_TEXT
  3. ------- ----------------------------------------
  4. SELECT  select ename from t_test

------------

注意: 经过测试发现审计到的SQL语句存在着大小写2种格式。

直接执行的SQL语句,是什么样的语句,审计到的也就是什么样。

在存储里执行的语句,审计到的全是大写的语句。

存储里动态执行的语句,是什么样的语句,审计到的也就是什么样的语句。

  1. BEGIN
  2. EXECUTE immediate 'delete FrOm emp WHERE ROWNUM=1';
  3. END;

审计到的就是

  1. DELETE delete FrOm emp WHERE ROWNUM=1;

原文地址:http://blog.csdn.net/edcvf3/article/details/7865688

oracle开启audit(审计)的更多相关文章

  1. ORACLE AUDIT 审计

    转自 http://blog.csdn.net/dnnyyq/article/details/4525980 1.什么是审计 审计(Audit)用于监视用户所执行的数据库操作,并且Oracle会将审计 ...

  2. linux audit审计(5)--audit规则配置

    audit可以配置规则,这个规则主要是给内核模块下发的,内核audit模块会按照这个规则获取审计信息,发送给auditd来记录日志. 规则类型可分为: 1.控制规则:控制audit系统的规则: 2.文 ...

  3. 关于Oracle开启自动收集统计信息的SPA测试

    主题:关于Oracle开启自动收集统计信息的SPA测试 环境:Oracle RAC 11.2.0.4(Primary + Standby) 需求:生产Primary库由于历史原因关闭了自动统计信息的收 ...

  4. 行云管家 V4.7产品新特性-国际化版本、支持Oracle的数据库审计、主机密码自动修改策略 发布日期:2018-11-22

    行云管家在线体验: 行云管家[官网]-领先的云计算管理平台-云安全,堡垒机,自动化运维​ 行云管家新手有礼活动: 行云管家新手有礼,新用户1元即可体验专业版-优惠券​ 发布日期:2018-11-22 ...

  5. MySQL5.7 (审计)安装audit审计插件

    转载自:https://blog.51cto.com/13941177/2173086 注意: 安装插件的方式优缺点: 缺点:日志信息比较大,对性能影响大. 优点:对每一时刻每一用户的操作都有记录. ...

  6. linux audit审计(8)--开启audit对系统性能的影响

    我们使用测试性能的工具,unixbench,它有一下几项测试项目: Execl Throughput 每秒钟执行 execl 系统调用的次数 Pipe Throughput 一秒钟内一个进程向一个管道 ...

  7. Oracle Audit 审计功能的认识与使用

    1.Audit的概念 Audit是监视和记录用户对数据库进行的操作,以供DBA进行问题分析.利用Audit功能,可以完成以下任务: 监视和收集特定数据库活动的数据.例如管理员能够审计哪些表被更新,在某 ...

  8. 关于MySQL AUDIT(审计)那点事

    2017年06月02日MySQL社区版本最新版为MySQL_5.7.18,但是该版本不带AUDIT功能(MySQL Enterprise Edition自带AUDIT功能),因此需要加载plugin( ...

  9. oracle表ddl审计

    ============= 表ddl 审计============== 1.table信息 SQL> select * from test; ID CUST_CREDIT_LIMIT TIME ...

随机推荐

  1. ThinkPad指纹验证在win7无法使用的解决方法

    原先本本装window7 64bit 专业版(正版),但用着用着觉得 很不爽 ,反应特慢.所以决定对本本来次大换血,换成windows server 2008 R2.最后在装指纹验证的时候,使用超级管 ...

  2. 继承虚函数浅谈 c++ 类,继承类,有虚函数的类,虚拟继承的类的内存布局,使用vs2010打印布局结果。

    本文笔者在青岛逛街的时候突然想到的...最近就有想写几篇关于继承虚函数的笔记,所以回家到之后就奋笔疾书的写出来发布了 应用sizeof函数求类巨细这个问题在很多面试,口试题中很轻易考,而涉及到类的时候 ...

  3. Node.js简单介绍

    Node.js是一个能够让javascript执行在server上的平台,既是语言又是平台. Node.js是一个实时web应用程序的平台. Node.js有强大的包管理器npm,故node相关软件安 ...

  4. 发现一个挺好用的adb logcat工具

    其实是个Notepad++插件 直接贴地址: [http://sourceforge.net/projects/androidlogger/] ============================ ...

  5. C#中如何计算时间差?

    C#中怎么计算两时间相差多少.计算2个时间之间的差,可以计算到时分秒! <1> label1.Text = "2004-1-1 15:36:05"; label2.Te ...

  6. Spring MVC Junit4 单元測试 JunitTest

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSmVyb21lX3M=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA ...

  7. ADO.NET中使用事务进行数据库读写的办法

    使用事务一般是进行数据写入,数据读取一般是不需要这货的 第一种办法: 使用存储过程: 顾名思义,在存储过程中定义好变量,定义好事务开始,结束,错误回滚然后在ADO.NET中正常调用存储过程的方法就行 ...

  8. Xtrabackup每周增量备份脚本程序

    Xtrabackup每周增量备份脚本程序(含附件)   程序描述 本程序是一个对percona xtrabackup使用的脚本,它完成了MySQL每周的备份. 程序结构 此程序包含了4个目录(bin. ...

  9. BI之ETL学习(一)kettle

    最近开始折腾数据,起源是多业务数据源需要转换到数据分析平台.这个过程需要跨机器,跨库.同时还需要将业务数据表的内容进行转换,合并,清洗等等操作. 经过多方选型,最终决定使用kettle来作为数据抽取处 ...

  10. Shell脚本调试工具set

    可以使用set命令的x选项,显示所有命令执行及变量值的变化过程等. 具体使用方法:首先使用set -x开启调试模式,最后使用命令set +x关闭调试模式. 一个简单示例演示如何使用set命令进行脚本调 ...