Я использую Oracle для разработки. Срок действия пароля для учетной записи начальной загрузки, которую я всегда использую для восстановления базы данных, истек.
Как навсегда отключить срок действия пароля для этого пользователя (и всех остальных пользователей)?
Я использую Oracle 11g, у которого пароли истекают по умолчанию.
Ответы:
Чтобы изменить политику истечения срока действия пароля для определенного профиля пользователя в Oracle, сначала проверьте, какой профиль использует пользователь:
Затем вы можете изменить лимит, чтобы он никогда не истек, используя:
Если вы хотите предварительно проверить лимит, вы можете использовать:
источник
select username,expiry_date,account_status from dba_users;
для просмотра account_status. для тех, у кого истекает срок действия учетной записи, вам может понадобиться сбросить пароль один раз в последний раз.ALTER USER Bob PROFILE MyNonExpiringProfile;
.Для разработки вы можете отключить политику паролей, если никакой другой профиль не был установлен (т.е. отключить истечение срока действия пароля по умолчанию):
Затем сбросьте пароль и разблокируйте учетную запись пользователя. Это никогда не должно истечь снова:
источник
Поскольку другие ответы указывают, что изменение профиля пользователя (например, профиля «ПО УМОЛЧАНИЮ») приведет к тому, что пароли, которые после установки никогда не истекут.
Однако, как отмечает один из комментаторов, пароли, установленные под старыми значениями профиля, могут быть уже истекшими, и (если после указанного льготного периода профиля) учетная запись заблокирована.
Решение для паролей с истекшим сроком действия с заблокированными учетными записями (как указано в ответе на комментарий) заключается в использовании одной версии команды ALTER USER:
Однако команда разблокировки работает только для учетных записей, где учетная запись фактически заблокирована, но не для тех учетных записей, которые находятся в льготном периоде, то есть, когда срок действия пароля истек, но учетная запись еще не заблокирована. Для этих учетных записей пароль должен быть сброшен другой версией команды ALTER USER:
Ниже приведен небольшой сценарий SQL * Plus, который привилегированный пользователь (например, пользователь 'SYS') может использовать для сброса пароля пользователя к текущему существующему хешированному значению, хранящемуся в базе данных.
РЕДАКТИРОВАТЬ: более старые версии Oracle хранят пароль или хэш пароля в столбце pword, более новые версии Oracle хранят хэш пароля в столбце spare4. Сценарий ниже изменен, чтобы собрать столбцы pword и spare4, но использовать столбец spare4 для сброса учетной записи пользователя; изменить по необходимости.
источник
Я считаю, что срок действия пароля по умолчанию никогда не истекает. Тем не менее, вы можете настроить профиль для вашего пользовательского набора и установить
PASSWORD_LIFE_TIME
. Смотрите orafaq для более подробной информации. Вы можете увидеть здесь пример перспективы и использования одного человека.источник
Я рекомендую отключить истечение срока действия пароля, так как это может привести к возможным угрозам конфиденциальности, целостности и доступности данных.
Однако, если вы хотите так.
Если у вас есть правильный доступ, используйте следующий SQL
Это должно дать вам такой результат.
Теперь вы можете использовать ответ Педро Каррисо https://stackoverflow.com/a/6777079/2432468
источник