Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.

Ошибка ORA-28001: the password has expired — отключение срока действия пароля

Обновлено: 26.08.2026  ·  Официальная база знаний
  • Пользователи и службы не могут авторизоваться в СУБД с ошибкой ORA-28001: the password has expired.
  • В DBA_USERS статус учетной записи изменился на EXPIRED.
  • Временные предупреждения ORA-28002: the password will expire within N days были проигнорированы.

1. Проверка срока действия паролей пользователей

SELECT u.username, u.account_status, u.expiry_date, u.profile, p.limit AS life_time_days
FROM dba_users u
JOIN dba_profiles p ON u.profile = p.profile
WHERE p.resource_name = 'PASSWORD_LIFE_TIME'
ORDER BY u.expiry_date ASC;

2. Смена пароля и активация учетной записи

ALTER USER app_user IDENTIFIED BY "CurrentOrNewPassword123";

3. Отключение срока истечения пароля в профиле (PASSWORD_LIFE_TIME)

Для предотвращения повторения ошибки установите бесконечный срок действия:

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
ALTER PROFILE DEFAULT LIMIT PASSWORD_GRACE_TIME UNLIMITED;

4. Создание отдельного профиля для сервисных учетных записей 1С

CREATE PROFILE service_app_profile LIMIT
  PASSWORD_LIFE_TIME UNLIMITED
  PASSWORD_GRACE_TIME UNLIMITED
  FAILED_LOGIN_ATTEMPTS UNLIMITED;

ALTER USER usr1cv8 PROFILE service_app_profile;
Практический опыт инженера: При создании новых баз данных под управлением Oracle всегда сразу переводите параметры PASSWORD_LIFE_TIME и FAILED_LOGIN_ATTEMPTS профиля сервисных схем в UNLIMITED, чтобы предотвратить внезапную остановку production-сервисов.

Частые вопросы (FAQ)

Можно ли продлить пароль, установив тот же самый старый пароль?

Да, если профиль не содержит проверки истории паролей (PASSWORD_REUSE_TIME / PASSWORD_REUSE_MAX), можно просто выполнить ALTER USER user_name IDENTIFIED BY "старый_пароль"; статус сразу сменится на OPEN.

Что означает параметр PASSWORD_GRACE_TIME?

Это льготный период (в днях) после истечения PASSWORD_LIFE_TIME, в течение которого пользователю разрешается вход в систему с выводом предупреждения ORA-28002 для смены пароля.

Как сменить пароль пользователя без знания старого пароля от имени SYSDBA?

Администратор SYSDBA может переопределить пароль в любой момент прямой командой: ALTER USER user_name IDENTIFIED BY "новый_пароль";

Почему после обновления Oracle 19c пароли внезапно стали экспайриться через 180 дней?

В профиле DEFAULT по умолчанию задано значение PASSWORD_LIFE_TIME = 180. Если профиль не был перенастроен в UNLIMITED, через полгода после создания базы все учетные записи переходят в статус EXPIRED.