Come sbarazzarsi del messaggio ORA-28002 la password scadrà entro 6 giorni?


18

Ho un utente che riceve un ORA-28002 che indica che la password scadrà entro sei giorni. Ho eseguito il seguente:

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; 

Ma quando provo ad accedere come utente, il messaggio è ancora lì. Eseguendo questo:

select * from dba_profiles where RESOURCE_NAME LIKE 'PASSWORD_LIFE_TIME';

mostra che i valori sono stati davvero cambiati in ILLIMITATO.

Risposte:


17

La password è stata contrassegnata come "SCADUTA" o contrassegnata con un "DATA SCADENZA" in dba_users. Dovrai cambiarlo. Puoi ripristinarlo con la stessa password. Il modo più semplice sarebbe impostare la password "per valori". Questo di solito ignora il controllo della cronologia.

12:28:33 SQL> select * from dba_users where username = 'MYUSER1';

USERNAME                          USER_ID PASSWORD
------------------------------ ---------- ------------------------------
ACCOUNT_STATUS                   LOCK_DATE          EXPIRY_DATE
-------------------------------- ------------------ ------------------
DEFAULT_TABLESPACE             TEMPORARY_TABLESPACE           CREATED
------------------------------ ------------------------------ ------------------
PROFILE                        INITIAL_RSRC_CONSUMER_GROUP
------------------------------ ------------------------------
EXTERNAL_NAME
--------------------------------------------------------------------------------
MYUSER1                               338 66856982BE5CD23F
OPEN
USERS                          TEMP                           17-JAN-11
DEFAULT                        DEFAULT_CONSUMER_GROUP



Elapsed: 00:00:00.03
12:28:43 SQL> alter user myuser1 password expire;

User altered.

Elapsed: 00:00:00.00
12:29:11 SQL> select * from dba_users where username = 'MYUSER1';

USERNAME                          USER_ID PASSWORD
------------------------------ ---------- ------------------------------
ACCOUNT_STATUS                   LOCK_DATE          EXPIRY_DATE
-------------------------------- ------------------ ------------------
DEFAULT_TABLESPACE             TEMPORARY_TABLESPACE           CREATED
------------------------------ ------------------------------ ------------------
PROFILE                        INITIAL_RSRC_CONSUMER_GROUP
------------------------------ ------------------------------
EXTERNAL_NAME
--------------------------------------------------------------------------------
MYUSER1                               338 66856982BE5CD23F
EXPIRED                                             17-JAN-11
USERS                          TEMP                           17-JAN-11
DEFAULT                        DEFAULT_CONSUMER_GROUP



Elapsed: 00:00:00.03
12:29:14 SQL>

Il formato di questo è "alter USER utente identificato dai valori 'hash da dba_users.password';"

[TEST] C:\>sqlplus system

SQL*Plus: Release 10.2.0.4.0 - Production on Mon Jan 17 12:18:16 2011

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

Enter password:

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

new: showmode BOTH
12:18:17 SQL> prompt end of LOGIN.SQL
end of LOGIN.SQL
12:18:17 SQL> create user myuser1 identified by mypassword1;

User created.

Elapsed: 00:00:00.01
12:18:21 SQL> grant connect, resource to myuser1;

Grant succeeded.

Elapsed: 00:00:00.01
12:18:30 SQL> connect myuser1/mypassword1
Connected.
12:18:39 SQL> connect system
Enter password:
Connected.
12:18:51 SQL> alter user myuser1 password expire;

User altered.

Elapsed: 00:00:00.00
12:19:05 SQL> connect myuser1/mypassword1
ERROR:
ORA-28001: the password has expired


Changing password for myuser1
New password:
Retype new password:
Password changed
Connected.
12:19:16 SQL> connect myuser1/mypassword1
ERROR:
ORA-01017: invalid username/password; logon denied


Warning: You are no longer connected to ORACLE.
12:19:21 SQL> connect system
Enter password:
Connected.
12:19:34 SQL> alter user myuser1 identified by mypassword1;

User altered.

Elapsed: 00:00:00.01
12:19:49 SQL> alter user myuser1 identified by mypassword1 password expire;

User altered.

Elapsed: 00:00:00.01
12:20:26 SQL> select username, password from dba_users where username = 'MYUSER1';

USERNAME                       PASSWORD
------------------------------ ------------------------------
MYUSER1                        66856982BE5CD23F

Elapsed: 00:00:00.01
12:20:36 SQL> alter user myuser1 identified by values '66856982BE5CD23F' ;

User altered.

Elapsed: 00:00:00.01
12:21:01 SQL> connect myuser1/mypassword1
Connected.
12:21:13 SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

15

Trova le 4 query seguenti ed esegui queste query dal database di sistema.

//For seeing Full user details
SELECT profile FROM dba_users WHERE username = 'SYSTEM';

//This query is used to change the password life time to unlimited
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; 

//This query is used to chagne the default password.
alter user SYSTEM identified by "system";

1
Abbastanza facile e ben spiegato.
S. Mayol,

5

Un collega che utilizza Toad ha visualizzato l'account indicato come visualizzato nei Browser schema sotto Utenti.

Siamo riusciti facendo clic con il pulsante destro del mouse su Sblocca utente . Nella finestra di dialogo Modifica utente abbiamo reinserito la vecchia password e deselezionato la casella di controllo Password bloccata.


3

È necessario modificare nuovamente la password per rendere effettivo il nuovo limite.


Voglio mantenere la stessa password
bernd_k

1
La risposta di REW soddisfa questo requisito aggiuntivo presupponendo che non si disponga di un profilo che impedisce il riutilizzo della password. Se sei su 11g o più tardi, l'hash della password non è in dba_users, quindi dovrai scaricarlo da sys.user $. Vedi laurentschneider.com/wordpress/2007/08/…
Leigh Riffel il

1

È necessario modificare l'account utente. Innanzitutto connettiti al tuo sysaccount e da lì puoi eseguire il passaggio di seguito indicato:

alter user practice identified by password;

questo risolverà il tuo problema ...


1

So che questo è vecchio, ma per coloro che utilizzano Oracle SQL Developer attenersi alla seguente procedura:

  • Utilizzare un altro utente per accedere a qualsiasi connessione al database in uso, è possibile utilizzare il nome utente "system" o "sys" predefinito con qualsiasi password presente.

  • Apri la struttura delle connessioni e trova il nodo "Altri utenti" e aprilo in questo modo:

inserisci qui la descrizione dell'immagine

  • Trova il tuo nome utente nelle note figlio in "Altri utenti" e fai clic con il tasto destro per modificare l'utente in questo modo:

inserisci qui la descrizione dell'immagine

  • Digita la nuova password e Deseleziona la password scaduta, quindi applica. Fai di nuovo clic con il pulsante destro del mouse su Modifica utente per vedere se le impostazioni sono state modificate, se lo desideri.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.