Oracle10g审计

Oracle10g审计

要使用oracle的审计功能必须先设定初始化参数audit_trail

audit_trail 参数的值可以设置为以下几种:

1. NONE
:不开启审计功能。
2. DB
:开启审计功能,并将审计记录保存在数据库系统提供的审计视图内,要求用于审计功能实现的视图已经创建。

[@more@]

Oracle10g审计

要使用oracle的审计功能必须先设定初始化参数audit_trail

audit_trail 参数的值可以设置为以下几种:

1. NONE
:不开启审计功能。
2. DB
:开启审计功能,并将审计记录保存在数据库系统提供的审计视图内,要求用于审计功能实现的视图已经创建。
3. OS
:审计记录写入一个操作系统文件。
4. TRUE
:与参数DB效果等同。
5. FALSE
:不开启审计功能。

注意此参数不是一个动态参数,需要重启数据库才能生效.

Oracle10g审计比9i在功能上有了加强,9i当中你能看到是谁做的操作,但不能看到具体操作内容,10g倪补了这一点,例子如下:

add_policy过程创建审计任务

begin
dbms_fga.add_policy (
object_schema => 'TEST',
object_name => 'T',
policy_name => 'ACCOUNTS_ACCESS',
audit_column => 'ID',
audit_condition => 'ID>1',
statement_types => 'UPDATE'
);
end;
执行语句触发审计:

update t set name = 'aa' where id = 100

这样可以在DBA_FGA_AUDIT_TRAIL视图的SQL_TEXT字段中找到执行的语句

第二种审计方法是使用语句

例如:

想对用户gu的所有表的所有sql跟踪用如下语句

Audit table by gu by access;

想对表testinsert进行跟踪用如下语句

Audit insert on test by access

然后可以在DBA_AUDIT_TRAIL视图中查看审计信息

这种方法记录了事务的transactionid,通过和视图FLASHBACK_TRANSACTION_QUERY连接查询可以知道记录中实际记录的是什么.

select start_scn, start_timestamp,
commit_scn, commit_timestamp, undo_change#, row_id, undo_sql
from flashback_transaction_query
where xid = '';

这两种方法都有记录操作的SCN,这可以通过闪回功能来找回操作之前的数据

Select * from test as of SCN 12345

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7490392/viewspace-1008150/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7490392/viewspace-1008150/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值