Oracle password expired как убрать
Перейти к содержимому

Oracle password expired как убрать

  • автор:

Как продлить срок действия пароля и где следить за его актуальностью?

Давно как-то ставил Oracle 11 себе на виртуальную машину. А сегодня понадобилось работать опять с системой. Попытался подключиться, но мне говорят срок действия пароля истек на пользователя system . Как можно исправить эту проблему? Где надо продлевать пароль и следить за его актуальностью?

Отслеживать
51.6k 201 201 золотой знак 65 65 серебряных знаков 246 246 бронзовых знаков
задан 13 мар 2014 в 8:51
IntegralAL IntegralAL
2,689 5 5 золотых знаков 60 60 серебряных знаков 105 105 бронзовых знаков

с локальной машины можно всегда зайти под встроеной учетной записью системного администратора (as sysdba): community.oracle.com/thread/347053

13 мар 2014 в 8:56

а что с учетными записями пользователей? Мне нужно через system зайти, а не лишь бы только зайти в базу.

13 мар 2014 в 9:06
а дальше как-то так: docs.oracle.com/cd/B19306_01/server.102/b14200/…
13 мар 2014 в 9:14

@jmu, то что вы указали в первом сообщение будет работать для 11g? Не поверю что в оракле такая дыра была, чтобы без пароля входить под админом. гранты и привилегии временные что ли? Почему пароли устаревают? Вопросы без ответов.

13 мар 2014 в 9:33

> Не поверю что в оракле такая дыра была, чтобы без пароля входить под админом. проблема не в том что системный администратор может войти в субд а в в этом: > потому что любой злоумышленник может сесть за компьютер админа если вы не можете защитить пк от злоумышленника парится по поводу пароля на субд бесполезно

14 мар 2014 в 23:37

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Надо зайти на сервер БД под уч. записью, входящей в группу администраторов БД,
обычно dba (на Windows ORA_DBA ). Если на сервере несколько инстанций БД, то надо убедится, что переменные окружения ORACLE_SID , ORACLE_HOME установлены правильно.

Зайти в SQL*Plus, посмотреть, у кого истёк пароль, продлить его (по умолчанию на 180 дней):

$ sqlplus / as sysdba SQL> select username, account_status, lock_date, expiry_date 2 from dba_users where account_status like 'EXPIRED%'; USERNAME ACCOUNT_STATUS LOCK_DATE EXPIRY_DATE ---------------- ---------------- --------------- --------------- ANONYMOUS EXPIRED & LOCKED 20190417T020418 20190417T020418 HR EXPIRED & LOCKED 20200615T202643 20200615T202643 SQL> alter user hr identified by hr account unlock; User altered. 

Собрание заметок из опыта работы с УКМ

В командной строке выполняем такие команды, в конце жмыкаем энтер (если в строке есть ; значит тоже её пишем):

Синим, что может написать система. Черным, что мы пишем. (в скобках мой коментарий, его не пишем)

C :\ Documents and Settings \Администратор> Set nls _ lang = russian _ cis . ru 8 pc 866 (только для оракл 11, что бы видеть читабельные надписи)

C :\ Documents and Settings \Администратор > sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 — Production on Tue May 31 16:38:51 2011

Copyright (c) 1982, 2010, Oracle. All rights reserved.

SQL> conn sys/

ORA-28001: the password has expired

Изменение пароля для sys

Новый пароль qqq (набранные символы не будут отображаться)

Повторите новый пароль: qqq (набранные символы не будут отображаться)

Пароль изменен

SQL>select username,ACCOUNT_STATUS,EXPIRY_DATE from dba_users; (смотрим у кого просрочен пароль) 
USERNAME ACCOUNT_STATUS EXPIRY_D ------------------------------ -------------------------------- -------- ПЕТРОВ EXPIRED & LOCKED 31/05/11 
И т.п. 
SQL> ALTER PROFILE default LIMIT password_life_time UNLIMITED; (стираем сроки «годности») 
SQL> commit; (на всякий пожарный случай) 
SQL>select username,ACCOUNT_STATUS,EXPIRY_DATE from dba_users; (смотрим у кого просрочен пароль) 
USERNAME ACCOUNT_STATUS EXPIRY_D ------------------------------ -------------------------------- -------- ПЕТРОВ OPEN  
И т.п. 

SQL> conn supermag/

ORA-28001: the password has expired

Изменение пароля для sys

ORA-28001: Пароль истек

Я столкнулся с проблемой с моей базой данных в Oracle, когда я открыл свою базу данных, появилось сообщение с: «ORA-28001: Пароль истек» Я обновил свою учетную запись несколькими способами:

sqlplus /nolog SQL> connect / as SYSDBA Connected. SQL> SELECT username, account_status FROM dba_users WHERE ACCOUNT_STATUS LIKE '%EXPIRED%'; SQL> ALTER USER system IDENTIFIED BY system; User altered. SQL> ALTER USER system ACCOUNT UNLOCK; User altered. SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; Profile altered. SQL> exit 

Я проверяю и вижу это, моя учетная запись:’system’ имеет OPEN, но я открываю ее в Oracle SQL Developer, она все еще имеет оповещение:

ORA-28001: The password has expired 

Я перечислил много ссылок, но все еще остается проблема, как это исправить? oracle
Поделиться Источник 14 ноября 2016 в 02:34

14 ответов

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; alter user EPUSR100 identified by EPUSR100 account unlock; commit; 

Поделиться 14 ноября 2017 в 01:51
Я исправил проблему, просто нужно проверить:

open_mode from v$database 

а затем проверить:

check account_status to get mode information 

а затем использовать:

alter user myuser identified by mynewpassword account unlock; 

Поделиться 14 ноября 2016 в 07:47

Попробуйте связаться с пользователями в SQL Plus, чей пароль истек. Он запросит новый пароль. Введите новый пароль и подтвердите пароль. Это будет работать Изображение вывода SQL Plus

Поделиться 21 января 2019 в 06:38

Проверьте «PASSWORD_LIFE_TIME» с помощью Sql > select * from dba_profiles; Установите на Никогда не истекающий срок Sql > ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; Затем сбросьте пароль заблокированного пользователя.

Поделиться 14 ноября 2016 в 04:19

C:\>sqlplus /nolog SQL> connect / as SYSDBA SQL> select * from dba_profiles; SQL> alter profile default limit password_life_time unlimited; SQL> alter user database_name identified by new_password; SQL> commit; SQL> exit; 

Поделиться 26 апреля 2019 в 06:13

  • Подключение к Oracle

connected to oracle

sqlplus sys/root как sysdba

  • Проверьте статус и дату окончания срока действия для пользователя

SELECT username, account_status, expiry_date FROM dba_users;

status

  • Измените пароль для пользователя, чтобы разрешить истечение

ALTER USER dummy_user IDENTIFIED BY dummy_password;

change password

  • Раблокируйте учетную запись пользователя, если она заблокирована

ALTER USER dummy_user ACCOUNT UNLOCK;

  • Установите неограниченный срок действия пароля, чтобы избежать проблем в будущем

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

password unlimit

  • Снова проверьте статус пользователя, чтобы проверить дату окончания срока действия. Статус учетной записи теперь открыт, а дата окончания неограничена.

SELECT username, account_status, expiry_date FROM dba_users;

status1

SELECT username, account_status, expiry_date FROM dba_users;

ALTER USER dummy_user IDENTIFIED BY dummy_password;

ALTER USER dummy_user ACCOUNT UNLOCK;

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

Поделиться 18 марта 2021 в 08:52

У меня была та же проблема даже после изменения пароля, она не отражалась в SQLDEVELOPER.

Atlast следующий решил мою проблему:

  1. Откройте командную строку Propmt
  2. Введите sqlplus
  3. Войдите в систему как sysdba
  4. Выполните следующую команду: изменить имя пользователя, идентифицированное NEW_PASSWORD;

Поделиться 16 октября 2019 в 05:51

У меня была та же проблема, я пытаюсь войти в базу данных, появляется сообщение с: «ORA-28001: Пароль истек», я исправил проблему простыми шагами

1.Откройте командную строку 2.Тип sqlplus 3.Он попросит ввести пароль, вы можете дать старый пароль, он покажет, что пароль истек ORA-28001.Он попросит новый пароль и введет пароль 5.Он изменится с новым паролем 6.Перейдите в базу данных sql и попробуйте подключиться с новым паролем, он подключится.

Поделиться 20 июля 2020 в 16:05

Я запускаю Oracle 18c в контейнере Docker, где проблемная база данных является базой данных Pluggable, поэтому мне пришлось использовать другой подход:

  1. Войдите в SYSDBA
  2. Переключитесь на базу данных Pluggagle

ALTER SESSION SET CONTAINER=XEPDB2; 
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; 
SELECT dbms_metadata.get_ddl('USER','username') stmt from dual; 

Замените имя_пользователя выше на свое. Вывод будет выглядеть примерно так:

CREATE USER "…" IDENTIFIED BY VALUES '…' 
ALTER USER "…" IDENTIFIED BY VALUES '…' ACCOUNT UNLOCK; 

Это комбинация других ответов здесь и в другом месте.

Поделиться 02 марта 2022 в 01:57

Если вы получаете дополнительную ошибку ORA-65066: Заданные изменения должны применяться ко всем контейнерам , вам нужно сначала переключиться на корневой cdb:

alter session set container=CDB$ROOT; 

а затем команда alter должна работать:

alter user USER identified by NEW_PASSWORD account unlock; 

Поделиться 13 января 2023 в 14:44

Чтобы узнать, какие пользователи истекли, запустите команду SELECT * FROM ;

Чтобы разблокировать пользователей, запустите команду alter, идентифицированную по разблокировке учетной записи;

Поделиться 19 августа 2021 в 11:24

Просто.. Перейдите в командную строку и введите SQLPLUS /@connect Строка нажмите Enter.

Она говорит, что пароль истек и предоставляет возможность ввести новый пароль. Введите новый пароль и вы готовы.

Поделиться 21 мая 2021 в 06:17

Просто перейдите на машину, где находится ваша база данных, найдите окна поиска -> поиск SqlPlus Введите имя пользователя, затем введите пароль, он попросит вас дать новый пароль. При предоставлении нового пароля он скажет, что успешно изменил пароль.

Поделиться 19 января 2021 в 06:08

Вы находитесь в неправильном cdb/pdb, поэтому подключитесь к правой pdb

ORACLE ORA-28001: THE PASSWORD HAS EXPIRED

Приложение перестало соединяться с базой данных Oracle. В логе — ошибка:

ORA-28001: the password has expired

(это означает, что срок действия пароля истек)

Смотрим, у каких пользователей срок истёк:

Oracle PL/SQL
select username,ACCOUNT_STATUS,EXPIRY_DATE from dba_users;

Устанавливаем бесконечный срок для пароля:

Oracle PL/SQL
ALTER PROFILE default LIMIT password_life_time UNLIMITED ;

После чего всё-таки придётся законнектиться sqlplus-ом под нужным пользователем и сменить пароль. Также нужно не забыть поменять его в приложении.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *