Oracle密码过期(the password has expired)解决笔记
原创
©著作权归作者所有:来自51CTO博客作者chushiyunaaa的原创作品,请联系作者获取转载授权,否则将追究法律责任
场景
登录数据库,提示 密码已过期。
解决方案
前提是先有system用户权限,或者可以登录数据库服务器,有sysdba权限。
查看用户的策略都是哪些(默认应该都是default):
SELECT username,PROFILE FROM dba_users;
查看策略为default,并且resource_name='PASSWORD_LIFE_TIME'的数据:
SELECT * FROM dba_profiles s
WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
如果上面查到的规则已经是UNLIMITED,那么无需修改。 如果是限制的,那么要设置为无限制。
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
然后就可以修改密码了:
alter user user_a identified by "user_a"; # 注:这里密码要用双引号,否则报错 ORA-00988: missing or invalid password(s)
应该就可以连上数据库了。