Oracle : perte du mot de passe du compte SYSDBA
Il peut arriver au niveau de vieilles instances Oracle de perdre le mot de passe de l’utilisateur SYS. Il existe deux techniques pour en changer sans le connaître.
Utilisation de la commande ALTER USER
A partir du serveur Linux, connectez-vous en tant qu’utilisateur oracle :
su oracle
Vous devez ensuite vous connecter à l’instance Oracle via sqlplus. L’authentification se fait sans que vous ayez à connaître le mot de passe de l’utilisateur SYS :
$ORACLE_HOME/bin/sqlplus / AS SYSDBA
Enfin, pour passer le mot de passe de l’utilisateur sys à pwd à l’aide de la commande ALTER USER, tapez sous l’interpréteur SQL la commande :
ALTER USER sys IDENTIFIED BY "pwd"; EXIT
Utilisation de la commande orapwd
La modification du mot de passe de l’utilisateur SYS modifie le fichier $ORACLE_HOME/dbs/orapworcl, si le SID de l’instance de la base de données Oracle est orcl.
Toujours avec le compte oracle, déplacez vous dans le répertoire $ORACLE_HOME/dbs pour y exécuter la commande $ORACLE_HOME/bin/orapwd. Faites tout d’abord une copie du fichier $ORACLE_HOME/dbs/orapworcl si le SID de l’instance est orcl :
su oracle cd $ORACLE_HOME/dbs cp orapworcl orapworcl.ori $ORACLE_HOME/bin/orapwd force=y file=orapworcl entries=10
L’argument entries représente le nombre de comptes autorisés à se connecter sous les rôles SYSDBA et SYSOPER. Quant au paramètre passé à force, il permet d’écraser le fichier existant !