2009年11月11日星期三

ORA-28002: the password will expire within 7 days 問題

在做一個實驗,發現原來的user,失效了,如何處理呢

[oracle@croracle01 ~]$ sqlplus ractest/password

SQL*Plus: Release 11.1.0.6.0 - Production on Sat Nov 14 01:55:18 2009

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

ERROR:
ORA-28002: the password will expire within 7 days

問題原因:

SQL*Plus

[oracle@croracle01 ~]$ oerr ora 28002
28002, 00000, "the password will expire within %s days"
// *Cause:   The user's account is about to about to expire and the password
//           needs to be changed
// *Action:  change the password or contact the DBA
//

Release 11.1.0.6.0 - Production on Sat Nov 14 01:56:34 2009

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options

SQL> select profile from dba_users where username='RACTEST';

PROFILE
------------------------------
DEFAULT

SQL> select LIMIT, RESOURCE_NAME from dba_profiles where RESOURCE_NAME in ('PASSWORD_GRACE_TIME','PASSWORD_LIFE_TIME','PASSWORD_REUSE_MAX','PASSWORD_REUSE_TIME') and PROFILE=(select profile from dba_users where username='RACTEST');

LIMIT                                    RESOURCE_NAME
---------------------------------------- --------------------------------
180                                      PASSWORD_LIFE_TIME
UNLIMITED                                PASSWORD_REUSE_TIME
UNLIMITED                                PASSWORD_REUSE_MAX
7                                        PASSWORD_GRACE_TIME

SQL>

應該是過期了

SQL> select ctime, ptime from sys.user$ where name='RACTEST';

CTIME     PTIME
--------- ---------
15-MAY-09 15-MAY-09

SQL>

也可以這樣:

SQL>  SELECT CREATED FROM DBA_USERS WHERE USERNAME = 'RACTEST';

CREATED
---------
15-MAY-09

SQL>

問題的解決方法一: change password

SQL> conn ractest/password
ERROR:
ORA-28002: the password will expire within 7 days

Connected.
SQL> password
Changing password for RACTEST
Old password:
New password:
Retype new password:
Password changed
SQL>

 

SQL>  select ctime, ptime from sys.user$ where name='RACTEST';

CTIME     PTIME
--------- ---------
15-MAY-09 14-NOV-09

另一個比較徹底的辦法就是不限制用戶的使用時間:

SQL> alter profile default limit password_life_time unlimited;

Profile altered.

SQL> select LIMIT, RESOURCE_NAME from dba_profiles where RESOURCE_NAME in ('PASSWORD_GRACE_TIME','PASSWORD_LIFE_TIME','PASSWORD_REUSE_MAX','PASSWORD_REUSE_TIME') and PROFILE=(select profile from dba_users where username='RACTEST');

LIMIT                                    RESOURCE_NAME
---------------------------------------- --------------------------------
UNLIMITED                                PASSWORD_LIFE_TIME
UNLIMITED                                PASSWORD_REUSE_TIME
UNLIMITED                                PASSWORD_REUSE_MAX
7                                        PASSWORD_GRACE_TIME

SQL>

 

參考:http://arjudba.blogspot.com/2008/07/solution-of-ora-28002-password-will.html

没有评论:

发表评论