11gR2修改用户后导致系统HANG住

简介: 【背景】今天中午的时候用户反馈需要修改数据库的和应用的连接密码,修改密码这种小事情,本以为不会不会出现问题的。没想到午休到一半的时候就接到用户的电话,系统连接不进去了。

【背景】今天中午的时候用户反馈需要修改数据库的和应用的连接密码,修改密码这种小事情,本以为不会不会出现问题的。没想到午休到一半的时候就接到用户的电话,系统连接不进去了。

 

【环境】

  • 操作系统 linux6.3_64
  • 数据库版本11.2.0.3

 

【症状】用户修改密码之后通过应用连接一直连接不上,我登录主机通过sqlplus连接的时候,也是一直处于hang住状态,但是sys、system用户进行连接的时候速度就很快;

[oracle@ekpdbtest ~]$ sqlplus / as sysdba  (数据库可以正常登录)

SQL*Plus: Release 11.2.0.1.0 Production on Fri Apr 10 17:37:42 2015

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>    

SQL> conn sale/oracle (HANG住了)

【备注】操作系统的CPU、内存、网络、磁盘空间都没有发现异常;

 

1、查看等待事件

通过查看awr报告,library cache lock等待严重

                                                          wait   % DB          
Event                                 Waits     Time(s)   (ms)   time Wait Class
------------------------------ ------------ ----------- ------ ------ ----------
library cache lock                      866     145,056 2.E+05   92.0 Concurrenc
row cache lock                          195       9,155  46948     5.8 Concurrenc

 

2、恢复用户到修改前的密码

SQL> conn sale/sale  (可以登录)

 

【问题原因】经过一番查找发现该问题属于ORACLE 11的一个新特性,如果一个用户使用不正确的密码尝试登录数据库,那么随着登录失败次数的增加,每次登录验证前延迟等待的时间也会增加。这个特性主要用于避免一些程序采用错误的密码进行尝试性的登录;所有这一切都已经说明,当前有一个或多个中间件服务器在使用错误的密码连接数据库,由于密码延迟验数据证的策略,导致所有后续的连接都被HANG住。

 

用户的环境是怎么触发这个特性的了?

用户的环境中,连接数据库不仅有应用层,还有一些【地磅系统】,这些系统直接连接数据库,所以虽然更改了应用的密码,但是地磅系统由于数量众多且修改麻烦,所以应用的连接密码修改后,地磅系统的连接密码并没有改,所以一直在用错误的密码进行登录,而触发了【密码延迟验证导致的系统HANG住】

 

【解决方法】这个性特性可以提供系统的安全性,但同时也引入了bug,Oracle最强大之处就在于几乎所有的功能和特性都有对应的开关,通过设置EVENTS 28401可以屏蔽密码延迟验证,重启数据库后解决。

 

【总结】暂时性的关闭这个特性,然后再逐步修改每个系统的密码,又化解了一次危机;

......................................................................................................................................................................…………………………………..

本文作者:JOHN,某上市公司DBA,业余时间专注于数据库的技术管理,从管理的角度去运用技术。

ORACLE技术博客:猎人笔记               数据库技术群:367875324 (请备注数据库类型)

......................................................................................................................................................................………………………………….

相关文章
|
2月前
|
存储 运维 监控
机器的coredump文件过多处理
【10月更文挑战第1天】
118 4
|
安全 关系型数据库 MySQL
mysql服务器hang死的原因
mysql服务器hang死的原因
141 0
|
Java 调度
CPU突然飙高系统反应慢,是怎么导致的?有什么办法排查?
面试过程中,场景类的问题更容易检测出一个开发人员的基本能力。这不,有一位小伙伴去阿里面试,第一面就遇到了关于“CPU 飙高系统反应慢怎么排查”的问题?当时这位小伙伴不知从何下手。 今天,我给大家分享一下我的解决思路。
179 0
8080端口莫名被占用 ,如何结束掉进程
8080端口莫名被占用 ,如何结束掉进程
254 0
|
存储 前端开发 JavaScript
一不小心文件上传服务hang住了?
一不小心文件上传服务hang住了?
295 0
Linux 执行 df -h 卡着不动,HANG 住了,怎么破?
最近,查看磁盘空间时,执行 df -h 时,命令 hang 住了,一直没有反应!
Linux 执行 df -h 卡着不动,HANG 住了,怎么破?
|
安全 Linux Windows
服务器经常出现CPU爆满情况,该如何处理呢?
服务器经常出现CPU爆满情况,该如何处理呢? 对于服务器来说,CPU就是它的核心所在,不管我们处理任何任务都需要CPU来完成,一旦CPU出现爆满,那么我们的服务器就会出现卡顿甚至是死机无法连接等情况,那么如果我们的服务器经常出现CPU爆满情况,该如何处理呢?一、确认CPU爆满的原因 如果我们远程到香港服务器中,发现操作比较卡时,可以检查下CPU使用是否正常,如果是windows系统,那么我们可以通过任务管理里的性能来查看或者可以通过一些安全软件来进行查看,如果是linux系统,那么可以命令来进行查看,或者可以通过安装的一些软件查看,比如安装宝塔软件等。
|
Web App开发 SQL Java
艾伟_转载:一次挂死(hang)的处理过程及经验
前言:        CPU占用率低,内存还有许多空余,但网站无法响应,这就是网站挂死,通常也叫做hang。这种情况对于我这样既是CEO,又是CTO,还兼职扫地洗碗的个人站长来说根本就是家常便饭。以下是一次处理hang的经验及总结,前后用了一个月,不仅涉及程序排查,数据库优化,还有硬件升级的苦恼。
1658 0
|
Web App开发 SQL Java
艾伟:一次挂死(hang)的处理过程及经验
前言:        CPU占用率低,内存还有许多空余,但网站无法响应,这就是网站挂死,通常也叫做hang。这种情况对于我这样既是CEO,又是CTO,还兼职扫地洗碗的个人站长来说根本就是家常便饭。以下是一次处理hang的经验及总结,前后用了一个月,不仅涉及程序排查,数据库优化,还有硬件升级的苦恼。
1689 0

相关实验场景

更多