IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Changement des mots de passe système pour Oracle

Avancé

Comment changer proprement un mot de passe d'un compte système d'Oracle ?

Article lu   fois.

L'auteur

Profil ProSite personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

I. Principe de base

Modifier un mot de passe chez Oracle ? Rien de plus simple… Il s'agit cependant de ne pas oublier l'impact que cela peut avoir sur les modules Oracle qui les utilisent et qui les stockent (bien entendu de façon cryptée) dans des fichiers.

Se connecter en tant que sys as sysdba :

 
Sélectionnez
alter user sys identified by NouveauMotDePasse ;
alter user system identified by NouveauMotDePasse ;
alter user dbsnmp identified by NouveauMotDePasse ;
alter user sysman identified by NouveauMotDePasse ;

Pour dbsnmp, ne pas utiliser 8 caractères pour le mot de passe ni des caractères autres qu’alphanumériques compte tenu d'un bug répertorié.

II. Streams

Cas particuliers pour la réplication si vous utilisez Streams, et plus particulièrement Downstreams (capture et apply du côté cible).

Dans ce cas précis, le mot de passe de SYS doit être obligatoirement strictement identique sur le serveur source et le serveur cible.

III. Utilisateur dbsnmp

III-A. Agent 9i

Dans le fichier ${ORACLE_HOME}/network/admin/snmp_rw.ora, ajouter la ligne suivante :

 
Sélectionnez
snmp.connect.{Nom global}.name=dbsnmp
snmp.connect.{Nom global}.password=NouveauMotDePasse

… puis redémarrer l'agent.

Source: Metalink Note 168697.1

III-B. Agent 10g

Connecté en tant qu'admin et en mode console, stopper la console via :

 
Sélectionnez
emctl stop dbconsole

Modifier le mot de passe en tant que sysdba :

 
Sélectionnez
alter user dbsnmp identified by NouveauMotDePasse

Éditer le fichier ${ORACLE_HOME}/`hostname`_${ORACLE_SID}/sysman/emd/targets.xml et modifier les lignes suivantes :

 
Sélectionnez
<Property NAME="UserName" VALUE="2ed7f792e30adc89" ENCRYPTED="TRUE"/>
<Property NAME="password" VALUE="c8d4082a472b36ae" ENCRYPTED="TRUE"/>

en

 
Sélectionnez
<Property NAME="UserName" VALUE="dbsnmp" ENCRYPTED="FALSE"/>
<Property NAME="password" VALUE="NouveauMotDePasse" ENCRYPTED="FALSE"/>

À noter que dans le cas d'une installation RAC, vous aurez chaque fois ces deux entrées en double. Une fois sous la rubrique :

 
Sélectionnez
<Target TYPE="oracle_database" NAME="Votre Global Name">

… et une fois sous la rubrique :

 
Sélectionnez
<Target TYPE="rac_database" NAME="Votre Global Name">

Redémarrer la console : ce redémarrage aura pour effet de crypter les valeurs précédemment en clair et de passer le flag ENCRYPTED à TRUE.

 
Sélectionnez
emctl start dbconsole

Pour déterminer si les nouveaux paramètres ont bien été pris en considération lors du redémarrage, et pour des raisons évidentes de sécurité, allez à nouveau éditer le fichier ${ORACLE_HOME}/`hostname`_${ORACLE_SID}/sysman/emd/targets.xml pour vérifier que tout mot de passe soit bien crypté.

Source : Metalink, note 259387.1

IV. Utilisateur sysman

IV-A. Agent 10gR1

Connecté en tant qu'admin et en mode console, stopper OMS via :

 
Sélectionnez
emctl stop oms

Modifier le mot de passe en tant que sysdba :

 
Sélectionnez
alter user sysman identified by NouveauMotDePasse

Éditer le fichier ${ORACLE_HOME}/sysman/config/emoms.properties et modifier les lignes suivantes :

 
Sélectionnez
oracle.sysman.eml.mntr.emdRepPwd=NouveauMotDePasse
oracle.sysman.eml.mntr.emdRepPwdEncryption=FALSE

Redémarrer OMS :

 
Sélectionnez
emctl start oms

S'assurer que oracle.sysman.eml.mntr.emdRepPwd est maintenant encrypté.

Source : Metalink, note 259379.1

IV-B. Agent 10gR2

Connecté en tant qu'Oracle sur la console console, stopper la console via :

 
Sélectionnez
emctl stop dbconsole

Dans le fichier ${ORACLE_HOME}/`hostname`_${ORACLE_SID}/sysman/config/emoms.properties, modifier les lignes en conséquence. Remplacez :

 
Sélectionnez
oracle.sysman.eml.mntr.emdRepUser=SYSMAN
oracle.sysman.eml.mntr.emdRepPwd=d0355495a68cd5ae
oracle.sysman.eml.mntr.emdRepPwdEncrypted=TRUE

par :

 
Sélectionnez
oracle.sysman.eml.mntr.emdRepUser=SYSMAN
oracle.sysman.eml.mntr.emdRepPwd=NouveauMotDePasse
oracle.sysman.eml.mntr.emdRepPwdEncrypted=FALSE

Redémarrer la console via :

 
Sélectionnez
emctl start dbconsole

En rééditant le fichier ${ORACLE_HOME}/`hostname`_${ORACLE_SID}/sysman/config/emoms.properties, s'assurer que le mot de passe sous oracle.sysman.eml.mntr.emdRepPwd soit crypté et que le flag oracle.sysman.eml.mntr.emdRepPwdEncrypted soit sur TRUE.

V. Résolution de problèmes connus

Si vous avez effectué vos changements de mot de passe avant l'arrêt de la console, celle-ci peut avoir passé vos comptes - LOCKED(TIMED). Assurez-vous donc que les comptes SYSMAN et DBSNMP soient bien déverrouillés lorsque vous lancez votre console.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

Copyright © 2006 fadace. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.