Dans cet article nous allons voir comment retirer un NOEUD d’un Cluster Oracle RAC en release 11GR2.
Dans mon contexte technique, je suis sur un cluster Oracle à 2 Nodes, en Oracle linux 6, avec un node KO suite à un problème Hardware. Je vais donc retirer le node en question, en vue de le réintégrer par la suite une fois le problème corrigé.
Première étape, vérifier les serveurs qui sont connectés au RAC, et l’état du Cluster :
[]<>/root[]:/oracle/product/11.2.0/grid/bin/olsnodes -t rac1 Pinned rac2 Unpinned []<>/root[]:/oracle/product/11.2.0/grid/bin/crsctl status res -t -------------------------------------------------------------------------------- NAME TARGET STATE SERVER STATE_DETAILS Local Resources -------------------------------------------------------------------------------- ora.DATADG.dg ONLINE ONLINE rac1 ora.LISTENER.lsnr ONLINE ONLINE rac1 ora.OCR.dg ONLINE ONLINE rac1 ora.asm ONLINE ONLINE rac1 Started ora.gsd OFFLINE OFFLINE rac1 ora.net1.network ONLINE ONLINE rac1 ora.ons ONLINE ONLINE rac1 -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.LISTENER_SCAN1.lsnr 1 ONLINE ONLINE rac1 ora.LISTENER_SCAN2.lsnr 1 ONLINE ONLINE rac1 ora.LISTENER_SCAN3.lsnr 1 ONLINE ONLINE rac1 ora.cvu 1 ONLINE ONLINE rac1 ora.oc4j 1 ONLINE ONLINE rac1 ora.rac1.vip 1 ONLINE ONLINE rac1 ora.rac2.vip 1 ONLINE INTERMEDIATE rac1 FAILED OVER ora.scan1.vip 1 ONLINE ONLINE rac1 ora.scan2.vip 1 ONLINE ONLINE rac1 ora.scan3.vip 1 ONLINE ONLINE rac1
Dans cet exemple, le second node est DOWN, les ressources cluster sont donc basculées sur le noeud principal nommé dans cet exemple « RAC1 ».
Note : Le serveur RAC2 n’étant pas connecté au cluster (Unpinned), il n’est pas nécessaire de lancer la commande « unpin », mais si cela avait été le cas (RAC2 en « Pinned« ), il aurait fallu faire :
[]<>/root[]:/oracle/product/11.2.0/grid/bin/crsctl unpin css -n rac2
On passe donc directement par la suppression du NODE RAC2 :
[]<>/root[]:/oracle/product/11.2.0/grid/bin/crsctl delete node -n rac2 CRS-4661: Node rac2 successfully deleted.
On met à jour ensuite l’inventaire sur le noeud qui reste disponible (RAC1), cette fois avec le compte unix qui a installé le GRID (dans mon cas « oracle ») :
[rac1]<oracle>/home/oracle[+ASM1]:cd $GRID_HOME/ [rac1]<oracle>/oracle/product/11.2.0/grid[+ASM1]:cd oui/bin [rac1]<oracle>/oracle/product/11.2.0/grid/oui/bin[+ASM1]:./runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME "CLUSTER_NODES={rac1}" CRS=TRUE -local Starting Oracle Universal Installer... Checking swap space: must be greater than 500 MB. Actual 15999 MB Passed The inventory pointer is located at /etc/oraInst.loc The inventory is located at /oracle/oraInventory 'UpdateNodeList' was successful.
Une petite vérification :
[rac1]<oracle>/oracle/product/11.2.0/grid/oui/bin[+ASM1]:cluvfy stage -post nodedel -n rac2 -verbose Performing post-checks for node removal Checking CRS integrity... Clusterware version consistency passed The Oracle Clusterware is healthy on node "rac1" CRS integrity check passed Result: Node removal check passed Post-check for node removal was successful.
Et enfin l’état des ressources cluster :
[rac1]<oracle>/oracle/product/11.2.0/grid/oui/bin[+ASM1]:crsctl stat res -t
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATADG.dg
ONLINE ONLINE rac1
ora.LISTENER.lsnr
ONLINE ONLINE rac1
ora.OCR.dg
ONLINE ONLINE rac1
ora.asm
ONLINE ONLINE rac1 Started
ora.gsd
OFFLINE OFFLINE rac1
ora.net1.network
ONLINE ONLINE rac1
ora.ons
ONLINE ONLINE rac1
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE rac1
ora.LISTENER_SCAN2.lsnr
1 ONLINE ONLINE rac1
ora.LISTENER_SCAN3.lsnr
1 ONLINE ONLINE rac1
ora.cvu
1 ONLINE ONLINE rac1
ora.oc4j
1 ONLINE ONLINE rac1
ora.rac1.vip
1 ONLINE ONLINE rac1
ora.rac2.vip
1 ONLINE INTERMEDIATE rac1 FAILED OVER
ora.scan1.vip
1 ONLINE ONLINE rac1
ora.scan2.vip
1 ONLINE ONLINE rac1
ora.scan3.vip
1 ONLINE ONLINE rac1
=> Il me reste la VIP du second node, je dois donc la supprimer :
[]<>/root[]:/oracle/product/11.2.0/grid/bin/crsctl delete resource ora.rac2.vip -f
[]<>/root[]:/oracle/product/11.2.0/grid/bin/crsctl stat res -t
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATADG.dg
ONLINE ONLINE rac1
ora.LISTENER.lsnr
ONLINE ONLINE rac1
ora.OCR.dg
ONLINE ONLINE rac1
ora.asm
ONLINE ONLINE rac1 Started
ora.gsd
OFFLINE OFFLINE rac1
ora.net1.network
ONLINE ONLINE rac1
ora.ons
ONLINE ONLINE rac1
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE rac1
ora.LISTENER_SCAN2.lsnr
1 ONLINE ONLINE rac1
ora.LISTENER_SCAN3.lsnr
1 ONLINE ONLINE rac1
ora.cvu
1 ONLINE ONLINE rac1
ora.oc4j
1 ONLINE ONLINE rac1
ora.rac1.vip
1 ONLINE ONLINE rac1
ora.scan1.vip
1 ONLINE ONLINE rac1
ora.scan2.vip
1 ONLINE ONLINE rac1
ora.scan3.vip
1 ONLINE ONLINE rac1
Le tour est joué, il ne reste maintenant qu’à ajouter le second node au Cluster une fois qu’il sera de nouveau UP, ce qui fera l’objet d’un futur article 😉
Micka