Chinaunix首页 | 论坛 | 博客
  • 博客访问: 350825
  • 博文数量: 79
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 42
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-30 12:25
文章分类

全部博文(79)

文章存档

2019年(1)

2017年(19)

2016年(25)

2015年(30)

2014年(4)

分类: Oracle

2015-05-22 20:42:30

原文地址:11G延迟密码验证的取消 作者:tomsyan


11G引入了延迟密码验证,在输入错误的密码后,后续如果还是采用错误的密码登陆,将会导致密码延迟验证,
而且会导致失败登陆延长。如下:

[oracle@db2server ~]$ time echo "select sysdate from dual;" | sqlplus -s scott/tige 1> /dev/null 2>&1

real    0m0.160s
user    0m0.003s
sys     0m0.066s
[oracle@db2server ~]$ time echo "select sysdate from dual;" | sqlplus -s scott/tige 1> /dev/null 2>&1

real    0m0.175s
user    0m0.003s
sys     0m0.065s
[oracle@db2server ~]$ time echo "select sysdate from dual;" | sqlplus -s scott/tige 1> /dev/null 2>&1

real    0m0.185s
user    0m0.013s
sys     0m0.060s
[oracle@db2server ~]$ time echo "select sysdate from dual;" | sqlplus -s scott/tige 1> /dev/null 2>&1

real    0m1.306s
user    0m0.040s
sys     0m0.088s
[oracle@db2server ~]$ time echo "select sysdate from dual;" | sqlplus -s scott/tige 1> /dev/null 2>&1

real    0m2.176s
user    0m0.006s
sys     0m0.073s
[oracle@db2server ~]$ time echo "select sysdate from dual;" | sqlplus -s scott/tige 1> /dev/null 2>&1

real    0m3.187s
user    0m0.003s
sys     0m0.074s
[oracle@db2server ~]$ time echo "select sysdate from dual;" | sqlplus -s scott/tige 1> /dev/null 2>&1

real    0m4.162s
user    0m0.003s
sys     0m0.054s
[oracle@db2server ~]$ time echo "select sysdate from dual;" | sqlplus -s scott/tige 1> /dev/null 2>&1

real    0m5.302s
user    0m0.004s
sys     0m0.077s
[oracle@db2server ~]$ time echo "select sysdate from dual;" | sqlplus -s scott/tige 1> /dev/null 2>&1

real    0m6.602s
user    0m0.007s
sys     0m0.075s

可以看到从第三次开始,后续的每次登陆导致密码延迟1秒左右。

如果有多个会话同时登陆,将会导致会话HANG住,出现一些LATCH的竞争。

可以通过如下事件来屏蔽密码的延迟验证。

ALTER SYSTEM SET EVENT = '28401 TRACE NAME CONTEXT FOREVER, LEVEL 1' SCOPE = SPFILE

[oracle@db2server ~]$ oerr ora 28401
28401, 00000, "Event to disable delay after three failed login attempts"
// *Document: NO
// *Cause: N/A
// *Action: Set this event in your environment to disable the login delay 
//          which will otherwise take place after three failed login attempts.
// *Note: THIS IS NOT A USER ERROR NUMBER/MESSAGE. THIS DOES NOT NEED TO BE
//        TRANSLATED OR DOCUMENTED.

阅读(1267) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~