ORA-28002: the password will expire within 6 days
In einer 11.2er Datenbank haben die Passwörter angelegter user eine
voreingestellte Laufzeit von 180 Tagen, sofern die default Werte nicht
geändert wurden.
So kann es vorkommen, dass folgende Fehlermeldung beim einloggen erscheint:
(als Beispiel wurde hier der user system verwendet)
ORALIN01:/oracle/oracle max > sqlplus system/manager
SQL*Plus: Release 11.2.0.1.0 Production on Tue Mar 1 17:44:59 2011
Copyright (c) 1982, 2009, Oracle. All rights reserved.
ERROR:
ORA-28002: the password will expire within 6 days
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Sofern die Übergangsfrist ( default ist 7 Tage ) noch nicht
überschritten ist, kann man sich noch an der Datenbank anmelden, erhält
jedoch die Fehlermeldung ORA-28002 incl. der Angabe der restlichen
Passwort Laufzeit.
Im nächsten Schritt sollten wir uns für den jeweiligen user das zugehörige Profil und die Einstellungen näher ansehen:
SQL> select profile from dba_users where username='SYSTEM';
PROFILE
---------------------------------------------------------
DEFAULT
Nähere Informationen erhalten wir mit folgender Query:
col LIMIT for a25
col RESOURCE_NAME for a35
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='DEFAULT';
LIMIT RESOURCE_NAME
----------------------- -----------------------------------
180
PASSWORD_LIFE_TIME
UNLIMITED PASSWORD_REUSE_TIME
UNLIMITED PASSWORD_REUSE_MAX
7
PASSWORD_GRACE_TIME
Ok, wir sehen die besagte Passwort Laufzeit von 180 Tagen und default Übergangszeit von 7 Tagen.
Sehen wir uns an, wann der user angelegt wurde:
SQL> SELECT CREATED FROM DBA_USERS WHERE USERNAME = 'SYSTEM';
CREATED
---------------
01-SEP-10
Stellen wir die "PASSWORD_LIFE_TIME" um und kontrollieren die EInstellung:
SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
Profile altered.
col LIMIT for a30
col RESOURCE_NAME for a35
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='DEFAULT';
LIMIT
RESOURCE_NAME
------------------------------ -----------------------------------
UNLIMITED
PASSWORD_LIFE_TIME
UNLIMITED
PASSWORD_REUSE_TIME
UNLIMITED
PASSWORD_REUSE_MAX
7
PASSWORD_GRACE_TIME
Soweit ok, wir haben die Password Laufzeit auf unendlich eingestellt,
aber ein erneuter login Versuch erzeugt noch immer die gleiche
Fehlermeldung:
ORALIN01:/oracle/oracle max > sqlplus system/manager
SQL*Plus: Release 11.2.0.1.0 Production on Tue Mar 1 18:04:42 2011
Copyright (c) 1982, 2009, Oracle. All rights reserved.
ERROR:
ORA-28002: the password will expire within 6 days
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Es ist notwendig, das Password noch mal neu zu setzen (es kann auch der alte Wert verwendet werden):
SQL>
SQL> alter user system identified by manager;
User altered.
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Der neue login mit dem verwendeten user funktioniert jetzt wieder:
ORALIN01:/oracle/oracle > sqlplus system/manager
SQL*Plus: Release 11.2.0.1.0 Production on Tue Mar 1 18:05:10 2011
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
zurück zur Übersicht: Oracle Database Fehler