Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!

Oracle密码延迟验证导致的系统HANG住 PDF 下载


分享到:
时间:2021-04-29 09:58来源:http://www.java1234.com 作者:转载  侵权举报
Oracle密码延迟验证导致的系统HANG住 PDF 下载
失效链接处理
Oracle密码延迟验证导致的系统HANG住 PDF 下载


 
本站整理下载:
提取码:e3wh 
 
 
相关截图:
 
主要内容:


问题现象:
更改密码后,每次连接异常慢,就算用正确的密码连接,验证延时也非常大,导致应用程序连接反复出现超时现象;
 
问题分析:
经查实,这是由于11G的延迟密码特性引起,特别在一些自动连接特性的应用来说,如果密码认证错误,会一直累积密码验证时间,导致后面的正确验证也异常超时,这种问题一般发生在修改应用账户密码后,应用服务器没有及时更新数据库连接信息导致。
 
解决方案:
如果需要修改应用账户密码,需要提前确定好那些应用服务器需要更改连接信息,需提前准备好相应的脚本,如应用太多,需要在更改后作出相应的监控措施,如:
 
检查数据库登录日志dba_audit_session,可以查出登录失败的主机和应用,通知架构负责人及时调整:
Select *
  From Dba_Audit_Session
 Where User_Name = ’mbs7_Oms’
   And Action_Name = ’logon’
   And Timestamp Between
       To_Date('2020-12-03 1:00:00', 'yyyy-mm-dd hh24:mi:ss') And
       To_Date('2020-12-03 2:10:00', 'yyyy-mm-dd hh24:mi:ss')
 Order By Sample_Time Desc
 
如处理不及时,导致用户被延迟认证特性阻塞,可用以下脚本在异常节点批量查杀远程连接进程的办法解决,脚本如下:
 
ps -ef | grep LOCAL=NO | awk '{print $2}' | xargs kill -9
 
这里注意的是:
查杀的同时要通知架构人员尽快清理连接缓存,另外注意查杀后,对于一些正常的连接进程要手工重新启动, 如审计库的远程连接进程等。
 
当然这个特性也可以设置屏蔽,通过设置EVENTS 28401可以屏蔽密码延迟验证:
The event can be set as follows:
SQL> 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 ;
---->密码验证延迟关闭
 
 
附:如果启用审计,可通过以下语句统计登录失败次数
select username, os_username, userhost, client_id, trunc(timestamp), count(*) failed_logins from dba_audit_trail where returncode = 1017 and timestamp > sysdate - 7 group by username, os_username, userhost, client_id, trunc(timestamp);


 

------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐