ORA-28000: часто возникает ошибка блокировки
Я получаю сообщение об ошибке:
ORA-28000: the account is locked
Это проблема БД? Когда я временно разблокирую учетную запись пользователя с помощью команды ALTER USER username ACCOUNT UNLOCK
, все будет в порядке. Затем через некоторое время та же самая блокировка учетной записи повторяется.
База данных использует oracle XE
У кого-нибудь еще есть такая же проблема?
Ответы
Ответ 1
Одной из причин вашей проблемы может быть политика паролей, которую вы используете.
И если вашей политики нет, проверьте настройки параметров пароля в профиле DEFAULT
со следующим запросом:
SELECT resource_name, limit
FROM dba_profiles
WHERE profile = 'DEFAULT'
AND resource_type = 'PASSWORD';
И при необходимости вам просто нужно изменить PASSWORD_LIFE_TIME
на unlimited
следующим запросом:
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
И эта Ссылка может быть полезна для вашей проблемы.
Ответ 2
Способ разблокировки пользователя:
$ sqlplus /nolog
SQL > conn sys as sysdba
SQL > ALTER USER USER_NAME ACCOUNT UNLOCK;
и откройте новый терминал
SQL > sqlplus / as sysdba
connected
SQL > conn username/password //which username u gave before unlock
- это спросит новый
password:password
- он попросит повторно ввести
password:password
- нажмите ввод, и вы войдете в систему
Ответ 3
Здесь другое решение только разблокирует заблокированного пользователя. Из журнала командной строки, как SYSDBA:
sqlplus "/ as sysdba"
Затем введите следующую команду:
alter user <your_username> account unlock;
Ответ 4
Я столкнулся с подобной проблемой и разрешил ее, выполнив следующие шаги:
- Откройте командную строку Windows.
- Войдите в систему с помощью команды
sqlplus "/ as sysdba"
- Затем выполняется команда
alter user HR identified by password account unlock
Обратите внимание, что password
- это пароль, который я использовал.
Используя вышеуказанные шаги, вы можете подключиться к базе данных Oracle как пользовательский HR с паролем пароля.
Ответ 5
Проверьте параметр PASSWORD_LOCK_TIME
. Если он установлен в 1, вы не сможете разблокировать пароль в течение 1 дня даже после того, как вы выполните команду alter user unlock
.
Ответ 6
Войдите в клиент SQL Plus на компьютере сервера базы данных oracle.
введите имя пользователя: система
введите пароль: пароль [Только если, если вы не изменили пароль по умолчанию при установке БД]
нажмите Ввод. после этого вы увидите состояние соединения.
Теперь,
SQL> ALTER USER [USER_NAME] ACCOUNT UNLOCK;
нажмите ввод.
вы увидите сообщение: user altered.
Теперь попробуйте войти в систему с именем пользователя на клиенте db [sqldeveloper].
Ответ 7
Решение 01
Чтобы разблокировать аккаунт, используйте следующий запрос:
SQL> select USERNAME,ACCOUNT_STATUS from dba_users where username='ABCD_DEV';
USERNAME ACCOUNT_STATUS
-------------------- --------------------------------
ABCD_DEV LOCKED
SQL> alter user ABCD_DEV account unlock;
User altered.
SQL> select USERNAME,ACCOUNT_STATUS from dba_users where username='ABCD_DEV';
USERNAME ACCOUNT_STATUS
-------------------- --------------------------------
ABCD_DEV OPEN
Решение 02
Проверьте параметр PASSWORD_LIFE_TIME
с помощью запроса ниже:
SELECT resource_name, limit FROM dba_profiles WHERE profile = 'DEFAULT' AND resource_type = 'PASSWORD';
RESOURCE_NAME LIMIT
-------------------------------- ------------------------------
FAILED_LOGIN_ATTEMPTS 10
PASSWORD_LIFE_TIME 10
PASSWORD_REUSE_TIME 10
PASSWORD_REUSE_MAX UNLIMITED
PASSWORD_VERIFY_FUNCTION NULL
PASSWORD_LOCK_TIME 1
PASSWORD_GRACE_TIME 7
INACTIVE_ACCOUNT_TIME UNLIMITED
Измените параметр, используя приведенный ниже запрос
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;