mardi 3 août 2010

Problème de proprieté et de permission après avoir appliqué un patch au niveau du grid infrastructure 11.2.0.1

Avant d'appliquer un patch au niveau du grid infrastructure 11gR2, la procédure demande de déverrouiller le HOME du grid infrastructure avec la commande (étant connecté en tant que root):

# $GRID_HOME/crs/install/rootcrs.pl -unlock -crshome $GRID_HOME

Puis suivre les autres étapes pour appliquer le patch.

Note:
Je ne parlerai pas de toutes les étapes intermédiaires dépendemment du patch car ce n'est pas l'objectif de cet article. Je suis plutôt interessé par la procédure de déverrouillage/verrouillage du HOME sans perte des propriétaires et des permissions d'avant patch sur les fichiers.

Après avoir appliqué le patch il faut reverrouiller le HOME pour que les propriétaires et les permissions d'avant patch sur les fichiers soient restaurés.

La commande à utiliser est (en tant que root):

# $GRID_HOME/crs/install/rootcrs.pl -patch

Et c'est à ce niveau que se pose le problème.
En effet les proprietaires et les permissions d'avant patch ne sont pas restaurés.
Cela est dû au bug 8797450.

Voir la Note 1083982.1 pour plus de détails à ce sujet.

Lorsque j'ai rencontré ce problème, après plusieurs échanges avec Oracle et environ une semaine plus tard, Oracle a sorti la Note 1083982.1 pour proposer une solution.

Il faut dire que la solution permet d'éviter le problème si l'on l'applique avant de débuter l'installation du patch ou de corriger le problème sinon.

Selon Oracle, le bug sera corrigé dans la version 11.2.0.2 du grid infrastructure (attendons pour voir...).

L'objectif de cet article est de vous donner l'information de sorte que vous n'ayez pas à rencontrer le problème ou que vous ne perdiez pas beaucoup de temps à chercher la solution si malgré tout, vous y êtes confrontés.

En effet, Oracle ne fait aucune référence à cette note dans les README de patches du grid infrastructure 11.2.0.1.

Conséquence: Si vous n'avez pas l'information, et que vous suivez à la lettre les instructions du README, vous allez forcement rencontrer le problème et passer un certain temps en train de chercher une solution.

La solution proposée par Oracle consiste à ajouter une ligne dans le fichier $GRID_HOME/crs/install/crspatch.pm

Pour cela, procéder comme suit:

Prendre une copie du fichier avant de le modifier:
cd $GRID_HOME/crs/installcp crspatch.pm crspatch.pm.8797450

Dans le fichier, localiser la section:

instantiate_scripts ();
copy_wrapper_scripts ();
set_file_perms ();

Ajouter la ligne «create_dirs ();» de sorte à obtenir ceci:

instantiate_scripts ();
copy_wrapper_scripts ();
create_dirs ();

set_file_perms ();

Une fois le fichier modifié, déverrouiller et reverrouiller le HOME comme suit (Si vous êtes déjà confronté au problème):

En tant que root:

# $GRID_HOME/crs/install/rootcrs.pl -unlock -crshome $GRID_HOME
# $GRID_HOME/crs/install/rootcrs.pl -patch

Note:
- Si la modification est faite avant de débuter l'installation du patch (avant de déverrouiller le HOME), vous ne rencontrerez pas ce problème.
- Vérifier donc que cette ligne (create_dirs ();) existe dans le fichier crspatch.pm avant de débuter toute installation de patch au niveau du grid infrastructure 11.2.0.1 en attendant la version 11.2.0.2

Aucun commentaire:

Enregistrer un commentaire