网站首页 > 技术文章 正文
需求:
oracle数据库密码过期了,需要修改密码,数据库是RAC环境,同时连接数据库的有多套环境。
事件过程:
停了其中一个环境后(其他环境忘记停了)直接修改某用户数据库密码,第一次修改成功,过了十几分钟后发现用新的用户密码通过PLSQL连接数据库时会卡住,用sqlplus连接也会卡住,用DBA用户二次修改某用户数据库密码,同样会卡住,一直提示excuting。下面是报错截图:
解决思路:
1、初步以为用户给锁定了,但是alter user XX account unlock也会锁住,对其他用户操作没有影响,用该用户连接数据库也会hang住,但是其他用户不受影响
2、从网上资料了解到很有可能是由于11g的密码错误延时验证,造成library cache lock。
一开始检查可以看到,处于library cache lock都是JDBC的应用,sql id是空(即还没有开始跑sql)。
检查ash,发现应用唯一的一个sql id是b84cknyvnyq25,是update user$ 表。这就很容易让人联系起来登陆时用户的验证。
11g有个密码错误延时验证,当应用以错误的密码连接上来时,会持续不断的循环CPU,同时伴随library cache lock。
所以我这里设置event 28401来禁用这个特性。
具体的修改过程:
SQL>show parameter event NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ event string xml_db_events string enable SQL>alter system set event='28401 trace name context forever,level 1' scope=spfile; System altered.
-----问题来了,需要重启才能生效,但是我们的数据库是集中式数据库,不能重启!
3、查看该用户的session,发现有48个会话数,通过里面一个字段(记录了服务器hostname)发现有其他环境连接了数据库服务器,后来才想起外网也有一套环境应用还是用老的密码在连这个数据库,将外网环境停止,释放连接后过段时间用正确的账号密码可以连接,会话数也是释放了。
此时再启动应用也可以正常访问。
总结:
虽然之前一直知道oracle有这个特性,但还是疏忽大意了,上面是今天在处理事故的一个过程,希望对大家有点帮助。
在修改数据库密码的时候提前查看是不是有其他会话正在用这个账号密码连接数据库,确定没有其他session再做修改密码的操作会更安全。
后面会分享更多关于DBA内容,感兴趣的朋友可以关注下~
猜你喜欢
- 2024-10-16 oracle 11g dba用户秘密修改其他用户密码
- 2024-10-16 见招拆招:破解Oracle数据库密码 oracle数据库破解码怎么用
- 2024-10-16 【Oracle】查看 dblink 密码方法 oracle查看dbname
- 2024-10-16 oracle 11g“密码延迟验证”特性 oracle11密码永不过期
- 2024-10-16 破解ORACLE19C RAC的SYS用户密码有效期180天
- 2024-10-16 Oracle密码过期如何取消密码180天限制及密码180天过期
- 2024-10-16 Oracle视图dba_users_with_defpwd查看哪些用户还在使用默认密码
- 2024-10-16 Oracle 数据库设置密码永不过期 oracle数据库密码过期时间
- 2024-10-16 ORACLE11G 用户密码过期了怎么办?
- 2024-10-16 在Oracle中,哪个视图可以查询用户的密码是不是原始默认密码?
你 发表评论:
欢迎- 06-24发现一款开源宝藏级工作流低代码快速开发平台
- 06-24程序员危险了,这是一个 无代码平台+AI+code做项目的案例
- 06-24一款全新的工作流,低代码快速开发平台
- 06-24如何用好AI,改造自己的设计工作流?
- 06-24濮阳网站开发(濮阳网站建设)
- 06-24AI 如何重塑前端开发,我们该如何适应
- 06-24应届生靠这个Java简历模板拿下了5个offer
- 06-24服务端性能测试实战3-性能测试脚本开发
- 567℃几个Oracle空值处理函数 oracle处理null值的函数
- 566℃Oracle分析函数之Lag和Lead()使用
- 550℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 545℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 544℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 536℃【数据统计分析】详解Oracle分组函数之CUBE
- 526℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 519℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端富文本编辑器 (47)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle的函数 (57)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)