Déployez Oracle 10g (et 11g) comme à l'Usine !

Le provisioning pack m’a vraiment enthousiasmé la première fois que je l’ai vu. En fait à l’époque, ses fonctionnalités faisaient partie du Configuration Management Pack mais je m’éparpille. Avec DUPLICATE, j’en crée des bases de données : encore 1,5 TB pas plus tard qu’aujourd’hui. Mais toujours la galère pour installer mon soft préféré, Oracle 10g et bientôt 11g.

Bien sur, j’utilise les installations en mode silent. Mais, vous ne trouvez pas que c’était bien le temps d’Oracle 8i ou un « tar -xvf » installait vos « images » d’Oracle sur tout vos serveurs ? Puis avec 9i est apparut, l' »Inventory » et OPatch qui, c’est vrai, permettent de gérer les configurations plus finement mais au détriment de la simplicité d’installer Oracle 10.2.0.3 plus patch X,Y,Z en moins de 20 minutes… Sauf avec le provisioning pack !

C’est ce que je me pensais jusqu’aujourd’hui et… c’est faux ! L’Annexe B des guides d’installation par plate forme comme par exemple celle de Linux 32bits ou celle de Solaris Sparc 64bits, expliquent en détail comment cloner un ORACLE_HOME ou, si vous préférez, créer ses propres « master » Oracle. Et c’est très simple. En 30 minutes, j’ai fait le tour de la question :

  • Une fois que vous avez réussi à obtenir l’installation de votre master (OS, Version, patchset, patch…), arrêtez tous les services Oracle qui utilisent votre ORACLE_HOME et faites un tar ou un zip de votre répertoire. Vous avez votre master ! Ne prenez pas les fichiers .ora, de $ORACLE_HOME/network/admin, ni les répertoires admin, flash_recovery_area et oradata si vous n’aviez pas positionné ORACLE_BASE comme il faut !
  • Pour l’installer sur un serveur :
    • Poussez et faites l’extraction de votre Master sur votre serveur
    • Positionnez vous dans le répertoire oui/bin de votre master
    • Positionnez les variable ORACLE_HOME et ORACLE_HOME_NAME pour faire l’installation :
      • ORACLE_HOME est votre future répertoire d’installation
      • ORACLE_HOME_NAME doit être unique sur le serveur. Si vous avez déjà d’autre ORACLE_HOME, verifiez avec « opatch lsinventory » les autres ORACLE_HOME_NAME
    • Exécutez le script ci-dessous :
./runInstaller -silent -clone 
ORACLE_HOME="$ORACLE_HOME"
ORACLE_HOME_NAME="$ORACLE_HOME_NAME"

Remarque :
Il est possible de personnaliser votre installation avec un fichier de réponse en ajoutant l’option -responseFile suivi du nom du fichier avec son chemin complet. Avec un peu de travail, j’imagine que mes problèmes sont terminés pour toujours.

Un dernier point : Je n’ai rien trouvé pour Windows ; j’espère que ça marche aussi ?