[Oracle] Verifier état d'un utilisateur

Je dois souvent vérifier l'état d'un compte utilisateur posant problème sur des bases Oracle. Il faut donc vérifier le statut du compte au cas ou le compte serait bloqué ou encore mal configuré.

on vérifie le statut du compte

[sql]
SQL> select USERNAME,ACCOUNT_STATUS,LOCK_DATE from dba_users where USERNAME like 'monuser';
USERNAME                       ACCOUNT_STATUS                   LOCK_DATE
------------------------------ -------------------------------- ---------
monuser                        OPEN

On observe donc que le compte utilisateur est ouvert des connexions avec cet utilisateur sont donc possibles.

si l'on souhaite modifier le statut du compte pour le verrouiller/déverrouiller voici la commande:

[sql]
SQL> ALTER USER username ACCOUNT LOCK;

SQL> ALTER USER username ACCOUNT UNLOCK;

On peut ensuite regarder le profile duquel dépend un utilisateur grâce à la commande suivante:

[sql]
SQL> SELECT USERNAME, PROFILE, ACCOUNT_STATUS FROM DBA_USERS where USERNAME = 'monuser';

USERNAME                       PROFILE                        ACCOUNT_STATUS
------------------------------ ------------------------------ --------------------------------
monuser                        DEFAULT                        OPEN

SQL>

Le compte étudié utilise donc le profile DEFAULT. Regardons à présent quelles sont les directives fixées par ce profile.

[sql]
SQL> select * from dba_profiles where profile = 'DEFAULT' ;
PROFILE                        RESOURCE_NAME                    RESOURCE LIMIT
------------------------------ -------------------------------- -------- ----------------------------------------
DEFAULT                        COMPOSITE_LIMIT                  KERNEL   UNLIMITED
DEFAULT                        SESSIONS_PER_USER                KERNEL   UNLIMITED
DEFAULT                        CPU_PER_SESSION                  KERNEL   UNLIMITED
DEFAULT                        CPU_PER_CALL                     KERNEL   UNLIMITED
DEFAULT                        LOGICAL_READS_PER_SESSION        KERNEL   UNLIMITED
DEFAULT                        LOGICAL_READS_PER_CALL           KERNEL   UNLIMITED
DEFAULT                        IDLE_TIME                        KERNEL   UNLIMITED
DEFAULT                        CONNECT_TIME                     KERNEL   UNLIMITED
DEFAULT                        PRIVATE_SGA                      KERNEL   UNLIMITED
DEFAULT                        FAILED_LOGIN_ATTEMPTS            PASSWORD 10
DEFAULT                        PASSWORD_LIFE_TIME               PASSWORD UNLIMITED

PROFILE                        RESOURCE_NAME                    RESOURCE LIMIT
------------------------------ -------------------------------- -------- ----------------------------------------
DEFAULT                        PASSWORD_REUSE_TIME              PASSWORD UNLIMITED
DEFAULT                        PASSWORD_REUSE_MAX               PASSWORD UNLIMITED
DEFAULT                        PASSWORD_VERIFY_FUNCTION         PASSWORD NULL
DEFAULT                        PASSWORD_LOCK_TIME               PASSWORD UNLIMITED
DEFAULT                        PASSWORD_GRACE_TIME              PASSWORD UNLIMITED

16 rows selected.

SQL>

ceci nous permet d'en déduire de nombreuses informations sur le comportement du compte utilisateur.

Liens connexes:

http://download.oracle.com/docs/cd/B28359_01/network.111/b28531/users.htm