Oracle系列---【如何修改oracle密码?优雅切换密码】

1.问题描述

接审计要求,已上线的数据库的密码属于弱口令,需要更改成严格的,但是服务又不能停机,这种情况下,只能在原有用户名上新增代理用户,这里不能用新建用户的方案,因为用户间不能共用schema,所以只能用新增代理用户的方案。切换到代理用户的过程中发现,"ORA-28000: The account is locked",代理用户PROXY_COM_SMM[COM_SMM]被锁了,这是因为COM_SMM被锁了导致的。oracle用户之所以被锁住,主要是因为修改了数据库用户COM_SMM的密码,应用配置文件中的COM_SMM的密码未来得及修改导致的。

2.解决方案

采用代理用户的原因:代理用户和真实用户可以共用一个schema,并且密码相互独立,可以当做新用户使用。
通过下面的sql定位到是哪个服务器的账户密码错误导致的用户被锁定,先停掉对应的服务,再解锁用户即可。

# 查看COM_SMM用户是否被锁住,"ORA-28000: The account is locked",下面的28000就是账户被锁的错误码。
SELECT * FROM DBA_AUDIT_SESSION WHERE USERNAME='COM_SDM' AND ACTION_NAME='LOGON' AND RETURNCODE=28000 ORDER BY "TIMESTAMP" DESC;

# 查看COM_SMM用户的登录失败的日志,通过USERHOST定位到是哪台机器导致的,下面的1017指的是账户名密码错误的错误码。
SELECT * FROM DBA_AUDIT_SESSION WHERE USERNAME='COM_SMM' AND ACTION_NAME='LOGON' AND RETURNCODE=1017 ORDER BY "TIMESTAMP" DESC;

# 解锁COM_SMM用户
ALTER USER COM_SMM ACCOUNT UNLOCK;

posted on   少年攻城狮  阅读(64)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

导航

统计

点击右上角即可分享
微信分享提示