Oracle 数据库专题
---------
数据库安全性
------
数据库审计
XMOUG MEMBER
编写人: Empoli Liu 2010年9月
背景:
数据库审计,顾名思义,就是捕捉和存储发生在数据库内部的事件信息。本文档重点关注,
1:标准的数据库审计(Standard database auditing)通过初始化参数AUDIT_TRAIL控制实例级别的审计。
2:基于值的审计 (Value-based auditing)
它拓展了标准数据库审计,不仅捕捉审计事件,还捕捉那些被insert,update和delete的值。
基于值的审计通过触发器来实现。
3: 细粒度审计 (Fine-grained auditing)
它拓展了标准数据库审计,捕捉准确的SQL语句。
接下来具体分析,每种审计都有相对应的介绍与实验。
操作系统版本:Redhat Enterprise Linux 5.1
数据库版本: Oracle 10g
oracle数据库怎么查询表数据库审计介绍与实验一(标准的数据库审计)
Audit_trail 相当于是一个开关,默认不打开。
那么,如何打开呢?由于audit_trail参数值有多种,这里只列举两种。如下是第一种,audit_trail=db
标准数据库审计的数据放于基表aud$上,而aud$位于system表空间上,众所周知,system 表空间是存放数据字典表的地方,为避免因审计而较大的影响数据库的性能,应将此表移到其它表空间上。生产环境建议建一个单独的表空间存放审计表,本文将审计表移动到users 表空间上,如下图
底层表是AUD$,那么如何知道上层该查询哪些表呢?
Select * from dict d where d.table_name like ‘%AUD%’;
参数audit_trail=db后,就可以开始审计了,如下图
凡是有谁查询hr用户的employees表,就将它记录进aud$ 表。
而此时,我再以hr用户登录,然后再次查询,发现底层aud$表又记了一条记录,
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论