janvier 28, 2022

The Geek Diary

Ce point de vente couvre les scénarios ci-dessous:

  • Récupération d’un mot de passe sys perdu à l’aide de l’authentification du système d’exploitation sous Unix.
  • Récupération du mot de passe système perdu à l’aide de l’authentification passwordfile sous Unix.
  • Récupération d’un mot de passe sys perdu à l’aide de l’authentification NTS sous Windows.
  • Récupération du mot de passe système perdu à l’aide de l’authentification passwordfile sous Windows.

Les méthodes à utiliser reposent sur :
1. Authentification du système d’exploitation
2. authentification du fichier de mots de passe.

Récupération d’un mot de passe sys perdu à l’aide de l’authentification du système d’exploitation sous Unix

1. Assurez-vous que l’utilisateur du système d’exploitation connecté est membre du groupe dba. Si le groupe dba n’est pas connu, vérifiez le fichier:

$ ORACLE_HOME/rdbms/lib/config.c (or config.s)

2. Assurez-vous que le sqlnet.le fichier ora ne contient pas le:

sqlnet.authentication_services

paramètre. Si ce paramètre existe, il doit être commenté.

3. vérifiez les paramètres ORACLE_HOME, ORACLE_SID et PATH. Ils doivent correspondre aux paramètres de l’instance Oracle où le mot de passe SYS a été perdu.

4. connectez-vous à l’instance en utilisant:

$ sqlplus /nologsql> connect / as sysdba

5. Changer le mot de passe sys en utilisant:

sql> alter user sys identified by ;

Si un fichier de mots de passe est utilisé, la commande met également à jour le fichier de mots de passe, il n’est donc pas nécessaire de recréer ce fichier.

Récupération du mot de passe sys perdu à l’aide de l’authentification de fichier de mots de passe sous Unix

Si le mot de passe SYS n’est pas connu et que l’authentification du système d’exploitation n’est pas une option, cette méthode peut être utilisée. Cette méthode suppose que le compte SYS n’est pas accessible, d’où un arrêt brutal de la base de données pourrait être nécessaire.

1. Assurez-vous que le paramètre d’initialisation REMOTE_LOGIN_PASSWORDFILE est défini sur PARTAGÉ ou EXCLUSIF. La modification de cette valeur de paramètre nécessite un redémarrage de l’instance.

2. Désactivez l’authentification du système d’exploitation, si elle est activée pour une raison quelconque, en définissant:

sqlnet.authentication_services=(none)

dans le réseau sqlnet.fichier ora (sauvegarde du réseau sqlnet existant.fichier ora avant d’apporter des modifications).

3. accédez à la destination du système d’exploitation pour le fichier mot de passe:

$ cd $ORACLE_HOME/dbs

4. Faire une sauvegarde du fichier de mots de passe précédent:

$ cp orapw$ORACLE_SID orapw$ORACLE_SID.bak

5. Recréez le fichier de mots de passe à l’aide de la commande orapwd:

$ orapwd file=orapw$ORACLE_SID password=

6. Essayez de vous connecter en utilisant le nouveau mot de passe.

$ sqlplus /nologconnect sys as sysdba

7. Comme vérification supplémentaire, si ce qui précède réussit, interrogez:

sql> select * from v$pwfile_users;

S’il renvoie au moins une ligne, tout est ok et le nouveau fichier de mots de passe est utilisé.

8. Modifiez le mot de passe sys dans le dictionnaire de données en utilisant:

sql> alter user sys identified by ;

Bien sûr, le nouveau mot de passe doit correspondre au nouveau mot de passe du fichier de mots de passe, si ce mot de passe doit être conservé, ou il peut être défini sur autre chose si le mot de passe initial doit être modifié. Cette commande mettrait également à jour le fichier de mots de passe.

9. Si le test de l’étape ne réussit pas, l’instance doit être redémarrée. Il se peut que, si aucun accès sysdba ou sysoper n’est possible, que l’instance doive être abaissée brusquement, faites–le en:

– tuant un processus en arrière-plan (de préférence tuer SMON, afin que PMON puisse toujours effectuer un nettoyage).
– suppression des ressources de mémoire partagée à l’aide d’ipcrm si elles ne sont pas supprimées par mon PMON.

10. Après avoir redémarré l’instance, vérifiez si le mot de passe SYSTÈME est opérationnel et s’il y a au moins une entrée dans vpwpwfile_users. Si d’autres utilisateurs avaient auparavant des entrées dans le fichier de mots de passe, accordez-leur à nouveau SYSDBA ou SYSOPER.

11. Restaurez le réseau sqlnet.fichier ora de la sauvegarde exécutée à l’étape 2, si nécessaire.

Récupération d’un mot de passe sys perdu à l’aide de l’authentification NTS sous Windows

1. Assurez-vous que l’utilisateur du système d’exploitation connecté est membre du groupe Windows ORA_DBA.

2. Assurez-vous également que le sqlnet.le fichier ora a la ligne suivante:

sqlnet.authentication_services = (nts)

3. Connectez-vous à l’instance en utilisant:

$ sqlplus /nologconnect / as sysdba

4. Changer le mot de passe sys en utilisant:

sql> alter user sys identified by ;

Si un fichier de mots de passe est utilisé, la commande met également à jour le fichier de mots de passe, il n’est donc pas nécessaire de recréer ce fichier.

Récupération du mot de passe sys perdu à l’aide de l’authentification passwordfile sous Windows

Si le mot de passe SYS n’est pas connu et que l’authentification du système d’exploitation n’est pas une option, cette méthode peut être utilisée. Cette méthode suppose que le compte SYS n’est pas accessible, donc un arrêt de la base de données pourrait être nécessaire, cela peut être accompli en arrêtant OracleServiceSID sur votre système.

1. Assurez-vous que le paramètre d’initialisation REMOTE_LOGIN_PASSWORDFILE est défini sur PARTAGÉ ou EXCLUSIF.

2. désactivez l’authentification du système d’exploitation, si elle est activée pour une raison quelconque, en définissant:

sqlnet.authentication_services=(none)

dans le réseau sqlnet.fichier ora

3. accédez à la destination du système d’exploitation pour le fichier mot de passe:

cd %ORACLE_HOME%\database

4. Faire une sauvegarde du fichier de mots de passe précédent:

cp pwd.ora pwd.ora.bak

5. Recréez le fichier de mots de passe à l’aide de la commande orapwd:

orapwd file=pwd.ora password=

6. Essayez de vous connecter en utilisant le nouveau mot de passe.

sqlplus /nologconnect sys as sysdba

7. Comme vérification supplémentaire, si ce qui précède réussit, interrogez:

sql> select * from v$pwfile_users;

S’il renvoie au moins une ligne, tout est ok et le nouveau fichier de mots de passe est utilisé.

8. modifiez le mot de passe sys dans le dictionnaire de données en utilisant:

sql> alter user sys identified by ;

Bien sûr, le nouveau mot de passe doit correspondre au nouveau mot de passe du fichier de mots de passe, si ce mot de passe doit être conservé, ou il peut être défini sur autre chose si le mot de passe initial doit être modifié. Cette commande mettrait également à jour le fichier de mots de passe.

9. Si le test de l’étape ne réussit pas, l’instance doit être redémarrée. Cela peut être fait en redémarrant le service.

10. Après avoir redémarré l’instance, vérifiez si le mot de passe SYSTÈME est opérationnel et s’il y a au moins une entrée dans vpwpwfile_users. Si d’autres utilisateurs avaient auparavant des entrées dans le fichier de mots de passe, accordez-leur à nouveau SYSDBA ou SYSOPER.

11. réactivez l’authentification NTS en définissant:

sqlnet.authentication_services=(nts)

si nécessaire.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.