Mettre à jour Oracle Clusterware de 10.2 en 11.1 en "Silence"

Ca faisait un moment que j’attendais ça et ça y est ! J’ai migré RHEL4 en OEL5 et dans la foulée Oracle Clusterware de 10.2.0.3 en 11.1.0.6. Ces 2 opérations peuvent être effectuées sans indisponibilités et dans l’ensemble les difficultés sont limitées. Voici quelques notes pour ceux qui ne l’ont pas encore fait !

Mettre à jour RHEL4 avec OEL5

Vous pouvez faire fonctionner pendant quelques heures RHEL4 sur certains serveurs et OEL5 sur d’autres. Voici ce que dit la documentation :

Oracle® Clusterware Installation Guide
11g Release 1 (11.1) for Linux
Part Number B28263-04
2.2 Reviewing Upgrade Best Practices

During rolling upgrades of the operating system, Oracle supports using different operating system binaries when both versions of the operating system are certified with the version of Oracle Database you are running.

Note:
Using mixed operating system versions is only supported for the duration of an upgrade, over the period of a few hours. Oracle does not support operating a cluster with mixed operating systems for an extended period. Oracle does not support running Oracle Clusterware and Oracle Real Application Clusters on heterogeneous platforms (servers with different chip architectures) in the same cluster.

La solution retenue consistait à enlever un à un les serveurs du cluster, de les reinstaller avec OEL5 puis de les rajouter au Cluster. Les logiciels sont alors copiés et « re-linkés » sur chacun des noeuds lors de l’ajout des logiciels. A noter que vous rencontrerez sans doute quelques soucis avec 10.2 sous OEL5 mais rien que la note « 414163.1 – 10gR2 RAC Install issues on Oracle EL5 or RHEL5 or SLES10 (VIPCA Failures) » ne solutionne. Et même si ces soucis ne sont pas lies à VIPCA !

Mettre à jour Oracle Clusterware de 10.2 à 11.1.0.6

Mettre à jour le clusterware nécessite d’utiliser le même ORACLE_HOME que celui de 10.2. La méthode diffère légèrement des mises à jours de Patch Set 10.2.0.x mais est finalement aussi simple. Il faut que vous soyez en 10.2.0.3, 10.2.0.4 ou plus quand ça existera ;

Les étapes ci-dessous sont à effectuer sur chacun des noeuds les un à la suite des autres. Il est possible de mettre à jour plusieurs noeuds en même temps (grace au paramètre REMOTE_NODES) mais, contrairement à 10g qui applique les Patch Set alors que le clusterware fonctionne, puis l’arrête et le rédémarre ensuite, avec 11g, vous devez arrêter les clusterware que vous mettez à jour. Voici les étapes de la mise en jour :

Pour CHACUN des noeuds du cluster les uns à la suite des autres :

a) Télécharger la distribution du Clusterware et décompresser la sur le serveur que vous allez mettre à jour comme dans l’exemple ci-dessous :

$ unzip linux_x86_11gR1_clusterware.zip
cd clusterware
export DISTRIB=`pwd`

b) Connectez-vous root et lancer le script preupdate.sh; ce script arrête le clusterware :

# su root
# cd $DISTRIB/upgrade
# ./preupdate.sh -crshome /u01/app/crs -crsuser oracle
# exit

c) Connectez-vous oracle et lancez Oracle Universal Installer en mode silencieux comme ci-dessous. Vous noterez que le lien vers product.xml dans le fichier crs.rsp de la distribution est faux. C’est pour cette raison que la commande ci-dessous contient FROM_LOCATION :

$ cd $DISTRIB
$ ./runInstaller -silent
-responseFile $DISTRIB/response/crs.rsp
FROM_LOCATION=$DISTRIB/stage/products.xml
REMOTE_NODES={}
ORACLE_HOME=/u01/app/crs
ORACLE_HOME_NAME="OraCrsHome"

A l’issue de l’installation, vous rencontrerez un message d’erreur dans /u01/crs/cfgtoollogs/configToolFailedCommands comme en 10g. En effet, il faut que vous ayez exécuté rootupgrade pour exécuter le Cluster Verify Utility.

d) Sous root, exécutez enfin le script rootupgrade qui met à jour le clusterware et le rédémarre ainsi que les ressources qu’il gère :

# cd /u01/app/crs/install
# ./rootupgrade

Et voilà, effectuez ces opérations a), b), c) et d) pour chacun des noeuds de votre cluster et vous vous aurez réalisé le rolling upgrade de votre clusterware en 11.1.0.6. Bonne suite…

PS: Je suis peu loquace ces temps-ci, c’est que j’ai commencé une série complète à propos des commandes oui, dbca, netca, dbua… « silent » sur le blog de Pythian. J’ai écrit les 4 premiers articles et ils devraient être publiés bientôt. Les 6 autres sont en cours de finition. N’hésitez pas à partager vos remarques et questions en commentant ces posts ou celui-ci.

1 réflexion sur “Mettre à jour Oracle Clusterware de 10.2 en 11.1 en "Silence"”

  1. Once all the nodes upgrades, you should get :
    /u01/app/crs/bin/crsctl query crs activeversion
    Oracle Clusterware active version on the cluster is [11.1.0.6.0]

Les commentaires sont fermés.