Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment résoudre ORA-28000 le compte est verrouillé

Nous rencontrons souvent l'erreur ORA-28000 le compte est verrouillé dans les activités quotidiennes. Cela peut arriver avec les développeurs et les DBA.

Raisons

Cela peut se produire pour plusieurs raisons

un. Oracle DBA a délibérément verrouillé le compte

alter user <username> account lock;
select status from dba_users where username='&1';

b. Un mot de passe erroné a été tenté plusieurs fois, ce qui a entraîné un verrouillage. Le nombre de FAILED_LOGIN_ATTEMPTS peut être trouvé à l'aide de la requête ci-dessous

select username , profile from dba_users where username='&1';
-----  ------
SCOTT TECH_PW

select * from dba_profiles
where profile='&1' and resource_name='FAILED_LOGIN_ATTEMPTS';

SQL> select RESOURCE_NAME,resource_type,LIMIT from dba_profiles where PROFILE='TECH_PW' ;
RESOURCE_NAME RESOURCE LIMIT
-----------    -------  -----
COMPOSITE_LIMIT KERNEL DEFAULT
SESSIONS_PER_USER KERNEL DEFAULT
CPU_PER_SESSION KERNEL DEFAULT
CPU_PER_CALL KERNEL DEFAULT
LOGICAL_READS_PER_SESSION KERNEL DEFAULT
LOGICAL_READS_PER_CALL KERNEL DEFAULT
IDLE_TIME KERNEL DEFAULT
CONNECT_TIME KERNEL DEFAULT
PRIVATE_SGA KERNEL DEFAULT
FAILED_LOGIN_ATTEMPTS PASSWORD 5
PASSWORD_LIFE_TIME PASSWORD 90
PASSWORD_REUSE_TIME PASSWORD UNLIMITED
PASSWORD_REUSE_MAX PASSWORD 10
PASSWORD_VERIFY_FUNCTION PASSWORD DEFAULT
PASSWORD_LOCK_TIME PASSWORD DEFAULT
PASSWORD_GRACE_TIME PASSWORD DEFAULT

Default values can be found by querying the default profile
SQL> select RESOURCE_NAME,resource_type,LIMIT from dba_profiles where PROFILE='DEFAULT';
RESOURCE_NAME RESOURCE LIMIT
-------------  -------   ------
COMPOSITE_LIMIT KERNEL UNLIMITED
SESSIONS_PER_USER KERNEL UNLIMITED
CPU_PER_SESSION KERNEL UNLIMITED
CPU_PER_CALL KERNEL UNLIMITED
LOGICAL_READS_PER_SESSION KERNEL UNLIMITED
LOGICAL_READS_PER_CALL KERNEL UNLIMITED
IDLE_TIME KERNEL UNLIMITED
CONNECT_TIME KERNEL UNLIMITED
PRIVATE_SGA KERNEL UNLIMITED
FAILED_LOGIN_ATTEMPTS PASSWORD UNLIMITED
PASSWORD_LIFE_TIME PASSWORD UNLIMITED
PASSWORD_REUSE_TIME PASSWORD UNLIMITED
PASSWORD_REUSE_MAX PASSWORD UNLIMITED
PASSWORD_VERIFY_FUNCTION PASSWORD NULL
PASSWORD_LOCK_TIME PASSWORD UNLIMITED
PASSWORD_GRACE_TIME PASSWORD UNLIMITED

Nous pouvons également trouver où toutes les tentatives de connexion ont échoué en activant l'audit

audit session whenever not successful;

select OS_USERNAME,USERNAME,USERHOST,to_char(timestamp,'MM-DD-YYYY HH24:MI:SS'), returncode
from dba_audit_trail
where returncode > 0

Solution

Dans le cas où cela ne se produit pas exprès, nous pouvons résoudre le problème en utilisant l'approche ci-dessous en conséquence

(1) Déverrouillez le compte à l'aide de la commande ci-dessous

alter user <username> account unlock;

Avant d'exécuter la requête ci-dessus, assurez-vous que la raison de l'erreur est triée. Sinon, l'erreur se reproduira.

(2) Si la raison de l'erreur est inconnue et jusqu'à ce que le problème soit résolu, nous pouvons créer un autre profil avec un nombre illimité de FAILED_LOGIN_ATTEMPTS

SQL> CREATE PROFILE TECH_TMP LIMIT
FAILED_LOGIN_ATTEMPTS UNLIMITED
;

Et attribuez-le à l'utilisateur qui rencontre le problème

alter user scott profile TECH_TMP;
alter user scott account unlock;

Une fois que la cause est établie et que nous connaissons la source d'où provient le mot de passe invalide, nous pouvons changer le profil utilisateur pour le précédent et supprimer le profil nouvellement créé

alter user scott profile TECH_PW;
drop profile TECH_TMP;

J'espère que vous aimez ce message sur ORA-28000, le compte est verrouillé et cela vous aidera dans vos activités quotidiennes. Merci de nous faire part de vos commentaires

Articles connexes

ORA-01017 :nom d'utilisateur/mot de passe invalide ; connexion refusée
Comment se connecter en tant qu'utilisateur sans changer le mot de passe dans la base de données Oracle
Créer un utilisateur dans Oracle
Comment créer des utilisateurs et des rôles dans la base de données Oracle 12c
ORA-00904
ORA-28002
https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_4003.htm