1、使用用户登陆数据库有28002错误,提示密码将会过期,但还是可以连接:
SQL> conn account
输入口令:
ERROR:
ORA-28002: the password will expire within 6 days
已连接。
2、查询该用户所使用的profile,如果没有特别设置,一般会是default:
SQL> SELECT username,PROFILE FROM dba_users;
USERNAME PROFILE
------------------------------ ------------------------------
MGMT_VIEW DEFAULT
SYS DEFAULT
SYSTEM DEFAULT
DBSNMP MONITORING_PROFILE
SYSMAN DEFAULT
JIANKONG DEFAULT
ZJXT DEFAULT
GOLDENGATE DEFAULT
ACCQUERY DEFAULT
ACCOUNTOLD DEFAULT
ACCOUNT DEFAULT
3、查询default的profile设置是否有密码限制,发现密码生命期限为180天:
SQL> SELECT * FROM dba_profiles WHERE resource_name='PASSWORD_LIFE_TIME';
PROFILE RESOURCE_NAME RESOURCE LIMIT
-------------------- -------------------- -------- ------------------
DEFAULT PASSWORD_LIFE_TIME PASSWORD 180
MONITORING_PROFILE PASSWORD_LIFE_TIME PASSWORD DEFAULT
4、修改default的profile密码策略为无限制:
SQL> alter profile default limit password_life_time unlimited;
配置文件已更改
SQL> SELECT * FROM dba_profiles WHERE resource_name='PASSWORD_LIFE_TIME';
PROFILE RESOURCE_NAME RESOURCE LIMIT
-------------------- -------------------- -------- ------------------
DEFAULT PASSWORD_LIFE_TIME PASSWORD UNLIMITED
MONITORING_PROFILE PASSWORD_LIFE_TIME PASSWORD DEFAULT
5、但发现还是有该提示,查资料得知,如果修改profile时候已经有该提示的用户还是需要修改密码,保持原密码即可,无提示的用户将不会再提示。
SQL> conn account
输入口令:
ERROR:
ORA-28002: the password will expire within 6 days
已连接。
SQL> alter user account identified by xxx;
用户已更改。
SQL> conn account
输入口令:
已连接。
--转自