Installation "silent" d'Oracle 10g

Entre moi et les serveurs Oracle…. 1, 2 ou 3 rebonds par SSH et parfois avec impossibilité d’utiliser le forwarding X11. Un moyen simple pour s’en sortir ? Effectuer les installations en mode silencieux. Plus de détails maintenant… Cette procédure vous permet également d’enchainer les installations et créations de bases de données comme à l’usine ! Pour plus d’informations sur cette procédure, utilisez le document suivant Oracle® Database Installation Guide – Appendix A Installing and Configuring Oracle Database Using Response Files pour votre plateforme (ici Linux).

1. Distribution Oracle et pré-requis

Il faut que la distribution Oracle soit accessible depuis votre serveur quelque soit le moyen (CD, NFS, scp et Unzip) pour l’installer. C’est évident mais ça va mieux en le disant ! Pour information, le Grid Control 10g utilise wget pour réaliser cette opération (une bonne idée si vous voulez scripter les installations la nuit et utiliser des proxy pour passer a travers les DMZ )

Avant d’installer votre base de donnees, il faut egalement que l’ensemble des pré-requis comme la création des utilisateurs et groupes, les paramètres kernel, les packages ou patchs OS, les droits… soient mis en place. Reportez-vous au document « Oracle® Database Installation Guide » de votre système et à la note Metalink 169706.1 pour plus d’informations

2. Créez le fichier oraInst.loc s’il n’existe pas

Le fichier oraInst.loc permet à l’installer de trouver l’Inventory Oracle. Il contient 2 informations qui sont l’endroit ou est situé l’inventory (inventory_loc) et le groupe auquel il appartient (inst_group). Sous Linux, ce fichier est dans le répertoire /etc, sous Solaris dans /var/opt/oracle et sous Windows, il s’agit en fait de la variable de registre [HKEY_LOCAL_MACHINESOFTWAREORACLEinst_loc]. S’il n’existe pas, c’est sans doute le premier logiciel 10g que vous installez sur votre serveur. Pour le créer, choisissez un répertoire pour l’inventory. Si vous décidez d’utiliser OFA nous supposerons que :

  • ORACLE_BASE est /u01/app/oracle
  • oinstall est le groupe d’installation d’Oracle
  • Le propriétaire et le groupe de /u01/app/oracle sont oracle et oinstall
  • Les droits sur /u01/app/oracle et sont contenu sont 755

Voici un exemple de script pour créer ce fichier

su -
if [-f "/etc/oraInst.loc"]; then
echo "inventory_loc=/u01/app/oracle/oraInventory" >/etc/oraInst.loc
echo "inst_group=oinstall" >>/etc/oraInst.loc
chmod 664 oraInst.loc
fi

3. Copier et les fichiers de réponses

Les fichiers de réponses exemple sont situés avec le logiciel dans le répertoire response. Copier ou les fichiers correspondant à votre besoin dans un autre endroit pour les modifier ensuite. Voici une description des fichiers :

  • standard.rsp est le fichier de réponse pour installer Oracle 10g Standard Edition ou SE One dans la mesure ou il s’agit du même logiciel)
  • enterprise.rsp est le fichier de réponse pour installer Oracle 10g Enterprise Edition
  • custom.rsp est le fichier de réponse pour installer Oracle 10g en selectionnant les composants de manière détaillées.
  • netca.rsp est le fichier de réponse pour créer les listeners et alias TNS
  • emca.rsp est le fichier de réponse pour Installer et paramétrer Enterprise Manager Database Control
  • dbca.rsp est le fichier de réponse pour créer une base de données

4. Modifier le fichier de réponses de l’installation du logiciel

Le contenu du fichier est relativement explicite. Editez le et modifiez les variables pour correspondre a vos besoins. Par exemple pour le fichier enterprise.rsp, il suffit de fixer les valeur ci-dessous :

  • UNIX_GROUP_NAME= »oinstall » indique que le groupe Unix d’installation est oinstall
  • ORACLE_HOME= »/u01/app/oracle/product/10.2.0/db_1″ indique l’emplacement de l’installation du logiciel
  • ORACLE_HOME_NAME= »OraDB102Home1″ indique le nom de l’installation. Ce nom doit être unique. Vous pouvez retrouvez les autres nom avec la commande « opatch lsinventory -all »
  • SHOW_ROOTSH_CONFIRMATION=false n’affiche pas les ecrans demandant de lancer le script root.sh
  • s_nameForDBAGrp= »dba » indique le groupe pour lequel les utilisateurs seront SYSDBA
  • s_nameForOPERGrp= »dba » indique le groupe pour lequel les utilisateurs seront SYSOPER
  • n_configurationOption=3 indique que vous voulez seulement installer le logiciel et pas creer une base de données ni configurer ASM.

Remarque
Si vous avez la chance d’avoir une machine de test sous la main qui accède à un serveur X, il est possible d’enregistrer vos paramètres dans un fichier de réponse en lançant l’installer avec l’option -record

5. Exécuter l’installation en mode silencieux avec le fichier de réponses

Connecte Oracle, il suffit d’exécuter la commande suivante :

./runInstaller -silent -responseFile /home/oracle/myinstall.rsp

Le deroulement de l’installation s’affiche sur la console comme ceci

Starting Oracle Universal Installer...

Checking installer requirements...

Checking operating system version: must be
redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0,
asianux-1 or asianux-2
Passed


All installer requirements met.

Preparing to launch Oracle Universal Installer
from /tmp/OraInstall2007-07-01_03-05-04AM.

Please wait ...

Oracle Universal Installer, Version 10.2.0.1.0 Production
Copyright (C) 1999, 2005, Oracle. All rights reserved.

You can find a log of this install session at:
/u01/app/oracle/oraInventory/logs/
installActions2007-07-01_03-05-04AM.log
......................................... 100% Done.

[...]

Installer SDK Component 10.2.0.1.0
Java Runtime Environment 1.4.2.8.0
Sun JDK 1.4.2.0.8
Sun JDK extensions 10.1.2.0.0
-------------------------------------------------------


Installation in progress (Sun Jul 01 03:05:40 EDT 2007)
............................................ 11% Done.
............................................ 23% Done.
............................................ 35% Done.
............................................ 47% Done.
............................ 55% Done.
Install successful

Linking in progress (Sun Jul 01 03:08:30 EDT 2007)
. 55% Done.
Link successful

Setup in progress (Sun Jul 01 03:10:24 EDT 2007)
.................... 100% Done.
Setup successful

End of install phases.(Sun Jul 01 03:10:33 EDT 2007)
Starting to exec ute configuration assistants
Configuration assistant "Oracle Net ... Assistant" succeeded
Configuration assistant "Oracle Databasee ... Assistant" succeeded
Configuration assistant "iSQL*Plus ... Assistant" succeeded" succeeded
The installation of Oracle Database 10g was successful.
Please check '/u01/app/oracle/...' for more details.

6. Executez le script root.sh

N’oubliez pas s’exécuter le script root.sh sous root !

7. Lancez les autres assistants
Vous pouvez ensuite de la même manière lancer NETCA pour créer la configuration réseau et DBCA pour créer la base de données. Avant tout positionnez la variable d’environnement ORACLE_HOME et PATH. Pour netca en mode silent, exécutez la ligne de commande suivante :

netca /silent /responsefile <fichier de réponse>

Pour en savoir plus sur l’utilisation de DBCA, tapez :

dbca -silent -help

Pour exécutez DBCA en mode silent, exécutez la ligne de commande suivante :

dbca -silent -responsefile <fichier de réponse>

Voila. Prochaine étape, j’installe le clusterware en mode silent…

-GarK!