Comment obtenir une liste des comptes verrouillés / vérifier que le compte est verrouillé?


16

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é?

Réponses:


22

Comme le montre déjà la réponse de Dba , les informations sur l'état du compte sont accessibles via la dba_usersvue. 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 :)


5

Utilisez DBA_USERSAffichage.

SELECT username, account_status
FROM dba_users;

1

Vous pouvez l'interroger en spécifiant également le nom d'utilisateur:

select username, account_status
from dba_users
where username = 'your_user_name';
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.