Vous êtes sur la page 1sur 4

Debian vs Oracle, mme pas peur !

racle, cela vous dit quelque chose ? Bien entendu cest un gant dans le monde des logiciels propritaires mais le produit certainement le plus connu travers le monde est son SGBD, un monstre capable de grer des millions de donnes avec des performances impressionnantes. Oui mais voil, Oracle 10g (dernire version du SGBD) bien que compatible Linux nest certifi que pour certaines distributions, savoir RedHat et Suse. Debian semble condamn utiliser mysql et postgres, un sort qui satisfera le plus grand nombre mais qui est trs rducteur, notamment si Debian Etch est utilis en entreprise. Malgr ce que pourraient vous dire les personnes travaillant chez Oracle, ou les socits installant le SGBD, Oracle fonctionne sous Debian sans avoir faire beaucoup plus de manipulations que lors dune installation sous RedHat.

La prparation par la simulation


Notre serveur Debian sera prpar pour tre reconnu comme un serveur RedHat. Cette simulation permettra de contourner beaucoup de problmes portant notamment sur les emplacements de certains outils ncessaires lapplication. Crez des liens symboliques pointant sur le vritable emplacement de ces outils. Voici tous les liens ajouter pour rendre votre systme oprationnel :
ln ln ln ln ln -s /usr/bin/awk /bin/awk -s /usr/bin/rpm /bin/rpm -s /usr/bin/basename /bin/basename -s /etc /etc/rc.d -s /lib/libgcc_s.so.1 /lib/libgcc_ s.so

APT power
Comme pour chaque installation de logiciel, il y a lieu dinstaller certains paquets ncessaires. Et Oracle demande beaucoup de choses, notamment des outils de compilation. Sous le profil de lutilisateur root (/su root/ ), tapez la commande suivante :
apt-get install cpp-3.3 g++ g++-3.3 g++- 4.1 gcc gcc-3.3 gcc-3.3-base gcc- 4.1 lesstif2 libaio1 libbeecrypt6 libc6-dev libdb3 libneon25 librpm4 libssp0 libstdc++5 libstdc++5-3.3- dev libstdc++6-4.1-dev linux-kernel- headers rpm unzip sudo

Crez maintenant un fichier indiquant RedHat que le systme sur lequel il sinstalle est un RedHat. Ce fichier servira Oracle lors de la dtection des pr-requis.
echo Red Hat Linux release 3.0 (drupal) > /etc/redhat-release

Une des plus grosse diffrences entre RedHat et Debian est leur systme de gestion des paquets : sous Debian, les paquets sont des .deb alors que sous redhat il sagit de .rpm. Etch traite des rpm certaines conditions, vous avez peut-tre remarqu dailleurs quau dbut un paquet Debian en rpm a t install avec apt. Nanmoins, la structure de gestion des rpm doit tre initialise :

Sachez quune interface graphique (GNOME, KDE, XFCE ou autres, cest sans importance) est ncessaire pour raliser une partie de linstallation. En effet, lapplication utilise java pour se dployer sur votre serveur, plusieurs fentres apparatront comportant un certain nombre de questions auxquelles vous aurez rpondre. Les paquets que nous installons avec apt ne comprennent pas linterface graphique. Votre serveur est maintenant prt : affrontez linstallation dOracle.

Figure 1. Oracle 10g est un produit compatible linux, mais est-il compatible Debian ? 31

www.linuxidentity.com

Debian vs Oracle

kernel.sem = 250 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default = 262144 net.core.rmem_max = 262144 net.core.wmem_default = 262144 net.core.wmem_max = 262144

La commande : sysctl -p /etc/ sysctl.conf fera prendre en compte vos modifications par le systme ; laffichage des valeurs prcdemment renseignes confirmera cette prise en compte. Limitez maintenant les performances de votre systme comme stipul dans la documentation dOracle en ditant le fichier /etc/security/ limits.conf et en ajoutant la fin les lignes suivantes :
* * * * soft hard soft hard nproc nproc nofile nofile 2047 16384 1024 6553

Figure 2. RedHat est certifi Oracle, mais est bien loin dgaler les performances de Debian
mkdir /var/lib/rpm rpm --initdb rpm --rebuilddb

La partie simulation est termine, dsormais votre Debian sera reconnu par Oracle comme un systme RedHat.

diqu dans la documentation dOracle, ne modifiez pas les valeurs sinon vous bloquerez linstallation ou le fonctionnement dOracle. ditez le fichier /etc/sysctl.conf et ajoutez la fin ces lignes :
kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096

Redmarrez le serveur pour une prise en compte de ces dernires modifications. ditez maintenant fichier etc/profile et ajoutez les lignes suivantes :
if [ $USER = oracle ]; then ulimit -u 16384 -n 65536 fi

Modification de fichiers systmes


Cette partie est particulirement dlicate car nous allons paramtrer certains fichiers systme. Soyez attentif ce que vous modifiez sinon vous risquez davoir de trs mauvaises surprises pouvant ncessiter jusqu la rinstallation du systme, alors prudence. Dabord, le module dauthentification PAM : vous devez retirer le commentaire de deux lignes (enlever le # en dbut de ligne) dans deux fichiers : /etc/pam.d/su et /etc/ pam.d/login. La ligne activer est la suivante (il se peut quelle soit dj active dans un des deux fichiers) :
session required limits.so pam_

Paramtrez le kernel ainsi que les smaphores, ce paramtrage est in32

Figure 3. Installation dOracle database 10g avec Oracle Installer

LINUX IDENTITY PACK

Deux paquets nous intressent : la base de donnes bien entendu (database) et le client qui fournira quelques outils facilitant la gestion. Tlchargez-les et placez-les dans le rpertoire /oracle/install. Placez-vous dans ce rpertoire (cd /oracle/ install) et dcompressez les deux fichiers en adaptant correctement leur nom : Figure 4. Les scripts administrateur excuter en mode console Le paramtrage du systme est termin, si votre serveur fonctionne toujours malgr le traitement quil vient de subir, alors passez ltape suivante.
unzip 10201_database_linux32.zip unzip 10201_client_linux32.zip

vironnement Oracle sera termine. Dconnectez-vous et reconnectezvous maintenant sous le profil de lutilisateur Oracle (le fichier .bashrc sera pris en compte), linstalleur refuse de dmarrer avec lutilisateur root pour des raisons de scurit.

Oracle installer
Ouvrez un terminal (pas administrateur !) et tapez la dernire commande suivante : /oracle/install/ database/runInstaller pour afficher linterface graphique de linstalleur dOracle. Choisissez une installation de base avec les paramtres suivants : emplacement du rpertoire dorigine Oracle Home /oracle/u01/app/ oracle/product, type dinstallation Entreprise Edition (1.3 GB), et groupe DBA unix dba. Le nom de la base de donne doit tre identique ce que vous avez renseign dans le fichier .bashrc. Les mots de passe demands vous permettront dadministrer votre base de donnes, alors conservez-les prcieusement dans un endroit. Validez juste les informations des crans suivants, le dernier avant linstallation rsumant ce que vous avez valid, vrifiez mais il ne devrait pas y avoir de problme. Cliquez sur Installer et laissez linstallation se drouler, cela peut tre plus ou moins long selon les capacits de votre ordinateur. Au cours de linstallation, Oracle vous demandera de lancer deux scripts mais avec des droits de root . Ouvrez un terminal administrateur ou connectez-vous sous

Une fois dcompresss, effacez les fichiers zip (rm *.zip). Donnez les droits aux rpertoires nouvellement crs :
chown -R oracle:oinstall /oracle chmod -R 775 /oracle chmod -R 755 /oracle/home

Un joli nid douillet


Il est temps de prparer larrive dOracle sur notre systme, le SGBD demande un certain nombre de choses en termes dutilisateur et de groupe :
groupadd nobody usermod -g nobody nobody groupadd dba groupadd oinstall groupadd oper useradd -d /oracle/home -g oinstall -G dba,oper -s /bin/ bash oracle

Pour faire lenvironnement qui englobe plusieurs variables, utilisez le fichier /oracle/home/.bashrc qui sera lu chaque connexion de lutilisateur Oracle : touch /oracle/home/ .bashrc . ditez ensuite ce fichier et compltez-le avec les lignes cidessous (voir le Listing 1). La variable ORACLE_SID est adapter votre cas. Comme dhabitude, affectez les bons droits et surtout le bon propritaire ce fichier :
chown -R oracle:oinstall /oracle/ home/.bashrc chmod 644 /oracle/home/.bashrc

Crez un certain nombre de rpertoires pour accompagner ces utilisateurs. Adaptez-les votre convenance mais Oracle tant une application assez spciale, placez-la bien en vidence en crant directement sous la racine un rpertoire oracle.
mkdir -p /oracle/home mkdir -p /oracle/u01/app/oracle/ product mkdir -p /oracle/u01/app/oracle/ oraInventory mkdir -p /oracle/u02/oradata mkdir -p /oracle/install

Il ne vous reste plus qu attribuer un mot de passe lutilisateur Oracle (passwd oracle ) et la cration de len-

Listing 1. diter et complter le fichier Oracle


PS1=[\u sur \h] \w : umask 022 unset USERNAME export ORACLE_BASE=/oracle/u01/app/oracle export ORACLE_HOME=/oracle/u01/app/oracle/product export ORACLE_SID=bdtest #bdtest tant le nom de votre base de donne export ORACLE_TERM=xterm export PATH=/oracle/u01/app/oracle/product/bin:/usr/sbin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/ rdbms/jlib export ORATAB=/etc/oratab export ORACLE_HOME_LISTENER=$ORACLE_BASE

Tlchargez enfin Oracle en allant chercher les dernires versions sur http://www.oracle.com/technology/ sof tware/products/database/ oracle10g/htdocs/10201linuxsoft. html. Noubliez pas que Oracle 10g est un logiciel propritaire, vous devez respecter la licence dutilisation.

www.linuxidentity.com

33

Debian vs Oracle

le profil root avec la commande su root . Ensuite, lancez les deux scripts indiqus (normalement /oracle/
u01/app/oracle/oraInventor y/ orainstRoot.sh et /oracle/u01/ app/oracle/product/root.sh) .

Le dernier message qui devrait apparatre est une adresse web pointant vers votre serveur partir dun port inhabituel (exemple : http:// votreserveur.com:1158/em). En indiquant cette adresse dans un navigateur, vous administrerez votre serveur. Pas de message derreur, tout sest bien pass, linstallation oracle database est termine !

Starting Oracle
Vous imaginez bien que cela ne pouvait pas se finir comme a, cela serait trop simple, il faut paramtrer le dmarrage de votre base de donnes et crer un script de dmarrage du SGBD. Ouvrez un terminal administrateur ou connectez-vous en tant que root puis ditez le fichier //etc/oratab/ et modifiez la ligne concernant votre base de donnes (ici la base de donnes cre sappelle bdtest) :
bdtest:/oracle/u01/app/oracle/ product:N devient b d t e s t: / o r a c l e / u 0 1 / a p p / oracle/product:Y

Figure 5. Le type dinstallation administrateur du client Oracle est prfrable


chown root:root /etc/init.d/ oracle chmod 755 /etc/init.d/oracle update-rc.d oracle start 90 2 3 4 5 . stop 10 0 1 6 .

Cette fois-ci, linstallation dOracle est effectivement termine.

Un bon client
Quant au client oracle, notez quil nest pas indispensable sur le serveur, il peut tre install sur un poste distant mais il est parfois pratique den avoir un en local pour faire un test par exemple. Pour installer le client oracle, le principe est peu prs le mme que pour la base de donne, il y a un installeur graphique. Connectez-vous sous le profil oracle et tapez la commande : /oracle/install/client/ runInstaller . Validez les crans sauf celui relatif au type dinstallation : slectionnez Administrateur.

Dans un second temps, ralisez un script de dmarrage qui permettra de dmarrer et darrter proprement Oracle chaque fois reboot du serveur : touch /etc/init.d/oracle . ditez ce fichier et compltez-le, un exemple vous est fourni cette adresse : http://albatordeb.blogspot.com/ 2007/04/oracle.html. Rendez-le fonctionnel en lui attribuant les bons droits et surtout en lintgrant au systme de dmarrage (rc.d). Pour cela trois petites commandes :

Une fois install, loutil le plus utile est lEntreprise Manager que vous utilisez en lanant en tant quutilisateur Oracle, cette commande : oemapp console . Connectez-vous votre base de donnes en tant quutilisateur sys avec le mot de passe renseign lors de linstallation de oracle database. Veillez vous connecter en tant que sysdba pour administrer totalement votre base de donnes car cela ne sera pas possible sous un autre profil utilisateur. Voil, nous avons atteint notre objectif, est-ce toujours impossible dinstaller Oracle sur Debian ? Vous pouvez abandonner votre serveur RedHat que vous payez bien trop cher. De plus, la stabilit de Debian est bien meilleure et les possibilits bien plus grandes.

34

LINUX IDENTITY PACK

Vous aimerez peut-être aussi