Oracle 11g、12c大量错误登陆尝试带来的数据库异常-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

Oracle 11g、12c大量错误登陆尝试带来的数据库异常

简介:

APPLIES TO:

Oracle Database - Enterprise Edition - Version 10.2.0.5 and later
Information in this document applies to any platform.

CAUSE

A hang is possible in earlier versions of RDBMS as a result of an unpublished bug fixed in the following versions:

    12.1.0.1 (Base Release)
    11.2.0.2 (Server Patch Set)
    11.1.0.7 Patch 42 on Windows Platforms
Document 9776608.8 Bug 9776608 - Hang from concurrent login to same account with a wrong password

Even with this fix, numerous failed logins attempts can cause row cache lock waits and/or library cache lock waits. 

This was reported in:

Bug 11742803 LOTS OF 'LIBRARY CACHE LOCK' DURING USER LOGON AUTHENTICATION
This was closed as not a bug because there is an intentional wait when a login fails.

SOLUTION

In Oracle 11g Release 11.1.0.7,  the wait is disabled unconditionally
In Oracle 11g Release 2 and higher, in order to disable the wait between login failures the event 28401 needs to be explicitly enabled:
The event can be set as follows:

alter system set event ="28401 TRACE NAME CONTEXT FOREVER, LEVEL 1" scope=spfile;

To unset the event, set as follows:
SQL> Alter system set event= '28401 trace name context off' scope=spfile ;

小结:
关于大量的并发的错误密码连接数据库可能会导致数据库hang、或者引起性能问题,对数据库的影响非常大,近期就遇到过这样的一个案例。当然Oracle本身这个特性是非常好的,但是在当下确实会遇到一些问题,大家可以使用event 28401禁用这个特性。但是最好是要从管理上解决掉这样的问题,从安全层面做好管控。










本文转自 roidba 51CTO博客,原文链接:http://blog.51cto.com/roidba/2061373,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章
最新文章
相关文章