墨墨导读:在Oracle 11g中,大量的登录失败可能会导致library cache lock;或者大量的使用同一用户登录且登录失败,导致用户登录hang的问题,本文记录整个分析、处理过程。

一、前言

今天下午,某客户进行求助,说是数据库的一个用户(假设为wx)无法正常登录,但是奇怪的是其他用户登录正常。

二、问题处理过程及分析方法

通过远程,sqlplus / as sysdba对数据库进行登录,并进行检查,数据库运行正常,且数据库中没有异常的等待事件;
根据客户描述,通过wx用户和客户提供的密码进行登录,发现登录出现hang住的情况,重新打开另外一个数据库窗口,并对当前的阻塞进行排查:

select sid,seq#, BLOCKING_SESSIO,event,wait_class from v$session_wait;

并未发现阻塞。

于是对登录过程进行hanganalyze分析:

sqlplus / as sysdbaoradebug hanganalyze 3
connect wx/wx123
exit;

通过生成的hanganalyze文件,可以发现此时进行登录的进程,被其他用户登录的动作hang住,且此时等待均为library cache lock。

三、定位问题:

由于其他进程均为登录动作,且等待事件为library cache lock,于是对数据库版本进行查询,发现数据库版本为11.2.0.3。

此时,则想到了11g中的一个bug,即:大量的无效登录,可能会导致大量的library cache lock等待事件,造成数据库异常。于是通过mos进行搜索。最终发现,oracle11g中存在一个bug:9776608;该bug描述,多个用户使用错误密码同时登录一个用户的时候,会造成该用户登录异常。为了确认是否存在该异常,于是对登录失败的设备和次数进行统计:

select username, os_username, userhost, client_id, trunc(timestamp), count(*) failed_logins fromdba_audit_trail where returncode = 1017 and timestamp > sysdate - 7 group by username,os_username, userhost, client_id, trunc(timestamp);

可以发现从当天起,有大量的主机通过wx用户登录失败,于是询问客户,最近是否修改密码,根据客户的恢复,数据库在当天出现密码过期的情况,然后对数据库中该用户的密码进行修改,且修改的密码为新的密码,与之前不同。

因此,基本可以确认问题是由bug 9776608造成。

四、问题解决:

该问题解决有3个办法:
1. 安装补丁Patch:9776608
2. 要求所有使用该用户的应用、程序、客户端修改密码;
3. 关闭密码延迟功能。

这里打补丁浪费时间且不太现实,要求客户端修改密码,由于范围较大,所以也比较困难;而修改服务端的密码,则也会由于应用一直登录导致无法修改;

所以我们选择了关闭密码延迟功能,启用28401事件,具体方法如下:

alter system set event =“28401 TRACE NAME CONTEXT FOREVER, LEVEL 1” scope=spfile;

重启数据库:

shutdown immediate;startup

数据库启动成功后,问题解决。

作者

王鑫,近7年数据库服务经验,目前就职于云和恩墨西区交付团队,擅长Oracle、PostgreSQL数据库的迁移运维等工作,具有11g OCP、11g OCM、PGCA、PGCE等数据库认证。

先后为国家电网信息通信公司、成都人社局、四川电信进行Oracle、PostgreSQL、主机等驻场运维服务,参与成飞、甘肃电信、四川国土资源厅、成都房管局等大型oracle数据迁移项目。

墨天轮原文链接:https://www.modb.pro/db/45408(复制到浏览器中打开或者点击“阅读原文”立即查看)

推荐阅读:267页!2020年度数据库技术年刊

推荐下载:2020数据技术嘉年华PPT下载

2020数据技术嘉年华近50个PPT下载、视频回放已上传墨天轮平台,可在“数据和云”公众号回复关键词“2020DTC”获得!

视频号,新的分享时代,关注我们,看看有什么新发现?

数据和云

ID:OraNews

如有收获,请划至底部,点击“在看”,谢谢!

点击下图查看更多 ↓

云和恩墨大讲堂 | 一个分享交流的地方

长按,识别二维码,加入万人交流社群

请备注:云和恩墨大讲堂

  点个“在看”

你的喜欢会被看到❤

典型案例:Bug 9776608-多个用户使用错误密码登录同一个用户而造成的用户无法登录异常...相关推荐

  1. 为什么进mysql需要用户和密码了_centos5安装 mysql 提示需要用户及密码进入?

    有朋友在centos 5 上安装mysql 一切正常,也能正常启动.就是无法进入mysql 提示Duplicate entry 'localhost-' for key 1 需要用户名及密码,可是新安 ...

  2. 计算机和影视结合专业,计算机专业专业建设总结与典型案例2.5微电影拍摄与后期制作(影视拍摄与后期制作技术)课....

    计算机专业专业建设总结与典型案例2.5微电影拍摄与后期制作(影视拍摄与后期制作技术)课. (11页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积 ...

  3. mysql的root用户添加密码

    刚安装的mysql没有进行配置,默认root用户没有密码,可以使用如下命令为root用户设置密码: #mysqladmin -u root password ******** 转载于:https:// ...

  4. nginx通过用户和密码来实现认证功能

    nginx通过ngx_http_auth_basic_module 模块可以实现通过使用用户和密码来访问网页,这种通过用户和密码的机制是通过HTTP Basic Authentication协议来实现 ...

  5. cmd oracle sys登录_oracle忘记sys/system/scott用户密码的解决方法

    一.忘记除SYS.SYSTEM用户之外的用户的登录密码. 用SYS (或SYSTEM)用户登录. CONN SYS/PASS_WORD AS SYSDBA; 使用如下语句修改用户的密码. ALTER ...

  6. oracle create user identified by,Oracle system用户忘记密码的解决方法

    Oracle system用户是大家经常用到的,下面就为您介绍Oracle system用户在忘记密码情况下的解决方法,如果您在使用Oracle system用户时遇到过类似的问题,不妨一看. SQL ...

  7. oracle scott密码忘记,oracle忘记sys/system/scott用户密码的解决方法

    这篇文章主要为大家详细介绍了oracle忘记sys/system/scott用户密码的解决方法,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 一 ...

  8. oracle scott密码忘记,oracle忘记sys/system/scott用户的密码怎么办

    一.忘记除SYS.SYSTEM用户之外的用户的登录密码. 用SYS (或SYSTEM)用户登录: CONN SYS/PASS_WORD AS SYSDBA; 使用如下语句修改用户的密码: ALTER ...

  9. oracle数据库账号密码忘记,忘记了oracle数据库用户的密码

    当我们忘记了oracle数据库的用户的密码,同时又不知道比该用户权限更大的用户的密码,该怎么办呢?下面是学习啦小编收集整理的忘记了oracle数据库用户的密码,希望对大家有帮助~~ 忘记了oracle ...

最新文章

  1. Spotify敏捷模式详解三部曲第一篇:研发团队
  2. Spark读取Hive中的数据加载为DataFrame
  3. 「mysql优化专题」单表查询优化的一些小总结,非索引设计(3)
  4. python filter()函数(与map()、reduce()函数用法类似,根据给定函数判断列表元素是True还是False,返回剔除元素后的元素列表)
  5. Tensorflow 错误总结:NameError: name 'core' is not defined
  6. 使用SAT研究IBASE hierarchy读取性能
  7. Android在全球的市场份额跃居全球第一
  8. ES6 -数组的扩展
  9. 随笔 | 写代码时极有可能面临的焦虑
  10. wifi万能钥匙自媒体平台开放注册(付注册流程)
  11. 数据结构之究竟什么是树
  12. 初中级工程师是否应急于学习html5?
  13. android aysncTask面试解析
  14. 计算机高程知识点,数字测图原理与方法知识点
  15. linux查找外接摄像头端口
  16. python图书销售系统
  17. #444 沸腾客厅:在播客里温暖一个冬天
  18. android车载系统测试,【图】原生安卓来了!Polestar 2智能车联测试_汽车之家
  19. 两台windows电脑互相备份
  20. 【无标题】Android10 编译错误

热门文章

  1. cron linux_如何在Linux中使用cron
  2. zappos核心价值_尽管Zappos说了什么,中层管理人员仍然很重要
  3. (8)css常用样式属性3
  4. 第二十二章:洗净皮衣
  5. 武德 | 年轻人!这才叫真正的程序猿的武德
  6. 面试官 | Java转List三种方式,你说说吧。我。。懵逼。啥时候有三种了
  7. 树莓派3B+ Ubuntu mate16.04 开启热点
  8. linux网站宝塔无法访问ipv6,centos7宝塔面板服务器开启纯IPV6访问
  9. switch off c语言,逆向工程 | C 语言之 switch-case 分支
  10. cSpring Boot整合RabbitMQ详细教程