Cette fiche présente l'installation d'Oracle 11g sous Linux Ubuntu 10.04 LTS. Elle reprend en grande partie le billet consacré à la version 10g..

L'installation de Oracle doit se faire en mode graphique, si le serveur ne dispose pas de graphique, il est possible d'effectuer simplement ceci depuis un poste client via ssh en mode X en se connectant ainsi :

ssh -X oracle@serveur_ubuntu

Prérequis

Le plus simple est de passer sous le compte root ainsi :

sudo -s

Installer les packages suivants :

aptitude install build-essential libaio1 gawk 
ksh libmotif3 alien libtool lsb-rpm

Il est nécessaire de mettre à jour le sh pour le changer en bash. Pour ce faire il suffit de procéder comme suit :

# cd /bin
# ls -l /bin/sh
lrwxrwxrwx 1 root root 4 2008-04-28 19:59 /bin/sh -> dash
# ln -sf bash /bin/sh
# ls -l /bin/sh
lrwxrwxrwx 1 root root 4 2008-05-01 22:51 /bin/sh -> bash

Préparer l'environnement du user Oracle

Ajouter les groupes oinstall, dba, nobody

# addgroup oinstall
# addgroup dba
# addgroup nobody

Ajouter le user oracle et lui donner un mot de passe.

# useradd -g oinstall -G dba -p password 
-d /home/oracle -s /bin/bash oracle
# passwd oracle

Créer la home directory du user oracle

# mkdir /home/oracle
# chown -R oracle:dba /home/oracle

Oracle étant prévu sur des distribution RedHat, il faut créer certains liens symboliques pour des raisons de compatibilité :

# ln -s /usr/bin/awk /bin/awk
# ln -s /usr/bin/rpm /bin/rpm
# ln -s /usr/bin/basename /bin/basename
# mkdir /etc/rc.d
# for i in 0 1 2 3 4 5 6 S 
      do ln -s /etc/rc$i.d /etc/rc.d/rc$i.d
   done

Il y a une erreur sans gravité lors de l'installation :

Error in invoking target 'all_no_orcl' of makefile 'ins_rdbms.mk'

Afin de l'éviter il suffit de créer le lien symbolique suivant : Ubuntu 10.04

sudo ln -s /usr/lib/libstdc++.so.6.0.13 /usr/lib/libstdc++.so.5

Initialiser la gestion des rpm :

rpm --initdb
rpm --rebuilddb

Création d’ORACLE_BASE

# mkdir -p /u01/app/oracle
# chown -R oracle:dba /u01

Paramétrage du noyau linux

Rajouter les lignes suivantes dans /etc/sysctl.conf

fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 1048576
net.core.rmem_max = 4194304
net.core.wmem_default = 1048576
net.core.wmem_max = 1048576

Activer la configuration par la commande suivante :

# sysctl -p

Rajouter les lignes suivantes dans /etc/security/limits.conf

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

Faire croire qu'il s'agit d'une redhat

echo "Red Hat Enterprise Linux ES release 3 (Taroon Update 4)" > /etc/redhat-release

Installation des binaires Oracle

Se connecter avec le user Oracle et lancer le runInstaller

# ./runInstaller 

Suivre l'assistant graphique. L'assistant va indiquer que certains packages sont manquants, car les versions Ubuntu sont plus récentes, ceci peut donc être ignoré. Peut être également ignoré le message sur le niveau d'exécution, car sous Ubuntu 2,3 et 5 sont équivalents.

Il faudra lancer en tant que root deux scripts ( orainstRoot.sh et root.sh ). Attention la phase d'attente de cette fenêtre est assez longue, ce n'est pas "un plantage" -> "patience!"

Une fois l'installation terminée, rajouter les lignes suivantes dans le fichier /etc/profile et redémarrer le serveur.

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export ORACLE_OWNR=oracle
export NLS_LANG=french_france.utf8
export PATH=$PATH:$ORACLE_HOME/bin

Lancement des utilitaires

  • Création de base : dbca
  • Assistant Oracle*NET : netca
  • Manager Oracle*NET : netmgr
  • Database control : emctl ( emctl start|stop dbconsole )
  • Listener : lsnrctl