热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Oracle11gR2修改用户后导致系统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可以屏蔽密码延迟验证,重启数据库后解决。

    SQL> ALTER SYSTEM SET EVENT = ‘28401 TRACE NAME CONTEXT FOREVER, LEVEL 1’ SCOPE = SPFILE;

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

    本文永久更新链接地址

    推荐阅读
    • 本文档提供了详细的MySQL安装步骤,包括解压安装文件、选择安装类型、配置MySQL服务以及设置管理员密码等关键环节,帮助用户顺利完成MySQL的安装。 ... [详细]
    • 本文深入探讨了分布式文件系统的核心概念及其在现代数据存储解决方案中的应用,特别是针对大规模数据处理的需求。文章不仅介绍了多种流行的分布式文件系统和NoSQL数据库,还提供了选择合适系统的指导原则。 ... [详细]
    • Navicat Premium中MySQL用户管理:创建新用户及高级设置
      本文作为Navicat Premium用户管理系列的第二部分,主要介绍如何创建新的MySQL用户,包括设置基本账户信息、密码策略、账户限制以及SSL配置等。 ... [详细]
    • FTP作为一种传统的文件传输协议,广泛用于不同设备间的文件交换。然而,随着网络安全需求的提升及传输效率的要求,选择合适的FTP客户端变得尤为重要。本文将介绍如何利用WinSCP这款强大且安全的工具,实现两台电脑之间的文件高效传输。 ... [详细]
    • 深入浅出:Hadoop架构详解
      Hadoop作为大数据处理的核心技术,包含了一系列组件如HDFS(分布式文件系统)、YARN(资源管理框架)和MapReduce(并行计算模型)。本文将通过实例解析Hadoop的工作原理及其优势。 ... [详细]
    • 对于初次购买阿里云服务器的新手用户来说,如何高效地利用服务器资源并成功部署网站是一个重要的课题。本文将详细指导您完成从购买服务器到网站上线的六个关键步骤。 ... [详细]
    • Golang与微服务架构:构建高效微服务
      本文探讨了Golang在微服务架构中的应用,包括Golang的基本概念、微服务开发的优势、常用开发工具以及具体实践案例。 ... [详细]
    • 本文探讨了六项Java特性,它们虽然强大,但在不当使用时可能会给应用程序带来严重问题。文章基于作者Nikita Salnikov Tarnovski多年的应用性能调优经验,提供了对这些特性的深入分析。 ... [详细]
    • 帝国cms各数据表有什么用
      CMS教程|帝国CMS帝国cmsCMS教程-帝国CMS精易编程助手源码,ubuntu桥接设置,500错误是tomcat吗,爬虫c原理,php会话包括什么,营销seo关键词优化一般多 ... [详细]
    • 本文介绍了多种Eclipse插件,包括XML Schema Infoset Model (XSD)、Graphical Editing Framework (GEF)、Eclipse Modeling Framework (EMF)等,涵盖了从Web开发到图形界面编辑的多个方面。 ... [详细]
    • 本文详细解析了Java中流的概念,特别是OutputStream和InputStream的区别,并通过实际案例介绍了如何实现Java对象的序列化。文章不仅解释了流的基本概念,还探讨了序列化的重要性和具体实现步骤。 ... [详细]
    • 惠普战86 Pro G2:新一代商用台式机的性能与设计解析
      惠普战86 Pro G2台式机以其卓越的性能和紧凑的设计,满足了现代商务环境的需求。本文将详细介绍这款商用台式机的各项特点,包括其强大的硬件配置、精美的外观设计以及出色的稳定性和安全性。 ... [详细]
    • 深入解析轻量级数据库 SQL Server Express LocalDB
      本文详细介绍了 SQL Server Express LocalDB,这是一种轻量级的本地 T-SQL 数据库解决方案,特别适合开发环境使用。文章还探讨了 LocalDB 与其他轻量级数据库的对比,并提供了安装和连接 LocalDB 的步骤。 ... [详细]
    • MySQL 8.0 新特性详解:免费视频教程上线
      本文介绍了一套在慕课网上发布的免费视频教程,深入解析 MySQL 8.0 的核心新功能,包括增强的安全性、用户管理、新的索引类型、CTE 和窗口函数等。 ... [详细]
    • 本文详细介绍了Oracle RMAN中的增量备份机制,重点解析了差异增量和累积增量备份的概念及其在不同Oracle版本中的实现。通过对比两种备份方式的特点,帮助读者选择合适的备份策略。 ... [详细]
    author-avatar
    橙子小狸
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有