Un compte utilisateur qui fonctionnait très bien jusqu’à présent ne peut plus se connecter au serveur Oracle ? Que ce soit avec la console web Enterprise Manager ou via un logiciel type SQL Developer, les comptes utilisateurs Oracle peuvent se verrouiller en raison d’un mot de passe qui a expiré.
L’erreur ORA-28001 affichée par Oracle 12c EM :
Echec de la connexion avec une erreur inattendue
ORA-28001 : the password has expired.
Ce tutoriel explique simplement comment réactiver un compte Oracle avec mot de passe expiré. Cette méthode se fait par l’interface graphique web Oracle Enterprise Manager (EM ou OEM) mais il est également possible de réaliser cette opération en ligne de commande avec les outils SQL Plus ou SQL Developer. Bien sûr, il faut disposer d’un compte valide avec les droits de gestion des utilisateurs Oracle.
Réactiver un compte Oracle 12c avec mot de passe expiré
1. Se connecter à la console Oracle Enterprise Manager avec un compte qui fonctionne (pas forcément en sysdba) : sys, system, sysman ou un compte administrateur créé pour la gestion du serveur.
2. Aller à l’onglet Securité, Utilisateurs (Security, Users sur un serveur en anglais).
3. Cliquer sur la ligne du compte utilisateur dont le mot de passe a expiré : on peut trier par la colonne « Statut du compte » pour le trouver plus facilement. Un icône d’horloge apparait dans cette colonne.
4. Aller dans le menu Actions, Modifier le compte (ou Actions, Alter Account).
5. Modifier le mot de passe du compte utilisateur (Password). Il est possible de renseigner le même mot de passe qu’avant le compte expiré.
La case « Mot de passe expiré » (Password expired) est cochée, ne pas en tenir compte.
La commande SQL équivalente indiquée est :
alter user "WINDOWSFACILE" identified by ******* container=ALL;
6. Le compte est déverrouillé et est à nouveau « ouvert » (open) comme le signale la coche verte de la console EM.
7. La connexion avec ce compte est à nouveau possible.