Je peux utiliser la déclaration suivante pour déverrouiller un compte:
ALTER USER username ACCOUNT UNLOCK
Mais quelle déclaration puis-je utiliser pour vérifier que le compte est actuellement verrouillé?
Comme le montre déjà la réponse de Dba , les informations sur l'état du compte sont accessibles via la dba_users
vue. Connecté à un utilisateur disposant des autorisations appropriées, il peut également être utilisé pour identifier les "utilisateurs inactifs":
SELECT username, account_status, created, lock_date, expiry_date
FROM dba_users
WHERE account_status != 'OPEN';
vous indique pour chaque compte verrouillé / expiré quand il a été créé, dans quel état il est (verrouillé, expiré, expiré et verrouillé, expiré (grâce)), et à quelle heure il a été verrouillé ou expiré. Utile pour un "nettoyage"; mais vous devez tenir compte du fait que certains comptes peuvent simplement être des "détenteurs de données" qui ne sont jamais connectés pour des raisons de sécurité, mais qui sont requis soit par Oracle lui-même, soit par vos applications. Un bon exemple pour ceux-ci est le compte système OUTLN
. Veillez donc à ne "nettoyer" que les comptes dont vous savez qu'ils ne sont pas utilisés / nécessaires :)
Vous pouvez l'interroger en spécifiant également le nom d'utilisateur:
select username, account_status
from dba_users
where username = 'your_user_name';