转自:http://blog.csdn.net/xqy1522/archive/2010/04/13/5480590.aspx
今天在使用sqlplus时出现
===============================================
ERROR:
ORA-28002: the password will expire within 6 days
===============================================
提示密码快过期了,由于需要连接的测试数据库,所以决定将密码设置成永不过期。
1.查看用户的profile设置:
======================================================
SQL> SELECT username,profile FROM dba_users where username like 'TEST1';
USERNAME PROFILE
------------------------------ ------------------------------
TEST1 DEFAULT
========================================================
一般用户的profile设置都为DEFAULT。
2.查看系统profiles中PASSWORD_LIFE_TIME设置。
============================================================
SQL> SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='P
ASSWORD_LIFE_TIME';
PROFILE RESOURCE_NAME RESOURCE LIMIT
------------------------------ -------------------------------- ------------------------------------------------
DEFAULT PASSWORD_LIFE_TIME PASSWORD 180dys
==============================================================
3.修改DBA_PROFILES中PASSWORD_LIFE_TIM的设置,改为ULIMITED。
=================================================================
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
=================================================================
修改后设置立即生效,不需要重启数据库,此时密码永远不会过期。
4.已经被报告了密码快要过期的账户必须再改一次密码(需要DBA权限)
====================================================================
sqlplus / as sysdba
SQL> alter user usernameidentified by *****;
=====================================================================
在连接数据再也不会出现密码过期的事情了。