Wie der ORA-28002 Nachricht loswerden das Passwort wird innerhalb von 6 Tagen ablaufen?


18

Ich habe einen Benutzer, der ein ORA-28002 erhält, das angibt, dass das Kennwort innerhalb von sechs Tagen abläuft. Ich habe folgendes ausgeführt:

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; 

Aber wenn ich versuche, mich als Benutzer anzumelden, ist die Nachricht immer noch da. Dies ausführen:

select * from dba_profiles where RESOURCE_NAME LIKE 'PASSWORD_LIFE_TIME';

zeigt, dass die Werte wirklich in UNLIMITED geändert wurden.

Antworten:


17

Das Passwort wurde in dba_users als "EXPIRED" oder mit einem "EXPIRY_DATE" gekennzeichnet. Sie müssen es ändern. Sie können es auf dasselbe Passwort zurücksetzen. Der einfache Weg wäre, das Passwort "nach Werten" zu setzen. Dies umgeht normalerweise die Verlaufsprüfung.

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>

Das Format lautet "alter user USER identifiziert durch Werte 'hash from 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

Finden Sie die folgenden 4 Abfragen und führen Sie diese Abfragen aus der Systemdatenbank aus.

//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
Ziemlich einfach und gut erklärt.
S. Mayol

5

Ein Mitarbeiter, der Toad verwendet, hat das Konto in den Schema-Browsern unter "Benutzer" als angezeigt erkannt.

Wir haben es geschafft, indem wir mit der rechten Maustaste auf Benutzer entsperren geklickt haben . Im Dialogfeld Benutzer ändern haben wir das alte Kennwort erneut eingegeben und das Kontrollkästchen Kennwort ist gesperrt deaktiviert.


3

Sie müssen das Kennwort erneut ändern, damit das neue Limit wirksam wird.


Ich möchte das gleiche Passwort behalten
bernd_k

1
Die Antwort von REW erfüllt diese zusätzliche Anforderung, vorausgesetzt, Sie haben kein Profil, das die erneute Verwendung des Kennworts verhindert. Wenn Sie mit 11g oder neuer arbeiten, befindet sich der Passwort-Hash nicht in dba_users. Daher müssen Sie ihn von sys.user $ beziehen. Siehe laurentschneider.com/wordpress/2007/08/…
Leigh Riffel

1

Sie sollten das Benutzerkonto ändern. Stellen Sie zunächst eine Verbindung zu Ihrem sysKonto her und führen Sie von dort aus den folgenden Schritt aus:

alter user practice identified by password;

Dadurch wird Ihr Problem behoben ...


1

Ich weiß, dass dies alt ist, aber für Benutzer von Oracle SQL Developer gehen Sie wie folgt vor:

  • Verwenden Sie einen anderen Benutzer, um sich bei einer Datenbankverbindung anzumelden. Sie können den Standardbenutzernamen "system" oder "sys" mit dem dort angegebenen Kennwort verwenden.

  • Öffne den Verbindungsbaum und finde den Knoten "Andere Benutzer" und öffne ihn wie folgt:

Bildbeschreibung hier eingeben

  • Suchen Sie Ihren Benutzernamen in den untergeordneten Notizen unter "Andere Benutzer" und klicken Sie mit der rechten Maustaste, um den Benutzer wie folgt zu bearbeiten:

Bildbeschreibung hier eingeben

  • Geben Sie Ihr neues Passwort ein und entfernen Sie das abgelaufene Passwort. Klicken Sie erneut mit der rechten Maustaste auf Benutzer bearbeiten, um festzustellen, ob die Einstellungen geändert wurden.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.