Migration couche RAC 10G vers 11G

ASM, Cluster RAC Ajouter un commentaire

Migration crs 10G vers 11GR2

Les clusters RAC installés ces dernières années en 10g vont devoir être migrés un jour ou l’autre fatalement.

Les éditeurs mettant souvent du temps à valider leurs soft avec la version 11GR2,
on peut prendre de l’avance en ne migrant que les couche CRS et ASM en 11GR2 et en laissant les bases en 10G.

Si vous êtes sur OEL4, vérifier ou upgrader votre OS au minimum en 4.7

Appliquer les pré-requis pour la version 11GR2 sur votre système (note Metalink 880942.1 pour OEL4 et 880989.1 pour OEL5).

Un petit coup de cluster verify permet d’en avoir le coeur net.

runcluvfy.sh stage -pre crsinst -n node1,node2 -verbose

Une fois les binaires du grid 11GR2 copiés, on va utiliser la fonctionnalité “Mettre à niveau Oracle Grid Infrastructure” de l’installer.
Il n’est pas nécéssaire d’arrêter le crs, bien que ça marche quand même si c’est le cas.
On peut sinon passer le script clusterware/upgrade/preupdate.sh qui arrête le crs.

On peut donc théoriquement faire l’upgrade d’un noeud après l’autre, sans coupure de production.

Si vous utilisez ASM, alors arrêtez vos bases et vos instances ASM, l’installeur vous le demandera de toute façon.

Si les pré-requis ont été respecté et l’adresse scan convenablement renseignée, l’installation se déroule comme une installation 11GR2 standard.

Au lieu de lancer le fameux root.sh, on va lancer le rootupgrade.sh qui va arrêter le crs (s’il est démarré), effectuer les mises à jour nécéssaires et relancer la couche cluster.

[root@rac1 tmp]# /app/11.2.0/grid/rootupgrade.sh
Running Oracle 11g root.sh script...
The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /app/11.2.0/grid
Enter the full pathname of the local bin directory: [/usr/local/bin]:
The file "dbhome" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying dbhome to /usr/local/bin ...
The file "oraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying oraenv to /usr/local/bin ...
The file "coraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying coraenv to /usr/local/bin ...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
2011-03-29 15:23:53: Parsing the host name
2011-03-29 15:23:53: Checking for super user privileges
2011-03-29 15:23:53: User has super user privileges
Using configuration parameter file: /app/11.2.0/grid/crs/install/crsconfig_params
Creating trace directory
Failure 1 contacting CSS daemon
Command return code of 6 (1536) from command: /app/oracle/product/10.2.0/crs/bin/crsctl check cssd
Cannot communicate with EVM
Cannot communicate with CRS
Command return code of 1 (256) from command: /app/oracle/product/10.2.0/crs/bin/crsctl check crsd
LOCAL ADD MODE
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
  root wallet
  root wallet cert
  root cert export
  peer wallet
  profile reader wallet
  pa wallet
  peer wallet keys
  pa wallet keys
  peer cert request
  pa cert request
  peer cert
  pa cert
  peer root cert TP
  profile reader root cert TP
  pa root cert TP
  peer pa cert TP
  pa peer cert TP
  profile reader pa cert TP
  profile reader peer cert TP
  peer user cert
  pa user cert
Adding daemon to inittab
CRS-4123: Oracle High Availability Services has been started.
ohasd is starting
ADVM/ACFS is not supported on Redhat 4
CRS-2672: Tentative de démarrage de 'ora.mdnsd' sur 'rac1'
CRS-2676: 'ora.mdnsd' a été démarré sur 'rac1'
CRS-2672: Tentative de démarrage de 'ora.gipcd' sur 'rac1'
CRS-2676: 'ora.gipcd' a été démarré sur 'rac1'
CRS-2672: Tentative de démarrage de 'ora.gpnpd' sur 'rac1'
CRS-2676: 'ora.gpnpd' a été démarré sur 'rac1'
CRS-2672: Tentative de démarrage de 'ora.cssdmonitor' sur 'rac1'
CRS-2676: 'ora.cssdmonitor' a été démarré sur 'rac1'
CRS-2672: Tentative de démarrage de 'ora.cssd' sur 'rac1'
CRS-2672: Tentative de démarrage de 'ora.diskmon' sur 'rac1'
CRS-2676: 'ora.diskmon' a été démarré sur 'rac1'
CRS-2676: 'ora.cssd' a été démarré sur 'rac1'
CRS-2672: Tentative de démarrage de 'ora.ctssd' sur 'rac1'
CRS-2676: 'ora.ctssd' a été démarré sur 'rac1'
CRS-2672: Tentative de démarrage de 'ora.crsd' sur 'rac1'
CRS-2676: 'ora.crsd' a été démarré sur 'rac1'
CRS-2672: Tentative de démarrage de 'ora.evmd' sur 'rac1'
CRS-2676: 'ora.evmd' a été démarré sur 'rac1'
clscfg: EXISTING configuration version 3 detected.
clscfg: version 3 is 10G Release 2.
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
rac1     2011/03/29 15:27:32     /app/11.2.0/grid/cdata/rac1/backup_20110329_152732.olr
Configure Oracle Grid Infrastructure for a Cluster ... succeeded
Updating inventory properties for clusterware
Démarrage d'Oracle Universal Installer...
Vérification de l'espace de swap : il doit être supérieur à 500 Mo.   Réel 1567 Mo    Succès
The inventory pointer is located at /etc/oraInst.loc
The inventory is located at /app/oracle/oraInventory
'UpdateNodeList' a réussi.
Démarrage d'Oracle Universal Installer...
Vérification de l'espace de swap : il doit être supérieur à 500 Mo.   Réel 1567 Mo    Succès
The inventory pointer is located at /etc/oraInst.loc
The inventory is located at /app/oracle/oraInventory
'UpdateNodeList' a réussi.

Tout est redémarré sur ce noeud, il ne reste plus qu’à migrer ASM.

Pour cela on lance l’assistant asmca à partir du home grid.

L’assistant va vous proposer de mettre à niveau votre version d’ASM, et va arrêter successivement toutes les instances pour finir par les redémarrer dans la nouvelle version.

On verra apparaitre les ressources correspondantes aux diskgroups au fur et à mesure.

Vous avez maitenant un beau cluster en 11GR2 avec des bases en 10G.

Une bonne partie des actions à réaliser pouvant se faire en amont (pré requis, copie des binaires etc..) et sans arrêt de service, on peut donc s’en tirer avec des arrêts de production relativement courts.

PS : évidemment un retour arrière est à prévoir (et à tester :-))

Faire un commentaire