====== Installation d'Oracle 8i server sur Debian GNU/Linux ======
Installation d'Oracle 8i server (r3/8.1.7) sur Debian GNU/Linux (3.1 Sarge)
===== Prérequis =====
- Installer la distribution.
- Installer un serveur X avec un window-manager de base (par ex. Window Maker), xterm et awk : root# apt-get install wmaker xterm gawk
- Configurer ou re-configurer le serveur X :
* sauce Debian (monte plus facilement et ne retombe pas) : root# dpkg-reconfigure xserver-xfree86
* sauce générique clicka : root# xf86cfg
- Récupérer le patch de conversion de glibc {{linux:debian:glibc-2.1.3-stubs.tar.gz|glibc-2.1.3-stubs.tar.gz}}
- Créer un groupe 'dba' et un utilisateur 'oracle' appartenant à ce groupe puis affecter un mot de passe à cet utilisateur : root# groupadd dba
root# useradd -g dba oracle
root# passwd oracle
...
- En supposant qu'on va installer oracle dans '/usr/app/oracle', il faut créer l'arborescence '/usr/app/oracle/oradata' et la confier à l'utilisateur 'oracle' : root# mkdir -p /usr/app/oracle/oradata && chown -R oracle:dba /usr/app/oracle
- Monter le cd d'installation (il sera monté dans '/mnt' pour cet exemple) root# mount -t iso9660 /dev/cdrom /mnt
- Ajouter les données suivantes à l'environnement de l'utilisateur oracle (par exemple dans le fichier ~oracle/.bash_profile, ou dans un fichier comme /etc/ORACLE.ENV qui devra être chargé à chaque session) : umask 022
export DISPLAY=localhost:0.0
export ORACLE_BASE=/usr/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/8.1.7
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_SID=TEST
export ORACLE_TERM=vt100
export NLS_LANG=FRENCH_FRANCE.WE8ISO8859P1
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
===== Installation =====
==== Installation normale ====
Se connecter avec l'utilisateur 'oracle', s'assurer que les variables d'environnement sont bien comme il faut et lancer une session X :
root# su - oracle
oracle$ id
uid=1004(oracle) gid=1003(dba) groups=1003(dba)
oracle$ env|grep ORACLE
ORACLE_SID=TEST
ORACLE_BASE=/usr/app/oracle
ORACLE_HOME=/usr/app/oracle/product/8.1.7
oracle$ startx
Une fois la session X démarrée, lancer un terminal X ('xterm' par exemple), feinter l'installeur qui n'arrive pas à détecter la version du kernel puis lancer l'installeur :
oracle$ cd /mnt
oracle$ export LD_ASSUME_KERNEL=2.2.5
oracle$ ./runInstaller
Si tout s'est bien passé, l'écran d'accueil de l'OUI (Oracle Universal Installer) apparaît, il faut alors cliquer sur "Next".
Si l'installeur ne réagit pas lorsque l'on clique sur "Next" ou sur "Exit", il faut désactiver le verrouillage du pavé numérique ('Verr. Num' ou 'Num Lock')
L'écran suivant affiche les chemins source et destination qui doivent être dans notre cas :
* Source : ''/mnt/stage/products.jar''
* Destination : ''/usr/app/oracle/product/8.1.7'' (soit le contenu de la variable ''$ORACLE_HOME'')
Suivant.
Choisir le nom du groupe qui aura le droit de modifier l'installation d'oracle. Dans notre cas on utilisera ''dba'' (on peut aussi spécifier ''oinstall'' si on a créé ce groupe et que l'utilisateur ''oracle'' en est membre.)\\
Suivant.
Suivre ensuite les instructions (exécuter des scripts en tant que ''root'', etc. ...) ...
L'installeur va terminer son installation puis commencer à linker les librairies ; à 65%, l'installeur va commencer à afficher des erreurs, il faut simplement cliquer sur "Ignore" pour chacune de ces erreurs. (sissi ...)
En s'approchant de la fin, il va falloir exécuter le script ''$ORACLE_HOME/root.sh'' en tant que root, mais il contient des erreurs :
* Changer la ligne 102 de : ''RMF=/bin/rm -f'' à : ''RMF="/bin/rm -f"''
* Changer la ligne 156 de : ''RUID=`/usr/bin/id|$AWK -F\( '{print $2}'|$AWK -F\) '{print $1}`'' à : ''RUID=`/bin/id|$AWK -F\( '{print $2}'|$AWK -F\) '{print $1}'`''
''/usr/bin'' devient ''/bin'' et '''{print $1}'' devient '''{print $1}'''
Une fois tout installé, l'installeur va essayer de lancer des assistants (suivant les options choisies : Net8 Configuration Assistant, Oracle Database Configuration Assistant et Apache Web Server Configuration Assistant), il faut tous les arrêter puis sortir de l'installeur.
==== Post-installation ====
- Décompresser le fichier 'glibc-2.1.3-stubs.tar.gz' dans le répertoire ''$ORACLE_HOME'' et exécuter le script setup_stubs.sh : oracle$ tar -C $ORACLE_HOME -zxf /glibc-2.1.3-stubs.tar.gz
oracle$ cd $ORACLE_HOME
oracle$ ./setup_stubs.sh
- Lancer les deux patches présents sur le cdrom :
* bug1538440 :oracle$ cd /mnt/patch/bug1538440
oracle$ export TOP_PATCH_DIR=`patch`
oracle$ ./README.1538440
oracle$ su - root
root# /usr/app/oracle/product/8.1.7/root.sh
root# logout
oracle$
* bug1542838 (ce patch ne fonctionne pas d'origine car il fait appel à ''/usr/bin/sh'' plutôt que ''/bin/sh''. Il faut soit corriger le patch soit faire un lien dans ''/usr/bin'', ce que nous allons faire) : oracle$ su - root
root# ln -s /bin/sh /usr/bin/sh
root# logout
oracle$ cd /mnt/patch/bug1542838
oracle$ ./README.1542738
Et voilà !!!
====== Sources ======
* [[http://www.dbforums.com/showpost.php?p=3080858&postcount=10|DbForums : Error while installing 8.1.7 on Linux]] : comment appliquer les différents patches ...
* [[http://www.labo-oracle.com/articles/installation/articles_50357_0.html|Labo-Oracle.com :: Installation d'Oracle 8i sous Debian (R3)]] par Vincent Bourdon & Jérémy Badina : la procédure générale ...
* [[http://www.linux-france.org/article/serveur/sgbd/oracle/install_suse/suse7.2-ora.html|INSTALLATION DE ORACLE 8.1.7 SUR LINUX SUSE 7.2]] par Xavier FACQ : Le patch ''glibc-2.1.3-stubs.tar.gz''.
* [[http://www.experts-exchange.com/Databases/Oracle/Q_21182918.html|Title: Oracle 8i/9i on Solaris 5.8 - OUI not running]] (dernier commentaire : Problème NUM-LOCK.
--- //[[naz@ploup.net|naz]] 2007/01/30 18:46//