龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Oracle 技术 >

Oracle 11g数据库审计功能应用实例解析

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
上次我们介绍了: Oracle 11g 数据库默认审计选项说明详解 ,本文我们主要介绍一个Oracle 11g数据库中 审计功能的应用实例 ,希望能够对您有所帮助。 在用户的profile 属性里面有一个属性

上次我们介绍了:Oracle 11g数据库默认审计选项说明详解,本文我们主要介绍一个Oracle 11g数据库中审计功能的应用实例,希望能够对您有所帮助。

在用户的profile 属性里面有一个属性:FAILED_LOGIN_ATTEMPTS,该参数默认值是10. 即当我们用户连续10次输入错误密码,这个用户就会被锁住。用户连词失败次数是在表USER$ 中的lcount字段记录的。 该值默认为0. 当失败一次,该值加1. 成功登录,该值清零。

一般在生产环境下,会根据具体情况设置这个参数,如果防止用户被锁,则将这个参数设置为UNLIMITED。 这个是注意的地方。当然设置成无限也有它的弊端,比如不能防止暴力破解数据库密码。

有关profile 的更多内容参考:

Oracle 用户 profile 属性

http://blog.csdn.net/tianlesoftware/article/details/6238279

在Oracle 11g中默认启用了对登录注销操作LOGON/LOGOFF的审计,那么如果我们发现用户被锁,那么可以应用11g的审计功能来查看从哪台机器上发来的链接失败导致用户被锁,可以帮助我们定位问题。

脚本如下:

  1. SQL> selectos_username,userhost,terminal,username,count(*)  
  2. 2    from dba_audit_trail  
  3. 3   where returncode = 1017 
  4. 4   group byos_username,userhost,username,terminal;  
  5. OS_USERNAME                    USERHOST                       TERMINAL     USERNAME       COUNT(*)  
  6. ------------------------------------------------------------ ------------ ------------ ----------  
  7. DavidDai\Administrator         WORKGROUP\DAVIDDAI             DAVIDDAI    ICD                   7  
  8. DavidDai\Administrator         WORKGROUP\DAVIDDAI             DAVIDDAI     SYSTEM                9  
  9. DavidDai\Administrator         WORKGROUP\DAVIDDAI             DAVIDDAI     SYS                   3  
  10. DavidDai\Administrator         WORKGROUP\DAVIDDAI             DAVIDDAI     EXIT                  1 

注意:对于LOGON PER SECOND很高的数据库,如果应用程序配置文件中的数据库用户密码不正确,同时应用在短期内发起大量会话登录数据库的话可能引发频繁的dc_users字典缓存锁,用户登录无法成功,乃至整个实例hang住。这个问题直接参考Maclean的blog:

Row Cache lock Problem

http://www.oracledatabase12g.com/archives/row-cache-lock-problem.html

关于Oracle 11g数据库审计功能的应用实例就介绍到这里了,希望本次的介绍能够对您有所收获!

精彩图集

赞助商链接