Oracle11g、12c大量错误登陆尝试带来的数据库异常
APPLIES TO:
创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都网站制作、成都做网站、外贸营销网站建设、富民网络推广、微信小程序、富民网络营销、富民企业策划、富民品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供富民建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com
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禁用这个特性。但是最好是要从管理上解决掉这样的问题,从安全层面做好管控。
网站名称:Oracle11g、12c大量错误登陆尝试带来的数据库异常
路径分享:http://cdiso.cn/article/pcogjo.html