oracle --审计

审计是监视和记录所选用户的数据活动的。审计操作类型包括登录企图、对象访问和数据库操作。审计记录包括被审计的操作、执行操作的用户、操作的时间等信息。

 

1 、 启用审计

其具体步骤如下:

(1 ) 进入Oracle 的企业管理器,在服务器下面的数据库配置中选择初始化参数。



 

 

 

(2 ) 点击初始化后进入如下初始化参数界面



 

 

 

该界面有两个选项界面,当前和SPFile ,其中当前是展示参数值的,而SPFile 是修改参数值的。

(3 ) 在SPFile 界面找到audit_trail 参数,该参数是管理审计的,修改它的值。它的取值范围为:DB 、True 、false 、none 、os 、db_extended 、xml 和extended 。如果该参数的值为True 或db ,则审计记录将被记录到sys.aud$ 表中;如果参数值为os ,则写入一个操作系统文件。

(4 ) 修改以后单击应用按钮,然后重启数据库。

 

2 、登录审计

       登录审计的命令如下:

       ( 1 ) audit session :开启会话审计

       ( 2 ) audit session whenever successful :开启成功操作审计

       ( 3 ) audit session whenever not successful :开启失败操作审计

       ( 4 ) noaudit session :禁止会话审计

3 、操作审计

       对表、表空间等数据库对象的任何操作都可被审计。

       语法格式如下:

              audit {statement_opt | system_priv} [by user,…n]

              [by {session | access}] [whenever [not] successful]

       注:

              statement_opt :审计操作。

              system_priv :指定审计的系统权限

              by user,…n :指定审计的用户,如果不指定将为所有的用户审计

              by session :表示同一会话中的同一类型的 sql 语句仅写单个记录

              by access :每个被审计的语句写一个记录。

              Whenever [not] successful :表示成功或失败的时候审计

       示例代码,对用户 andy 的新建表操作都审计:

              audit create table by andy by access;

4 、对象审计

       还可以审计对象的数据处理操作,这些操作包括对表的更新、选择、插入和删除等。

       语法格式如下:

              audit {object_opt | all} on

{[schema.]object | drectory directory_name | default}

[by session | access]

[whenever [not] successful]

       其中, object_opt 指审计操作;

              all 表示所有对象操作;

              object 表示审计对象;

              default :默认的审计选项

              directory directory_name :审计的目录名

       示例代码,审计用户 andy 的 t_module 表的 insert 操作:

              audit insert on andy.t_module;

       通过对 dba_audit_object 视图进行查询,就可以看到审计记录。

5 、权限审计

       权限审计表示只对系统的某一权限的使用情况进行审计。

       示例代码:

              audit select any table whenever successful;

       通过查询 dba_priv_audit_opts 可以看到权限审计的结果

http://haohaoxuexi.iteye.com/blog/1572243

posted @ 2014-10-17 15:04  seasonzone  阅读(279)  评论(0编辑  收藏  举报