使用sqlplus登陆oracle数据库时提示“ORA-28002: 7 天之后口令将过期” 或提示 密码过期。
遇到这种情况,一般是用户的过期时间为默认(default=180天),意思就是用户到期了。
经过网上的资料查阅,成功解决了该问题。
------------------------------------------------------------
1、在oracle用户下,sqlplus / as sysdba
sql>SELECT username,PROFILE FROM dba_users;
查出出问题的用户的profile属性为DEFAULT。
****如果没有改过default属性的有效期,一般默认的为180天。
2、查看指定概要文件(如default)的密码有效期设置
sql>SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name=_LIFE_TIME';
PROFILE RESOURCE_NAME RESOURCE LIMIT
--------------------------------------------------------
DEFAULT PASSWORD_LIFE_TIME PASSWORD 180
3、将密码有效期由默认的180天修改成“无限制”:
sql>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
修改之后不需要重启动数据库,会立即生效。
4、已经被提示的帐户必须再改一次密码,举例如下:
sql> alter user smsc identified by <原来的密码>
--------------------------------------------------------
再次查询概要文件,如下:
此时,看到default已改为unlimited,这样就OK了。
--------------------------------------------------------
关于这个问题的解决思路,大致有两种,
1、公司管理严格的话是定期修改密码。
2、永久解决问题:就是修改有效期(改为永久有效)。