转-利用Oracle审计功能来监测试环境的变化
http://blog.csdn.net/luowangjun/article/details/5627102
利用Oracle审计功能来监测试环境的变化
做过测试的人都应该会碰到这样的情况:测试发现的bug在开发机器上没有出现,显然这是环境差异的原因。相当多情况下,因为测试使用的数据库结构和开发使用的数据库结构不一致造成的。尤其是一些公司在提交测试版本的时候,注重应用程序的版本提交,往往忽略提交和程序匹配的数据库结构,在这种情况下,如果程序和数据库结构不匹配的话,系统稳定就怪了,就像windows没有对应的注册表一样,能稳定吗?
回到正题,如果采用oracle作为底层数据库的系统,如何避免这种情况呢?其实,Oracle的审计功能除了用于安全性检查之外,放到测试领域则有一个好处,就是监控测试数据库的变化情况。Oracle审计内容很丰富:包括语句审计、对象审计、细粒度审计(FGA),监控数据库环境的变化,只要用到语句审计和对象审计即可。
首先:需要检查数据库服务器是否开启了审计,采用show parameter aud命令。 Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> show parameter aud
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest string F:/APP/ADMINISTRATOR/ADMIN/ORC L/ADUMP
audit_sys_operations boolean FALSE
audit_trail string FALSE
如果audit_trail = FALSE或者none,则表明没有开启审计功能,需要开启审计功能,为了建立数据库环境修改的详细记录,需要将audit_trail=db_extended,这样可以在审计视图(dba_audit_trail)看到详细库结构修改(执行了什么样的SQL语句):
SQL> Alter system set audit_trail=db_extended scope=spfile ;
SQL> shutdown immediate //因为audit_trail是静态参数,所以需要重启oracle实例
SQL> startup open 然后设定要审计的用户和表,如果要审计某个用户修改数据库情况,输入如下语句:
SQL> audit all by test whenever successful ;//意思是只要test用户改动数据库成功的地方,都可以审计到。
上面的all参数是代表审计大部分对象(表、视图、序列)增加、删除,无法对表结构的修改,所以还需要显示的指定表结构的修改。
SQL> audit alter table by test by access whenever successful; 设定完毕,执行测试,如下:
SQL> create table test_table (id number ,name varchar2(20)) ;
表已创建。
SQL> alter table test_table add(shool varchar2(20)) ;
表已更改。
SQL> alter table test_table add(school varchar2(20)) ;
表已更改。
SQL> drop table test_table ;
表已删除。
然后查询oracle审计视图(dba_audit_trail),可以看到数据库结构的详细变化情况,包括表的增加、修改、删除、什么时候结构修改、由那台机器修改都很清楚,如下所示: 如果测试系统中,如果有一些很重要的表(如:数据字典表、权限表、基础配置表等)的修改,会严重影响运行,这些测试环境的变化需要详细跟踪,则需要对重要的表对应启动记录级的审计,
SQL> audit insert,update ,delete on test.test_table by access whenever successful ; 对重要表进行记录级的修改,如下所示: 对记录修改完毕后,这些修改变化可以在审计视图(dba_audit_trail)一一找到,如下所示:
转-利用Oracle审计功能来监测试环境的变化的更多相关文章
- [转]ORACLE 审计功能
审计是对选定的用户动作的监控和记录,通常用于: u 审查可疑的活动.例如:数据被非授权用户所删除,此时安全管理员可决定对该 数据库的所有连接进行审计,以及对数据库的所有表的成功地或不 ...
- oracle 审计功能
Oracle 11g推出了审计功能,但这个功能会针对很多操作都产生审计文件.aud,日积月累下来这些文件也很多,默认情况下,系统为了节省资源,减少I/0操作,其审计功能是关闭的 一.审计功能关闭 1. ...
- 利用ORACLE ADV 功能完成SQL TUNING 调优(顾问培训) “让DBA失业还是解脱?”
oracle自动判断SQL性能功能. 11G的ADV,建议.SNAPSHOT,数据集合, 存储在oracle sys $_开头的表(10几条). 创建SNAPSHOT时选择天数, 默认14天. sq ...
- Oracle 审计文件
Oracle审计功能: Oracle11g推出了审计功能,但这个功能会针对很多操作都产生审计文件.aud,日积月累下来这些文件也很多,默认情况下,系统为了节省资源,减少I/0操作,其审计功能是关闭的 ...
- Oracle Audit 审计功能的认识与使用
1.Audit的概念 Audit是监视和记录用户对数据库进行的操作,以供DBA进行问题分析.利用Audit功能,可以完成以下任务: 监视和收集特定数据库活动的数据.例如管理员能够审计哪些表被更新,在某 ...
- oracle修改审计功能
oracle修改审计功能 如果没有关闭审计功能,审计日志文件默认保存在位置为$ORACLE_BASE/admin/$ORACLE_SID/adump/ 关闭审计:alter system set au ...
- 利用SHELL的PROMPT_COMMAND添加日志审计功能,实时记录任何用户的操作到日志文件中
利用 PROMPT_COMMAND 实现命令审计功能:记录什么用户,在什么时间,做了什么操作,然后将查到的信息记录到一个文件里. 具体操作: 将以下内容追加到/etc/profile: ####### ...
- 【转】mysql利用init-connect增加访问审计功能
mysql的连接首先都是要通过init-connect初始化,然后连接到实例. 我们利用这一点,通过在init-connect的时候记录下用户的thread_id,用户名和用户地址实现db的访问审计功 ...
- 开启和关闭oracle数据库中的审计功能
第1步:查看审计功能是否开启?SQL> show parameter audit;NAME TYPE VALUE-- ...
随机推荐
- datatables设置解析
条信息" "sSearch":"搜索" 基本的命令 aaSorting:参数是个数组 [[],[]]单独定义每一列的排序方式 aaSortingFi ...
- spring4+mybatis3+maven
简介 在上一篇博文中,我们搭建了maven环境,现在我们就用maven搭个ssm框架,废话不多说,直接开始吧 代码下载地址 链接:http://pan.baidu.com/s/1nvg42EH 密码: ...
- Django1.9开发博客(10)- 全文搜索
Django本身不提供全文检索的功能,但django-haystack为其提供了全文检索的框架. django-haystack能为Django提供whoosh,solr,Xapian和Elastic ...
- LRU Cache [LeetCode]
Design and implement a data structure for Least Recently Used (LRU) cache. It should support the fol ...
- jQuery实现滚动效果详解1
声明:第一次写原创,本人初学,很多地方一知半解,本篇算是一个学习的笔记,欢迎批评指正,转载请注明. 今天要做的效果是在网上经常能看到多幅图片向左无缝滚动,鼠标滑过动画暂停,鼠标滑出动画继续的效果.网上 ...
- Windows Store App 文件选取器
使用文件选取器可以访问除上面介绍的"应用程序存储"和"用户库"两个位置之外的本地文件或者文件夹.文件选取器是应用与系统进行交互的一个接口,通过文件选取器可以在应 ...
- 如何使用 WinInet 时提供下载上载进度信息
概要许多开发人员都使用 WinInet 函数来下载或上载文件在 Internet 上的想要提供一个进度条以指示多少文件传输已完成,但多少就越长.您可以使用以下机制来完成此.Collapse image ...
- POJ 2226 最小点覆盖(经典建图)
Muddy Fields Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8881 Accepted: 3300 Desc ...
- wp8.1 Study19:通知
一.通知形式 在windowsphone系统中,通知有很多中形式,如下图 (Tile磁贴在前一博文已复习过,Badge形式与tile类似) 1.Toast 它主要是利用xml文件来编写的,xml代码如 ...
- 使用url下载网络图片以及流介绍
使用url下载网络图片的时候,首先需要建立一个URL对象,然后使用一个输入流获取该URL中的内容.之后使用读取该输入流的内容,使用一个输出流写到本地文件中.最后关闭输入和输出流.下面是一个简单的下载代 ...