Expired grace oracle что это
Я использую Oracle для разработки. Пароль для начальной загрузки, который я всегда использую для восстановления моей базы данных, истек.
Как отключить срок действия пароля для этого пользователя (и всех других пользователей) на постоянной основе?
Я использую Oracle 11g, у которого есть пароли по умолчанию.
ОТВЕТЫ
Ответ 1
Чтобы изменить политику истечения срока действия пароля для определенного профиля пользователя в Oracle, сначала проверьте, какой профиль используется пользователем:
Затем вы можете изменить предел, чтобы никогда не истекать, используя:
Если вы хотите предварительно проверить лимит, вы можете использовать:
Ответ 2
Для разработки вы можете отключить политику паролей, если другой профиль не задан (т.е. выключение срока действия пароля по умолчанию):
Затем reset пароль и разблокируйте учетную запись пользователя. Он никогда не должен истекать снова:
Ответ 3
Как утверждают другие ответы, изменение профиля пользователя (например, профиль "DEFAULT" ) приведет к тому, что пароли, которые после этого будут установлены, никогда не истекут.
Однако, как отмечает один из комментаторов, пароли, установленные под старыми значениями профиля, могут быть истекли и (если после того, как указанный период льготного периода профиля), учетная запись заблокирована.
Решение для истекших паролей с заблокированными учетными записями (как указано в ответе на комментарий) заключается в использовании одной версии команды ALTER USER:
Однако команда unlock работает только для учетных записей, в которых фактически заблокирована учетная запись, но не для тех учетных записей, которые находятся в льготном периоде, когда пароль истек, но учетная запись еще не заблокирована. Для этих учетных записей пароль должен быть reset с другой версией команды ALTER USER:
Ниже немного SQL * Plus script, что привилегированный пользователь (например, пользовательский "SYS" ) может использовать для reset пароль пользователя для текущего существующего хешированного значения, хранящегося в базе данных.
Ответ 4
Я считаю, что поведение по истечении срока действия пароля по умолчанию никогда не истекает. Однако вы можете настроить профиль для своего пользовательского набора dev и установить PASSWORD_LIFE_TIME . Подробнее см. orafaq. Вы можете увидеть здесь для примера перспективы и использования одного человека.
Ответ 5
Я предлагаю не помешать отключить срок действия пароля, поскольку это может привести к возможным угрозам конфиденциальности, целостности и доступности данных.
Однако, если вы этого хотите.
Если у вас есть правильное использование доступа после SQL
SELECT имя пользователя, account_status FROM dba_users;
Я использую Oracle для разработки. Срок действия пароля для учетной записи начальной загрузки, которую я всегда использую для восстановления базы данных, истек.
Как навсегда отключить срок действия пароля для этого пользователя (и всех остальных пользователей)?
Я использую Oracle 11g, у которого пароли истекают по умолчанию.
Я думаю, что я сделаю именно это. Я размышлял, для какого сайта он больше подходит, так как это базовый вопрос базы данных, а не вопрос DBA.Чтобы изменить политику истечения срока действия пароля для определенного профиля пользователя в Oracle, сначала проверьте, какой профиль использует пользователь:
Затем вы можете изменить лимит, чтобы он никогда не истек, используя:
Если вы хотите предварительно проверить лимит, вы можете использовать:
Это изменило профиль. Тем не менее, у меня есть пользователи, чьи пароли имеют срок действия, потому что профиль по умолчанию имел его при создании. Как изменить эти учетные записи, чтобы срок действия пароля не истек? select username,expiry_date,account_status from dba_users; для просмотра account_status. для тех, у кого истекает срок действия учетной записи, вам может понадобиться сбросить пароль один раз в последний раз. изменить пользователя aaa разблокировка учетной записи; Для полноты картины , если вам нужно изменить пользователя на другой профиль: ALTER USER Bob PROFILE MyNonExpiringProfile; . в запросе не выбрано ни одной строки "выберите профиль из DBA_USERS, где username = '<username>';"Для разработки вы можете отключить политику паролей, если никакой другой профиль не был установлен (т.е. отключить истечение срока действия пароля по умолчанию):
Затем сбросьте пароль и разблокируйте учетную запись пользователя. Это никогда не должно истечь снова:
Поскольку другие ответы указывают, что изменение профиля пользователя (например, профиля «ПО УМОЛЧАНИЮ») приведет к тому, что пароли, которые после установки никогда не истекут.
Однако, как отмечает один из комментаторов, пароли, установленные под старыми значениями профиля, могут быть уже истекшими, и (если после указанного льготного периода профиля) учетная запись заблокирована.
Решение для паролей с истекшим сроком действия с заблокированными учетными записями (как указано в ответе на комментарий) заключается в использовании одной версии команды ALTER USER:
Однако команда разблокировки работает только для учетных записей, где учетная запись фактически заблокирована, но не для тех учетных записей, которые находятся в льготном периоде, то есть, когда срок действия пароля истек, но учетная запись еще не заблокирована. Для этих учетных записей пароль должен быть сброшен другой версией команды ALTER USER:
Ниже приведен небольшой сценарий SQL * Plus, который привилегированный пользователь (например, пользователь 'SYS') может использовать для сброса пароля пользователя к текущему существующему хешированному значению, хранящемуся в базе данных.
РЕДАКТИРОВАТЬ: более старые версии Oracle хранят пароль или хэш пароля в столбце pword, более новые версии Oracle хранят хэш пароля в столбце spare4. Сценарий ниже изменен, чтобы собрать столбцы pword и spare4, но использовать столбец spare4 для сброса учетной записи пользователя; изменить по необходимости.
Я использую Oracle для разработки. Пароль для начальной загрузки, который я всегда использую для восстановления моей базы данных, истек.
Как отключить срок действия пароля для этого пользователя (и всех других пользователей) на постоянной основе?
Я использую Oracle 11g, у которого есть пароли по умолчанию.
Я думаю, что я сделаю именно это. Я обсуждал, для какого сайта он больше подходит, так как это базовый вопрос о базе данных, а не вопрос DBA.Чтобы изменить политику истечения срока действия пароля для определенного профиля пользователя в Oracle, сначала проверьте, какой профиль используется пользователем:
Затем вы можете изменить предел, чтобы никогда не истекать, используя:
Если вы хотите предварительно проверить лимит, вы можете использовать:
Это изменило профиль. Тем не менее, у меня есть пользователи, чьи пароли имеют срок действия, потому что профиль по умолчанию имел его при создании. Как изменить эти учетные записи, чтобы срок действия пароля не истек? select username,expiry_date,account_status from dba_users; для просмотра account_status. для тех аккаунтов, срок действия которых истекает, вам может понадобиться сбросить пароль один раз в последний раз. изменить пользователя aaa разблокировка учетной записи; Для полноты, если вам нужно сменить пользователя на другой профиль: ALTER USER Bob PROFILE MyNonExpiringProfile; ,Для разработки вы можете отключить политику паролей, если другой профиль не задан (т.е. выключение срока действия пароля по умолчанию):
Затем reset пароль и разблокируйте учетную запись пользователя. Он никогда не должен истекать снова:
Как утверждают другие ответы, изменение профиля пользователя (например, профиль "DEFAULT" ) приведет к тому, что пароли, которые после этого будут установлены, никогда не истекут.
Однако, как отмечает один из комментаторов, пароли, установленные под старыми значениями профиля, могут быть истекли и (если после того, как указанный период льготного периода профиля), учетная запись заблокирована.
Решение для истекших паролей с заблокированными учетными записями (как указано в ответе на комментарий) заключается в использовании одной версии команды ALTER USER:
Однако команда unlock работает только для учетных записей, в которых фактически заблокирована учетная запись, но не для тех учетных записей, которые находятся в льготном периоде, когда пароль истек, но учетная запись еще не заблокирована. Для этих учетных записей пароль должен быть reset с другой версией команды ALTER USER:
Ниже немного SQL * Plus script, что привилегированный пользователь (например, пользовательский "SYS" ) может использовать для reset пароль пользователя для текущего существующего хешированного значения, хранящегося в базе данных.
Есть ли способ изменить статус учетной записи пользователя Oracle с EXPIRE(GRACE) на OPEN без сброса пароля?
Нет, вы не можете напрямую изменить статус учетной записи с EXPIRE (GRACE) на OPEN без сброса пароля.
Если срок действия пароля пользователя базы данных истекает с помощью параметра PASSWORD EXPIRE, то пользователь (или администратор базы данных) должен изменить пароль, прежде чем пытаться войти в базу данных после истечения срока действия.
Однако вы можете косвенно изменить статус на ОТКРЫТО, сбросив хэш пароля пользователя к существующему значению. К сожалению, установка хэша пароля сама по себе имеет следующие сложности, и почти в каждом другом решении пропускается хотя бы одна из этих проблем:
- Различные версии Oracle используют разные типы хэшей.
- Профиль пользователя может предотвратить повторное использование паролей.
- Ограничения профиля могут быть изменены, но мы должны изменить значения обратно в конце.
- Значения профиля не являются тривиальными, поскольку, если значение равно DEFAULT , это указатель на значение профиля DEFAULT . Возможно, нам потребуется рекурсивно проверить профиль.
Следующий, смехотворно большой блок PL/SQL, должен обрабатывать все эти случаи. Следует сбросить любую учетную запись на ОТКРЫТУЮ с тем же хешем пароля, независимо от версии Oracle или настроек профиля. И профиль будет изменен обратно на исходные пределы.
Чтобы остановить это в будущем, сделайте следующее.
- Войдите в sqlplus как sysdba -> sqlplus "/ as sysdba"
- Выполнить -> ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED PASSWORD_LIFE_TIME UNLIMITED;
Чтобы сбросить статус пользователя, выполните запрос:
и выполнить часть или весь набор результатов.
Это выведет что-то вроде этого:
Просто используйте первую часть этого с alter user:
Это вернет учетную запись в состояние OPEN без изменения пароля (при условии, что вы правильно вырезали и вставили значение хеша из вывода DBMS_METADATA.GET_DDL ) и вам даже не нужно знать, какой пароль.
Если вы знаете пароль этого пользователя или хотите его угадать, сделайте следующее:
- alter user NAME_OF_THE_USER identified by OLD_PASSWORD;
и это сбросит пароль к тому же паролю, что и раньше, а также сбросит account_status для этого пользователя.
Читайте также: