当前位置:数据库 > Oracle >>

Oracle中审计参数audit_trail的讨论

答案:近日,逐步开始课题的研究。具体内容可以参考《我的课题》栏目下的内容,那里涉及了课题的主要研究内容。

  目前仍在探索阶段,尤其是对oracle的认识,也在随着不断地学习在逐步加深。课题的题目是《安全审计技术在电子政务中的应用研究》,其中一个重要的内容就是利用oracle 9i提供的审计功能,来与应用层的审计相配合。

  初期的想法,一直想在应用系统层提供一个接口――审计的开/关。即可以允许在应用系统级打开或者关闭数据库的审计功能,但是,尝试了几天,得到的结论似乎是:audit_trail参数,是非动态修改参数,也就是说,通过alter system修改时,只能加上scope=spfile,那么也就是说,如果要开启/关闭审计功能,一定要重启数据库。。。。

  如果是这样的话,自然就不能灵活开/关审计功能,也就没办法提供给应用系统层一个真正有价值的开/关接口。因为每次都需要重新启动数据库,这对应用系统的运行是有很大影响的。

  下面是我在oracle 10g中试验的结果(因为9i中总是在关闭后再启动的时候出现错误,具体原因未明了……),我想,10g尚且如此,那9i肯定也没戏了……

  --先显示一下当前的audit_trail参数值

  


  

  

  

  

  


  
SQL> show parameter audit_trail

  NAME TYPE VALUE

  audit_trail string DB


  


  


  --修改audit_trail参数值

  


  

  

  

  

  


  
SQL> alter system set audit_trail="FALSE";

  alter system set audit_trail="FALSE"


  


  


  


  

  

  

  

  


  
ERROR at line 1:

  ORA-02095: specified initialization parameter cannot be modifie


  


  


  


  

  

  

  

  


  
SQL> alter system set audit_trail="FALSE" scope = both;

  alter system set audit_trail="FALSE" scope = both


  


  


  


  

  

  

  

  


  
ERROR at line 1:

  ORA-02095: specified initialization parameter cannot be modifie


  


  


  --只能修改到spfile

  


  

  

  

  

  


  
SQL> alter system set audit_trail="FALSE" scope=spfile;


  


  


  System altered.

  --显示audit_trail参数值,说明当前实例未更改

  


  

  

  

  

  


  
SQL> show parameter audit_trail

  NAME TYPE VALUE

  audit_trail string DB

  SQL> shutdown normal

  ORA-01031: insufficient privileges

  SQL> conn / as sysdba;

  Connected.

  SQL> shutdown normal;

  Database closed.

  Database dismounted.

  ORACLE instance shut down.

  SQL> startup

  ORACLE instance started.

  Total System Global Area 171966464 bytes

  Fixed Size 787988 bytes

  Variable Size 144964076 bytes

  Database Buffers 25165824 bytes

  Redo Buffers 1048576 bytes

  Database mounted.

  Database opened.


  


  


  --重新启动后,audit_trail参数值已经更改……

  


  

  

  

  

  


  
SQL> show parameter audit_trail;

  NAME TYPE VALUE

  audit_trail string FALSE


  


  


  这里仅仅对一个审计参数的初始化和修改进行了说明,路过的如果有oracle的高手们,是如何操作的,使之能够实现动态修改呢,或者有没有别的方案实现审计,而不是每次都需要重新启动数据库……。不吝指教……呵呵

  (T114)

  本文来自:http://doc.linuxpk.com/79431.html
发表您的高见!

上一个:Oracle案例:日志组处于高激活状态
下一个:Eclipse是如何连接Oracle数据库的

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,