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 2024-07-08 22:34  少年攻城狮  阅读(22)  评论(0编辑  收藏  举报

导航