oracle审计

审计及其作用

审计就是指对用户所执行的数据库活动做跟踪记录,主要包括对数据库连接、SQL语句执行以及数据库对象访问等操作的跟踪记录。简单的说,就是oracle系统对任何用户所做的登录、操作数据库对象进行自动记录,以便使数据库管理员在事后进行监督和检查。
审计可以记录用户对对象的操作,例如操作时间、操作类型等。但是通过审计无法知道操作的细节,例如数据a最终被更新成了数据b还是数据c。
审计记录了用户对数据库的操作,利用审计可以达到如下目的:
1.审查可疑的活动。例如,数据被非授权用户所删除,此时管理员可以决定对该数据库的所有连接进行审计,以及对数据库的所有表的删除操作进行审计,以确定数据是被哪个用户删除的。
2.监视和收集关于指定数据库活动的数据。例如,数据库管理员可以收集哪些表经常被修改,哪些表的I/O操作比较频繁,或者在某个时刻最多有多少个并发用户连接数据库等统计数据。

审计类型

语句审计

对某种类型的SQL语句进行审计,不指定结构或者对象。这里从SQL语句的角度出发进行指定,审计只关心执行的语句。例如,audit create table语句,其中,audit为使用审计的关键字。该语句表示对create table语句的执行进行记录,不管这条语句是否为针对某个对象的操作。

权限审计

对执行相应动作的系统权限进行审计,这里强调“系统权限”。例如,audit create table语句,表示对涉及create table 权限的操作进行审计。所以说,使用audit create table语句,既产生一个依据审计,又产生一个权限审计。

对象审计

对一个特殊模式对象上的DML语句进行审计,记录作用在指定对象上的操作。例如,audit select on scott.dept语句,表示指定scott用户的dept表,审计对其进行的select语句。

oracle所允许的审计可以针对以下操作:
1.针对成功的操作 表示针对用户执行的某一条语句,只有执行成功才进行审计。
2.针对失败的操作 表示针对用户执行的某一条语句,只有执行失败才进行审计。
3.同时针对成功和失败的操作 表示针对用户执行的某一条语句,执行成功或失败都进行审计。
4.针对用户会话中的每一项操作 表示针对用户会话中的语句,每执行一次就相应的进行一次审计。
5.针对用户会话中不重复的操作 表示相同语句执行多次时,只执行一次审计。
技巧 有时根据需要可以禁用数据库审计,例如在数据库中,当用户要创建并删除大量临时表时,审计create/drop table可能会在生成大量的审计记录时造成I/O冲突,这时可以选择禁用审计


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值