Як позбутися від повідомлення ORA-28002, термін дії якого закінчується протягом 6 днів?


18

У мене користувач отримує ORA-28002 із зазначенням, що термін дії пароля закінчується протягом шести днів. Я пробіг наступне:

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; 

Але коли я намагаюся увійти як користувач, повідомлення все одно є. Виконання цього:

select * from dba_profiles where RESOURCE_NAME LIKE 'PASSWORD_LIFE_TIME';

показує, що значення дійсно були змінені на НЕМАГНЕ.

Відповіді:


17

У програмі dba_users пароль було позначено як "EXPIRED" або позначено "EXPIRY_DATE". Вам доведеться це змінити. Ви можете встановити його назад до того ж пароля. Найпростішим способом було б встановлення пароля "за значеннями". Зазвичай це обходить перевірку історії.

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>

Формат цього "alter user USER, ідентифікований значеннями" 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

Знайдіть нижче 4 запити та запустіть ці запити із системної бази даних.

//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
Досить легко і добре пояснюється.
С. Майоль

5

Співробітник, що використовує Toad, побачив обліковий запис, зазначений так, як виглядав у браузерах схем у розділі Користувачі.

Нам це вдалося, клацнувши правою кнопкою миші розблокувати користувача . У діалоговому вікні «Альтер» ми повторно ввели старий пароль і зняли прапорець Пароль заблокований.


3

Вам потрібно змінити пароль ще раз, щоб новий ліміт набув чинності.


Я хочу зберегти той самий пароль
bernd_k

1
Відповідь REW відповідає цій додатковій вимозі, якщо у вас немає профілю, що запобігає повторному використанню пароля. Якщо ви перебуваєте на 11g або пізнішій версії, хеш пароля не знаходиться у dba_users, тому вам потрібно буде отримати його від sys.user $. Дивіться laurentschneider.com/wordpress/2007/08/…
Лей

1

Ви повинні змінити обліковий запис користувача. Спочатку підключіться до свого sysоблікового запису, а звідти ви можете виконати нижче вказаний крок:

alter user practice identified by password;

це вирішить вашу проблему ...


1

Я знаю, що це старе, але для тих, хто використовує Oracle SQL Developer, виконайте наступний крок:

  • Використовуйте інший користувач для входу в будь-яке з'єднання з базою даних, ви можете використовувати ім'я користувача "system" або "sys" за замовчуванням з будь-яким паролем.

  • Відкрийте дерево підключення та знайдіть вузол "Інші користувачі" та відкрийте таке:

введіть тут опис зображення

  • Знайдіть своє ім’я користувача в дочірніх нотатках у розділі "Інші користувачі" та натисніть правою кнопкою миші, щоб редагувати користувача так:

введіть тут опис зображення

  • Введіть новий пароль, і Скасувати скасування пароля минув, а потім застосуйте. Клацніть правою кнопкою миші редагувати користувача ще раз, щоб побачити, чи змінилися налаштування за бажанням.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.