Changement des mots de passe système pour Oracle
Date de publication : 12.11.2006 , Date de mise à jour : 19.11.2006
Par
Fabien Celaia (Fadace)
Comment changer proprement un mot de passe d'un compte système d'Oracle ?
I. Principe de base
II. Streams
III. Utilisateur dbsnmp
IV. Agent 9i
VI. Agent 10g
IV. Utilisateur sysman
V. Agent 10gR1
VI. Agent 10gR2
V. Résolution de problèmes connus
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
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 que alpha-numé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
IV. Agent 9i
Dans le fichier ${ORACLE_HOME}/network/admin/snmp_rw.ora, ajouter la ligne suivante
snmp.connect.{Nom global}.name=dbsnmp
snmp.connect.{Nom global}.password=NouveauMotDePasse |
... puis redémarrer l'agent
VI. Agent 10g
Connecté en tant qu'admin et en mode console, stopper La console via
Modifier le mot de passe en tant que sysdba
alter user dbsnmp identified by NouveauMotDePasse |
Editer le fichier ${ORACLE_HOME}/`hostname`_${ORACLE_SID}/sysman/emd/targets.xml et modifier les lignes suivantes:
<Property NAME="UserName" VALUE="2ed7f792e30adc89" ENCRYPTED="TRUE"/>
<Property NAME="password" VALUE="c8d4082a472b36ae" ENCRYPTED="TRUE"/> |
en
<Property NAME="UserName" VALUE="dbsnmp" ENCRYPTED="FALSE"/>
<Property NAME="password" VALUE="NouveauMotDePasse" ENCRYPTED="FALSE"/> |
A noter que dans le cas d'une installation RAC, vous aurez chaque fois ces deux entrées à double. Une fois sous la rubrique
<Target TYPE="oracle_database" NAME="Votre Global Name"> |
... et une fois sous la rubrique
<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.
Pour déterminer si les nouveau paramètes 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é.
IV. Utilisateur sysman
V. Agent 10gR1
Connecté en tant qu'admin et en mode console, stopper OMS via
Modifier le mot de passe en tant que sysdba
alter user sysman identified by NouveauMotDePasse |
Editer le fichier ${ORACLE_HOME}/sysman/config/emoms.properties et modifier les lignes suivantes:
oracle.sysman.eml.mntr.emdRepPwd=NouveauMotDePasse
oracle.sysman.eml.mntr.emdRepPwdEncryption=FALSE |
Redémarrer OMS
S'assurer que oracle.sysman.eml.mntr.emdRepPwd est maintenant encrypté.
VI. Agent 10gR2
Connecté en tant qu'Oracle sur la console console, stopper La console via
Dans le fichier ${ORACLE_HOME}/`hostname`_${ORACLE_SID}/sysman/config/emoms.properties, modifier les lignes en conséquent. Remplacez
oracle.sysman.eml.mntr.emdRepUser=SYSMAN
oracle.sysman.eml.mntr.emdRepPwd=d0355495a68cd5ae
oracle.sysman.eml.mntr.emdRepPwdEncrypted=TRUE |
par
oracle.sysman.eml.mntr.emdRepUser=SYSMAN
oracle.sysman.eml.mntr.emdRepPwd=NouveauMotDePasse
oracle.sysman.eml.mntr.emdRepPwdEncrypted=FALSE |
Redémarrer la console via
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.


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