oracle开启audit(审计)
1、查看审计功能是否开启(本机已经开启,如果audit_sys_operations值为FALSE就是没开审计)
- SQL> CONN /AS SYSDBA
- SQL> show parameter audit
- NAME TYPE VALUE
- ------------------------------------ ----------- ------------------------------
- audit_file_dest string F:\APP\ADMINISTRATOR\ADMIN\ORCL\ADUMP
- audit_sys_operations boolean TRUE
- audit_trail string DB_EXTENDED
如果没有使用下面语句更改:
- SQL> alter system set audit_trail=db_extended scope=spfile;
注意audit_trail要为DB_EXTENDED才记录执行的具体语句...
2、重启实例
- SQL> shutdown immediate;
- SQL> startup
3、针对某表的DML审计(错误的也记录)
- SQL> AUDIT UPDATE,DELETE,INSERT ON T_TEST by access;
4、对该表做各种DML操作
用scott用户登录
- SQL> conn scott/123
- SQL> create table t_test as select * from emp;
- SQL> update t_test set emp1='111';
- *
- 第 1 行出现错误:
- ORA-00904: "EMP1": 标识符无效
- SQL> delete from t_test where rownum=1;
- 已删除 1 行。
- SQL> commit;
5、查询审计信息
- SQL> select EXTENDED_TIMESTAMP,SESSION_ID,SQL_TEXT
- SQL> from DBA_COMMON_AUDIT_TRAIL ORDER BY EXTENDED_TIMESTAMP DESC;
或者
- SQL> select EXTENDED_TIMESTAMP,SESSION_ID,SQL_TEXT from DBA_COMMON_AUDIT_TRAIL
- SQL> where OBJECT_NAME='T_TEST'
- SQL> and STATEMENT_TYPE in ('INSERT','UPDATE','DELETE');
---结果:
- SQL> /
- EXTENDED_TIMESTAMP SESSION_ID SQL_TEXT
- ---------------------------------------- ---------- ----------------------------
- ------------
- 14-8月 -12 04.14.45.187000 下午 +08:00 190125 update t_test set emp1='111'
- 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也可以实现上述审计:
用法创建审计策略:
- Syntax
- DBMS_FGA.ADD_POLICY(
- object_schema VARCHAR2,
- object_name VARCHAR2,
- policy_name VARCHAR2,
- audit_condition VARCHAR2,
- audit_column VARCHAR2,
- handler_schema VARCHAR2,
- handler_module VARCHAR2,
- enable BOOLEAN );
删除审计策略:
- DBMS_FGA.DROP_POLICY(
- object_schema VARCHAR2,
- object_name VARCHAR2,
- policy_name VARCHAR2 );
启用审计策略:
- DBMS_FGA.ENABLE_POLICY(
- object_schema VARCHAR2 := NULL,
- object_name VARCHAR2,
- policy_name VARCHAR2,
- enable BOOLEAN := TRUE);
禁用审计策略:
- DBMS_FGA.DISABLE_POLICY(
- object_schema VARCHAR2,
- object_name VARCHAR2,
- policy_name VARCHAR2 );
首先,创建审计策略
- SQL> conn /as sysdba
- 已连接。
- SQL> begin
- 2 dbms_fga.add_policy
- 3 (
- 4 object_schema=>'SCOTT',object_name=>'T_TEST',
- 5 policy_name=>'Test_audit'
- 6 );
- 7 end;
- 8 /
- PL/SQL 过程已成功完成。
- SQL> conn scott/tigger
进行查询
- SQL> select ename from t_test;
使用SYS登录进行查询,
- SQL> select statement_type,SQL_TEXT from dba_fga_audit_trail;
- STATEME SQL_TEXT
- ------- ----------------------------------------
- SELECT select ename from t_test
------------
注意: 经过测试发现审计到的SQL语句存在着大小写2种格式。
直接执行的SQL语句,是什么样的语句,审计到的也就是什么样。
在存储里执行的语句,审计到的全是大写的语句。
存储里动态执行的语句,是什么样的语句,审计到的也就是什么样的语句。
- BEGIN
- EXECUTE immediate 'delete FrOm emp WHERE ROWNUM=1';
- END;
审计到的就是
- DELETE delete FrOm emp WHERE ROWNUM=1;
原文地址:http://blog.csdn.net/edcvf3/article/details/7865688
oracle开启audit(审计)的更多相关文章
- ORACLE AUDIT 审计
转自 http://blog.csdn.net/dnnyyq/article/details/4525980 1.什么是审计 审计(Audit)用于监视用户所执行的数据库操作,并且Oracle会将审计 ...
- linux audit审计(5)--audit规则配置
audit可以配置规则,这个规则主要是给内核模块下发的,内核audit模块会按照这个规则获取审计信息,发送给auditd来记录日志. 规则类型可分为: 1.控制规则:控制audit系统的规则: 2.文 ...
- 关于Oracle开启自动收集统计信息的SPA测试
主题:关于Oracle开启自动收集统计信息的SPA测试 环境:Oracle RAC 11.2.0.4(Primary + Standby) 需求:生产Primary库由于历史原因关闭了自动统计信息的收 ...
- 行云管家 V4.7产品新特性-国际化版本、支持Oracle的数据库审计、主机密码自动修改策略 发布日期:2018-11-22
行云管家在线体验: 行云管家[官网]-领先的云计算管理平台-云安全,堡垒机,自动化运维 行云管家新手有礼活动: 行云管家新手有礼,新用户1元即可体验专业版-优惠券 发布日期:2018-11-22 ...
- MySQL5.7 (审计)安装audit审计插件
转载自:https://blog.51cto.com/13941177/2173086 注意: 安装插件的方式优缺点: 缺点:日志信息比较大,对性能影响大. 优点:对每一时刻每一用户的操作都有记录. ...
- linux audit审计(8)--开启audit对系统性能的影响
我们使用测试性能的工具,unixbench,它有一下几项测试项目: Execl Throughput 每秒钟执行 execl 系统调用的次数 Pipe Throughput 一秒钟内一个进程向一个管道 ...
- Oracle Audit 审计功能的认识与使用
1.Audit的概念 Audit是监视和记录用户对数据库进行的操作,以供DBA进行问题分析.利用Audit功能,可以完成以下任务: 监视和收集特定数据库活动的数据.例如管理员能够审计哪些表被更新,在某 ...
- 关于MySQL AUDIT(审计)那点事
2017年06月02日MySQL社区版本最新版为MySQL_5.7.18,但是该版本不带AUDIT功能(MySQL Enterprise Edition自带AUDIT功能),因此需要加载plugin( ...
- oracle表ddl审计
============= 表ddl 审计============== 1.table信息 SQL> select * from test; ID CUST_CREDIT_LIMIT TIME ...
随机推荐
- HTML5画布Canvas
一.Canvas概念介绍 1.概念 Canvas : 画布 2.作用 : HTML5 Canvas 元素用于图形的绘制, 通过脚本(通常是JavaScript)来完成.它本身只是个图形容器,必须使用脚 ...
- C#不安全代码
当一个代码块使用 unsafe 修饰符标记时,C# 允许在函数中使用指针变量.不安全代码或非托管代码是指使用了指针变量的代码块. 下面的实例说明了不安全代码中的指针的定义与调用: static uns ...
- python中List操作
传送门 官方文件地址 list.append(x): 将x加入列表尾部,等价于a[len(a):] = [x] 例: >>> list1=[1,2,3,4] >>> ...
- CDOJ 1251 谕神的密码 贪心
谕神的密码 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/1251 Descr ...
- <Android>关于EditText中setInputType和setSingleLine的冲突
近期自己开发了一个带有删除button的EditText,一方面须要设置为SingleLine,还有一方面又须要设置输入类型,起先在xml文件里设置了android:inputType类型,在自己定义 ...
- 最简单的视频编码器:编译(libx264,libx265,libvpx)
===================================================== 最简单的视频编码器系列文章列表: 最简单的视频编码器:编译 最简单的视频编码器:基于libx ...
- LINUX 内核导论
http://blog.csdn.net/ljy1988123/article/category/1490573/2
- 20种常用的DOS命令小结
先介绍一下通配符的概念. 通配符*和? *表示一个字符串 ?只代表一个字符 注意通配符只能通配文件名或扩展名,不能全都表示.例如我们要查找以字母y开头的所有文件,可以输入以下命令:dir y*.*:如 ...
- 【完结】利用 Composer 完善自己的 PHP 框架(三)——Redis 缓存
本教程示例代码见 https://github.com/johnlui/My-First-Framework-based-on-Composer 回顾 上两篇文章中我们完成了 View 视图加载类和 ...
- Debian7.7 wheezy 中源码安装emacs24
我用的是ARM版本,竟然没有最新的emacs 24,很多第三方插件不能用,果断重新编译个1.追加软件源 deb-src http://ftp.cn.debian.org/debian/ wheezy ...