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;
愿你走出半生,归来仍是少年!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~