Avant d’appliquer un Patch Set, en place ou dans un autre ORACLE_HOME
, cloner le logiciel de base de données dans un autre répertoire est une méthode simple et rapide pour permettre une mise à jour ou un retour arrière. Dans le cas de RAC, vous pouvez procéder comme ci-dessous; on supposera que vous avez ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
et que vous voulez le cloner dans ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_2
. Pour simplifier, nous considèrerons que vous avez un RAC 4 nœuds constitué de rac-server1
, rac-server2
, rac-server3
et rac-server4
.
Pour chacun des serveurs, effectuer les 4 opérations ci-dessous:
- Connectez-vous Oracle et copier le
ORACLE_HOME
$ cd /u01/app/oracle/product/10.2.0
$ cp -r db_1 db_2
- Changez le chemin, l’inventory et « re-linkez » le nouveau
ORACLE_HOME
(ChangezLOCAL_NODE
pour chacun des serveurs)
$ cd db_2/clone/bin
$ perl clone.pl
ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_2
ORACLE_HOME_NAME=Ora102Db2
'-O"CLUSTER_NODES={rac-server1,rac-server2,rac-server3,rac-server4}"'
'-O"LOCAL_NODE=rac-server1"'
- Vous pouvez exécuter le script
root.sh
$ su -
# /u01/app/oracle/product/10.2.0/db_2/root.sh
- Vous pouvez vérifier dans l’inventory local dans le fichier
ContentsXML/inventory.xml
ou avec OPatch que le nouvelORACLE_HOME
est enregistré
$ export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_2
$ cd $ORACLE_HOME/OPatch
$ ./opatch lsinv
Quand vous avez terminé avec l’un des ORACLE_HOME
, vous pouvez le détacher de l’inventory avec une commande comme celle ci-dessous:
$ cd /u01/app/oracle/product/10.2.0/db_1
$ export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
$ export INVENTORY=`./opatch lsinv|
grep "Central Inventory"|
cut -d ":" -f 2`
$ cd $INVENTORY/ContentsXML
$ grep "$ORACLE_HOME" inventory.xml
$ cd $ORACLE_HOME/oui/bin
$ ./runInstaller -silent -detachHome
ORACLE_HOME=$ORACLE_HOME
ORACLE_HOME_NAME=Ora102Db1
Noter que dans ce cas, vous ne devez exécuter la commande que sur un seul nœud; une fois le ORACLE_HOME
détaché, vous pouvez faire un tarball, le supprimer ou le conserver pour le rattacher ultérieurement.
Pour rattacher l’ORACLE_HOME
de nouveau, utiliser runInstaller -attachHome
comme ci-dessous:
$ export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
$ cd $ORACLE_HOME/oui/bin
$ ./runInstaller -silent -attachHome
-invPtrLoc ../../oraInst.loc
ORACLE_HOME=$ORACLE_HOME
ORACLE_HOME_NAME="Ora102Db1"
"CLUSTER_NODES={rac-server1,rac-server2,rac-server3,rac-server4}"
LOCAL_NODE="rac-server1"
Une fois le ORACLE_HOME
rattaché, vous pouvez vérifier avec OPatch qu’il est correctement positionné sur l’ensemble des nœuds du cluster:
$ cd $ORACLE_HOME/OPatch
$ ./opatch lsinv
Voila: Accélérez et fiabiliser encore vos mises à jour de vos environnements RAC.