oracle的审计属于进程吗,ORACLE审计

审计分类:

Oracle中审计总体上可分为“标准审计”和“细粒度审计”后者也称为“基于政策的审计”,在Oracle10G之后功能得到很大增强。其中标准审计可分为用户级审计和系统级审计。用户级审计是任何Oracle用户可设置的审计,主要是用户针对自己创建的数据库表或视图进行审计,记录所有用户对这些表或视图的一切成功和(或)不成功的访问要求以及各种类型的SQL操作。系统级审计只能由DBA设置,用以监测成功或失败的登录要求、监测GRANT和REVOKE操作以及其他数据库级权限下的操作。

二、    标准审计:

2.1 分类:

在ORACLE中分别支持以下三种标准审计类型:

?          语句审计,对某种类型的SQL语句审计,不指定结构或对象。

?          特权审计,对执行相应动作的系统特权的使用审计。

?          对象审计,对一特殊模式对象上的指定语句的审计。

这三种标准审计类型分别对如下3方面进行审计:

?          审计语句的成功执行、不成功执行,或者其两者。

?          对每一用户会话审计语句执行一次或者对语句每次执行审计一次。

?          对全部用户或指定用户的活动的审计。

当数据库的审计功能打开后,在语句执行阶段产生审计记录。审计记录包含有审计的操作、用户执行的操作、操作的日期和时间等信息。审计记录可存在数据字典表(称为审计记录)或操作系统审计记录中。数据库审计记录是在SYS模式的AUD$表中。

2.2设置ORACLE标准审计:

下列步骤可以设置ORACLE的标准审计功能:

1.    修改初始化参数文件(init.ora)

如果使用服务器参数文件使用alter system set = scope=spfile|both,详情参照1.1节中关于参数文件的介绍),设置 AUDIT_TRAIL参数,并且重启数据库。AUDIT_TRAIL的取值如下:

?         DB/TRUE:启动审计功能,并且把审计结果存放在数据库的 SYS.AUD$ 表中

?         OS:启动审计功能,并把审计结果存放在操作系统的审计信息中

?         DB_EXTENDED:具有DB/TRUE的功能,另外填写AUD$的SQLBIND和SQLTEXT字段

?         NONE/FALSE:关闭审计功能

2.设置AUDIT_TRAIL参数:

如果设置 AUDIT_TRAIL = OS, 还需要修改参数AUDIT_FILE_DEST。

如果操作系统支持设置AUDIT_TRAIL=OS,文件会自动存放在AUDIT_FILE_DEST所指定的目录下,并且文件名包含进程的PID。

默认的是记录到DB里。

下面来做个简单的实验。

SQL>

SQL>

SQL> show parameter audit

NAME                                 TYPE        VALUE

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

audit_file_dest                      string      D:\APP\WENTBAI\ADMIN\ORCL\ADUM

P

audit_sys_operations                 boolean     FALSE

audit_trail                          string      DB

SQL> grant audit system to a;

授权成功。

SQL> conn a/a

已连接。

SQL> audit session;

审计已成功。

SQL> noaudit session;

审计未成功。

SQL> select * from tab;

未选定行

SQL> create table mytab (a number,name char);

create table mytab (a number,name char)

*

第 1 行出现错误:

ORA-01031: 权限不足

SQL> conn / as sysdba

已连接。

SQL> grant create table to a;

授权成功。

SQL> conn a/a

已连接。

SQL> create table mytab (a number,name char);

表已创建。

SQL> audit alter,update on mytab;

审计已成功。

SQL> insert into mytab values(1,'B');

insert into mytab values(1,'BAI')

*

第 1 行出现错误:

ORA-01950: 对表空间 'USERS' 无权限

SQL> conn / as sysdba

已连接。

SQL> alter user a quota unlimited on  users ;

用户已更改。

SQL> conn a/a

已连接。

SQL> insert into mytab values(1,'B');

已创建 1 行。

SQL> update mytab set a=2 where a=1;

已更新 1 行。

SQL> commit;

提交完成。

SQL>

SQL> l

1* select * from aud$ where OBJ$NAME='MYTAB'

SQL> /

313806          1         12                A

ORADEV\WENTBAI-CN

WENTBAI-CN

103          0 A

MYTAB

----------S-----         74866

WENTBAI-CN\wentbai

04-9月 -14 12.39.16.210000 上午                                                      0 3696:13184 03000F00C5040000                                                                     1523177 1384558118

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值