Jak pozbyć się wiadomości ORA-28002 hasło wygaśnie w ciągu 6 dni?


18

Mam użytkownika otrzymującego ORA-28002 wskazujący, że hasło wygaśnie w ciągu sześciu dni. Uruchomiłem następujące:

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; 

Ale kiedy próbuję zalogować się jako użytkownik, wiadomość nadal tam jest. Wykonując to:

select * from dba_profiles where RESOURCE_NAME LIKE 'PASSWORD_LIFE_TIME';

pokazuje, że wartości zostały zmienione na NIEOGRANICZONE.

Odpowiedzi:


17

Hasło zostało oznaczone jako „EXPIRED” lub oznaczone „EXPIRY_DATE” w dba_users. Będziesz musiał to zmienić. Możesz przywrócić to samo hasło. Najprostszym sposobem byłoby ustawienie hasła „według wartości”. Zwykle omija to sprawdzanie historii.

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>

Format tego jest następujący: „zmień użytkownika USER identyfikowanego przez wartość skrótu z 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

Znajdź poniższe 4 zapytania i uruchom je z systemowej bazy danych.

//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
Całkiem proste i dobrze wyjaśnione.
S. Mayol,

5

Współpracownik korzystający z Toad widział konto wskazane jako wyglądane w Przeglądarkach schematów w sekcji Użytkownicy.

Udało się, klikając prawym przyciskiem myszy odblokuj użytkownika . W oknie dialogowym Alter użytkownika ponownie wprowadziliśmy stare hasło i odznaczyliśmy pole wyboru Hasło jest zablokowane.


3

Musisz ponownie zmienić hasło, aby nowy limit zaczął obowiązywać.


Chcę zachować to samo hasło
bernd_k

1
Odpowiedź REW spełnia to dodatkowe wymaganie, zakładając, że nie masz profilu uniemożliwiającego ponowne użycie hasła. Jeśli korzystasz z wersji 11g lub nowszej, skrótu hasła nie ma w dba_users, więc musisz go pobrać z sys.user $. Zobacz laurentschneider.com/wordpress/2007/08/…
Leigh

1

Powinieneś zmienić konto użytkownika. Najpierw połącz się ze swoim syskontem, a stamtąd możesz wykonać poniższy krok:

alter user practice identified by password;

to rozwiąże problem ...


1

Wiem, że to stare, ale dla osób korzystających z Oracle SQL Developer wykonaj następujące kroki:

  • Użyj innego użytkownika, aby zalogować się do dowolnego połączenia z bazą danych, możesz użyć domyślnej nazwy użytkownika „system” lub „sys” z dowolnym dostępnym hasłem.

  • Otwórz drzewo połączeń i znajdź węzeł „Inni użytkownicy” i otwórz tak:

wprowadź opis zdjęcia tutaj

  • Znajdź swoją nazwę użytkownika w notatkach podrzędnych w sekcji „Inni użytkownicy” i kliknij prawym przyciskiem myszy, aby edytować użytkownika:

wprowadź opis zdjęcia tutaj

  • Wpisz nowe hasło i Odznacz hasło wygasło, a następnie zastosuj. Kliknij ponownie przycisk edycji użytkownika, aby zobaczyć, czy ustawienia zostały zmienione, jeśli chcesz.
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.