Я могу использовать следующее заявление, чтобы разблокировать аккаунт:
ALTER USER username ACCOUNT UNLOCK
Но какое заявление я могу использовать, чтобы убедиться, что учетная запись в данный момент заблокирована?
Как уже показывает ответ Dba , информация о состоянии учетной записи доступна через dba_users
представление. Связанный с пользователем, имеющим соответствующие права, его также можно использовать для идентификации «неактивных пользователей»:
SELECT username, account_status, created, lock_date, expiry_date
FROM dba_users
WHERE account_status != 'OPEN';
сообщает вам для каждой заблокированной / просроченной учетной записи, когда она была создана, в каком состоянии она находится (заблокирована, просрочена, просрочена и заблокирована, просрочена (льготная)) и в какое время она была заблокирована или просрочена. Полезно для «очистки»; но вы должны учитывать, что некоторые учетные записи могут быть просто «держателями данных», к которым никогда не подключаются из соображений безопасности, но которые требуются либо самой Oracle, либо вашими приложениями. Хорошим примером для них является системная учетная запись OUTLN
. Поэтому позаботьтесь о том, чтобы только «вычищать» аккаунты, которые, как вы знаете, не используются / не нужны
Используйте DBA_USERS
View.
SELECT username, account_status
FROM dba_users;
Вы можете запросить это, указав имя пользователя также:
select username, account_status
from dba_users
where username = 'your_user_name';