实验目标:测试oracle 11g“密码延迟验证”特性.
Oracle11g引入了“密码延迟验证”的新特性,如果输入错误的密码登录,随着错误密码登录次数的增加,每次登录前验证的时间相应也会增加,此功能目的在于避免黑客将数据库密码攻破.
但对于正常系统,由于口令的更改,特别是从10g(默认密码不区分大小写)升级到11g(默认密码区分大小写),客户端不断重复错误密码尝试登陆,此时就会引起数据库内部长时间的LibraryCache Lock等待,这种异常状态在生产环境并不少见.
以下模拟该场景:
数据库:oracle 11.2.0.4
20:32:18SQL> conn liujun/leo (登陆消耗3秒)
【oracle 11g“密码延迟验证”特性】ERROR:
ORA-01017:invalid username/password; logon denied
Warning:You are no longer connected to ORACLE.
20:32:21SQL> conn liujun/leo (登陆消耗2秒)
ERROR:
ORA-01017:invalid username/password; logon denied
20:32:23SQL> conn liujun/leo (登陆消耗4秒)
ERROR:
ORA-01017:invalid username/password; logon denied
20:32:27SQL> conn liujun/leo (登陆消耗3秒)
ERROR:
ORA-01017:invalid username/password; logon denied
20:32:30SQL> conn liujun/leo (登陆消耗4秒)
ERROR:
ORA-01017:invalid username/password; logon denied
20:32:34SQL> conn liujun/leo (登陆消耗5秒)
ERROR:
ORA-01017:invalid username/password; logon denied
20:32:39SQL> conn liujun/leo (登陆消耗5秒)
ERROR:
ORA-01017:invalid username/password; logon denied
20:32:44SQL> conn liujun/leo (登陆消耗7秒)
ERROR:
ORA-01017:invalid username/password; logon denied
20:32:51SQL> conn liujun/leo
ERROR:
ORA-01017:invalid username/password; logon denied
20:33:00SQL> conn liujun/leo (登陆消耗9秒)
ERROR:
ORA-28000:the account is locked
实验环境一个session尚且这样,若是生产环境,成百上千的session都使用错误的密码连接过来,就会造成严重的LibraryCache Lock的等待事件.
前端用户使用错误密码登录过多,就会导致输入正确的密码也需要等待很久,感觉就是数据库hang住.不过该账号一旦输入正确密码,延时就会清0.
遇到该问题,可以通过event28401关闭该特性:
altersystem set event='28401 trace name context forever,level 1' scope=spfile;
说明:参数SEC_CASE_SENSITIVE_LOGON控制密码大小写敏感
Mos文档:【Doc ID 1309738.1】
推荐阅读
- 通过浏览器打开页面时执行js脚本 改变浏览器“指纹”
- 张彬彬|“泰国林志颖”变样,40岁颜值崩塌男神变油腻,网友直呼太幻灭
- 牛仔裤|五六十岁的女人剪短发,建议试试这5款“落肩烫”,洋气还显年轻
- 红薯|女人到了50岁,尽量远离这“5种”发型,显老又没气质
- 微小说感人?微小说感人
- 王一博|见明星有多简单?王一博北京街头被偶遇,携友游玩,却没“武装”
- 造车新势力|7万块“老头乐”造就13个亿万富翁
- 形容宦官当权的诗句?关于宦官专权的诗句
- 杨幂|仙侠剧服装越来越敷衍,杨幂领跑新剧造型,“花里胡哨”太喜欢了
- 陈伟霆|合作过杨幂、赵丽颖,却公然“亲吻”陈学冬,陈伟霆为做宣传拼了