Professional Documents
Culture Documents
Le célèbre SGBDR Oracle est disponible dans sa version 10g depuis le mois de Février 2004. Cet article a
pour objectif de vous aider dans la procédure d'installation, souvent complexe, du SGBD sous système
GNU/Linux. Se basant essentiellement sur l'exemple d'une installation sous Debian SID, l'article se
voudra néanmoins le plus ouvert possible pour faciliter son adaptation à d'autres distributions.
Sommaire
Introduction
1. Préparatif
1.1. Prérequis
1.2. Paramètres noyau
1.3. Paramètres systèmes
1.4. Utilisateurs et groupes
1.5. Système de fichiers
1.6. Environnement de l'utilisateur oracle
2. Installation
2.1. Installation des logiciels requis
2.2. Téléchargement de l'archive d'installation
2.3. Faire diversion
2.4. Installation d'Oracle
3. Post-Installation
3.1. Lancer et arrêter le serveur
3.2. Outils Oracle
Conclusion
Introduction
Depuis le mois de février 2004, la nouvelle version du célèbre SGBDR Oracle est disponible: Oracle
Database 10g. Cette nouvelle version apporte bien entendu des nouveautés comme l'apparition de l'ASM
pour Automatic Storage Management (fini les fastidieux redimensionnements de tablespace) ou un tout
nouveau Enterprise Manager qui a abandonné le couple Java/Swing au profit d'une interface Web.
Comme a son habitude, Oracle propose cette version en libre téléchargement pour un usage strictement
privé sur http://otn.oracle.com (nécessite une inscription). La version Unix/Linux est d'ores et déjà
disponible sur le site.
Le but de cet article, vous l'aurez compris, est de vous aider à installer Oracle Database 10g sur votre
système Linux. L'article se voudra le plus généraliste possible en essayant dans la plupart des cas de
proposer des solutions pour différentes distributions même s'il a été rédigé à partir d'une installation sur
Debian SID.
1. Préparatif
1.1. Prérequis
Oracle est comme à son accoutumée trés gourmand en ressources système. En effet, la documentation
recommande les spécifications matérielles minimales suivantes:
Valeur
Items Commande
minimale
grep MemTotal
Mémoire physique 512 Mo
/proc/meminfo
grep SwapTotal
Fichier d'échange (SWAP) 1 Go
/proc/meminfo
Espace libre temporaire (/tmp) 400 Mo df -h /tmp
Espace libre pour l'application 2,5 Go df -h /
Espace nécessaire à la création d'un base
1,2 Go df -h /
de données
Comme vous le voyez les spécifications matérielles requises sont relativement importantes surtout au
niveau mémoire vive et taille du fichier d'échange. Si vous disposez de plusieurs disques durs, le mieux
serait d'avoir une partition ou un fichier d'échange sur le disque le plus rapide.
Pour information, la machine qui sert de support à cet article est un portable IBM T40P, 512 Mo de
mémoire vive, avec un disque dur de 40 Go dont un total de 1,7 Go de swap.
Si vous pensez être un peu limite au niveau mémoire disponible (mémoire vive un peu juste ou partition
swap trop petite) vous pouvez augmenter la quantité de mémoire disponible de 2 manières:
Utiliser une partition d'un autre disque dur pour en faire une partition d'échange.
Pour cela créer une partition de type swap dans votre système de fichiers et montez là
dynamiquement via la commande :
# swappon <device>.
# swapoff <device>.
Créer un fichier d'échange qui fonctionnera sur le même principe que la partition d'échange mais
qui vous évitera un partitionnement inutile:
Pour cela, on va créer un fichier temporaire de swap comme indiqué :
# su - root
# dd if=/dev/zero of=tmpswap bs=1k count=900000
# chmod 600 tmpswap
# mkswap tmpswap
# swapon tmpswap
Vous avez maintenant un fichier tmpswap qui fait office de partition d'échange.
Il est également bon de préciser que la présence d'un serveur graphique est obligatoire pour l'installation
contrairement aux versions précédentes.
Ensuite, si elle n'existe pas, ajoutez la ligne suivante dans le fichier /etc/pam.d/login :
session required /lib/security/pam_limits.so
Enfin, étendez les propriètés de votre shell pour l'utilisateur oracle (nous verrons plus tard comment
créer cet utilisateur):
Si vous êtes dans un environnement bash (la plupart des cas), ajoutez les lignes suivantes à
votre fichier /etc/profile :
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
Si vous disposez d'un shell C ou tcsh, ajoutez les lignes suivantes dans le fichier /etc/csh.login :
if ( $USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
endif
# /usr/sbin/groupadd oinstall
Le groupe dba est le propriétaire de la base de données. Créez-le avec la commande suivante :
# /usr/sbin/groupadd oinstall
Enfin créez l'utilisateur oracle qui correspondra au compte sous lequel Oracle Database 10g
s'exécutera. Vous devez faire attention à ce que le groupe dba soit le groupe principal de
l'utilisateur oracle:
# passwd oracle
# mkdir -p /u02/oradata/test
# chown -R oracle.oinstall /u02
# chmod -R 775 /u02/<
Le répertoire /u02 n'est pas nécessaire, mais il peut être avantageux de séparer les données de
l'application de la base de données en elle-même. Le répertoire /u02/oradata/test sera donc le repertoire
où se trouve les fichiers de données de la base de données test. Dans un souci de performance,
mettez /u01 et /u02 sur des disques durs différents.
2. Installation
2.1. Installation des logiciels requis
Sous debian SID vous devez avoir les paquets suivants:
• gcc 2.95
• make
• binutils
• libc6
• libstdc++2.10-glibc2.2
• libstdc++2.10-dev
• libmotif3
• rpm
• awk
Si vous souhaitez installer Oracle sur une distribution autre que Debian sachez que certains noms de
packages sont particuliers à cette distribution. Ainsi, libc6 est plus souvent trouvé sous le nom glibc et
openmotif est prefèré à libmotif3.
Certains versions des packages sont également nécessaires. Parcourez la documentation en ligne
d'Oracle pour plus de précision. Néanmoins, il est bon de préciser qu'il est fortement recommandé d'avoir
à sa disposition une version de la glibc supérieure à 2.3.1 (c'est le cas pour Debian SID et pour la plupart
des distributions récentes). En effet, un bug récurrent dans cette version nécessitait un patch pour avoir
une installation Oracle fonctionnelle.
Pour éviter certains problèmes lors de la procédure d'installation vous devrez également exécuter les
commandes suivantes:
# ln -s /usr/bin/awk /bin/awk
# ln -s /usr/bin/rpm /bin/rpm
Une autre méthode pour parvenir à ce résultat est de lancer le programme d'installation avec l'option
-ignoreSysPrereqs
Le reste de la procédure n'est pas trés compliqué. Tout d'abord sélectionnez les répertoires où seront
installés l'application
Vous pouvez maintenant sélectionner votre type d'installation (Enterprise, Standard ou Personnalisée):
Pour un usage personnel ou pour effectuer des tests prefèrez l'option "General Purpose" qui vous
permettra d'avoir une base de données fonctionnelle dès la fin de l'installation. Pensez aussi à activer
l'option "Sample schema" si vous voulez dès le départ disposer d'un lot de tests.
Une fois la base de données configurée par vos soins, le processus d'installation démarre :
Vous pourrez sans doute vous retrouver devant 2 erreurs de compilation pendant le processus
d'installation. Ignorez-les et continuez le processus d'installation :
Le reste de la procédure devrait se passer normalement. Notez cependant les 2 erreurs rpm dans la
console. N'y tenez pas compte, elles n'auront pas d'effet sur votre installation.
root.sh
Lors du processus d'installation il vous sera demandé de lancer le script root.sh. Pour cela, ouvrez un
autre terminal, loguez vous en root et lancez le script indiqué. Une fois le script terminé (peut prendre
plusieurs minutes), validez son exécution dans l'installateur et continuez la procédure d'installation.
Sous Debian, il est préferable de modifier le script pour l'adapter aux particularités du système. Pour cela
editez le script avec votre éditeur préferé et remplacez toutes les occurences de rc.d/rc#.d par rc#.d (où
# est un numéro).
Aprés environ 20 minutes d'installation vous vous retrouverez devant l'écran de résumé:
Si vous êtes arrivé à ce stade, bravo, Oracle 10g est installé sur votre système!
3. Post-Installation
/etc/oratab
Tout d'abord, éditez le fichier /etc/oratab. Ce fichier indique au serveur Oracle quelle base de données
devra être démarrée lorsque la commande dbstart() sera lancée. La syntaxe est la suivante:
SID:ORACLE_HOME:AUTO_START
où SID est l'identifiant de la base de données (celui que vous avez donné à l'installation), ORACLE_HOME
le répertoire d'installation d'Oracle, et AUTO_START une variable qui prendra Y si vous voulez un
démarrage automatique et N dans le cas contraire. Un exemple de configuration:
data:/u01/app/oracle/product/10.1.0/db_1:N
qui signifie que la base dont le SID est data ne devra pas démarrer automatiquement.
Le script
Maintenant créez le fichier /etc/init.d/oracle dont le contenu est la suivant:
#!/bin/bash
#
# Run-level Startup script for the Oracle Instance and Listener
#
# chkconfig: 345 91 19
# description: Startup/Shutdown Oracle listener and instance
ORA_HOME="/u01/app/oracle/product/10.1.0/db_3"
ORA_OWNR="oracle"
if [ ! -f $ORA_HOME/bin/dbstart -o ! -d $ORA_HOME ]
then
echo "Oracle startup: cannot start"
exit 1
fi
case "$1" in
start)
# Oracle listener and instance startup
echo -n "Starting Oracle: "
su - $ORA_OWNR -c "$ORA_HOME/bin/lsnrctl start"
su - $ORA_OWNR -c $ORA_HOME/bin/dbstart
touch /var/lock/subsys/oracle
echo "OK"
;;
stop)
# Oracle listener and instance shutdown
echo -n "Shutdown Oracle: "
iSQL*Plus
iSQL*Plus est un outil qui vous permet d'exécuter des requêtes SQL ou des scripts SQLP depuis une
interface Web. Vous trouverez cet outil à l'adresse http://127.0.0.1:5560/isqlplus.
Il existe un équivalent à iSQL*Plus en ligne de commande. Vous pouvez le lancer avec la commande :
$ sqlplus
SQL*Plus: Release 10.1.0.2.0
Production on Wed May 5 23:57:52 2004
Enter user-name:
DBCA
DBCA (DataBase Configuration Assistant) est un outil graphique qui vous permet de gérer les bases de
données présentes sur votre serveur Oracle. L'application peut être lancée par la commande:
$ dbca
Ultrasearch
Ultrasearch est un outil mis à disposition par Oracle pour interroger toutes les sources
d'informations de votre entreprise simultanément. Vous trouverez cet outil à l'adresse
suivante : http://127.0.0.1:5620/ultrasearch
Conclusion
Voilà, c'est ici que se termine cet article. J'espère sincèrement qu'il a pu vous aider dans votre décision
d'installer Oracle 10g sous système GNU/Linux.
Comme vous avez pu le voir, la préparation du système est un élément indispensable à la bonne marche
de l'installateur. Sachez toutefois que certaines distributions comme Suse proposent déjà un système
prêt à recevoir un serveur Oracle et vous facilitent donc un peu la tâche.
Bibliolink
David on Net
Togaware.com
Werner's Oracle Linux Page
Forum Développez.com: Installation Oracle 10g sous Linux