Installer Oracle 11.2 sur Ubuntu 11.04 x64

Nouveau laptop signifie nouvelle installation d’Oracle sur une autre version d’Ubuntu ! Natty Narwhal installé en 64 bits et les autocollants décollés, vous êtes prêt à commencer. La note de Don Seiler à propos de l’installation d’Oracle 11.2 sur Ubuntu 10.04 s’applique quasiment à la lettre.

Cet article en reprend les grandes étapes avec, quand c’est possible, des raccourcis. Evidemment, il y a toujours quelques « nouveaux » problèmes. Lisez bien les fichiers de log. Ce qui suit référence toutes les difficultés de la version Oracle sur Ubuntu x64…

Installer les packages nécessaires

Pour commencer, il faut installer les packages nécessaires et créer quelques liens puisqu’Oracle s’attent à trouver programmes et bibliothèques à des endroits précis :

sudo -s
apt-get install unzip build-essential x11-utils
rpm ksh lsb-rpm libaio1 sysstat

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

cd /usr/lib64
ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a libpthread_nonshared.a
ln -s /usr/lib/x86_64-linux-gnu/libc_nonshared.a libc_nonshared.a
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 libstdc++.so.6

cd /lib64
ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 libgcc_s.so.1

Installer libstdc++ 5 en 32 et 64 bits

Oracle a besoin pour s’installer de la version 5 de la libstdc++ en 32 et 64 bits. Cette version n’existe pas dans les repository et doivent être installés depuis des référenciels globaux manuellement :

wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-23_amd64.deb
dpkg-deb -x libstdc++5_3.3.6-23_amd64.deb ia64-libs
ia64-libs libstdc++5_3.3.6-23_amd64.deb
sudo cp ia64-libs/usr/lib/libstdc++.so.5.0.7 /usr/lib64
cd /usr/lib64/
sudo ln -s libstdc++.so.5.0.7 libstdc++.so.5

wget http://mirrors.kernel.org/ubuntu/pool/universe/i/ia32-libs/ia32-libs_2.7ubuntu6.1_amd64.deb
dpkg-deb -x ia32-libs_2.7ubuntu6.1_amd64.deb ia32-libs
sudo cp ia32-libs/usr/lib32/libstdc++.so.5.0.7 /usr/lib32/
cd /usr/lib32
sudo ln -s libstdc++.so.5.0.7 libstdc++.so.5

Créer l’utilisateur Oracle et les groupes

Les packages installés, vous pouvez créer l’utilisateur Oracle et les groupes associé. En 3 commandes, voici comment tout faire :

sudo -s
addgroup oinstall
addgroup dba
useradd -g oinstall -G dba -d /home/oracle -m -s /bin/bash oracle

Changer les paramètres noyau

Modifier le fichier sysctl.conf et rechargez les paramètres :

cat >>/etc/sysctl.conf <<EOF
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.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 1048576
net.core.wmem_max = 1048576
net.ipv4.ip_local_port_range = 9000 65535
EOF

sysctl -p

Changer les valeurs de ulimit

Modifiez ensuite le fichier limits.conf et reconnectez-vous à l’utilisateur Oracle pour récupérer les nouvelles valeurs de ulimit :

cat >>/etc/security/limits.conf <<EOF
oracle soft nproc 2048
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
EOF

Créer un répertoire pour l’installation

Il ne reste plus qu’à créer un répertoire /u01 et à en donner accès à Oracle :

sudo -s
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01

Installer les distributions

Pour installer, il suffit alors de procéder comme sur tout OS supporté à l’exception de la validation des pré-requis que vous ignorerez comme ci-dessous :

Créer une base de données

Si vous installez les différents patchs, créez une base à l’aide de dbca et l’option « Custom Database » :

Conclusion

Me voilà en 64 bits sur mon laptop désormais ; toujours sur Ubuntu, toujours avec une licence Oracle pour continuer à me former… et pour une utilisation non commerciale et non supportée.

11 réflexions sur “Installer Oracle 11.2 sur Ubuntu 11.04 x64”

  1. Clémentine,

    Soyons clair, dans l’ordre :
    1. Le support Oracle raison.
    2. La doc Oracle a raison
    3. J’ai raison

    Parfois, l’ordre est un peu différent mais dans ce cas, fais ce que Oracle préconise.

    Greg

  2. Salut
    dans le le sysctl.conf pour les valeurs de net.core.wmem_*
    tu as indiqué des valeurs différentes que celles préconisées dans le manuel d’installation de Mr Oracle officiel.
    Ce changement est il lié à ubuntu ou est ce que c’est « parce que c’est mieux » ?
    je suis en pleine install d’une 11g sur un redhat 5, et je me demande ce qui est mieux.
    Merci en tout cas pour ton blog!
    @+

    Clémentine

  3. J’ai installé une 10g, ça marche aussi ! J’ai seulement du ajouté le groupe nobody
    « sudo groupadd nobody »

  4. Une question, le problème des librairies semble se poser aussi sous 10g, mais la technique ici ne permet pas de résoudre le problème. Quelqu’un aurait des retours sur Natty et oracle 10g (64bits) svp ?

  5. Bonjour

    Merci pour la doc mais il n’y aurait pas une ligne en trop pour les libs supplémentaires ?

    ia64-libs libstdc++5_3.3.6-23_amd64.deb

  6. Je connais plusieurs personnes qui l’ont fait (et même vendu !), cela dit :
    – Je ne l’ai jamais fait moi-même
    – Ca a l’air plutôt compliqué car tout le framework de service et de démarrage est très différent entre Ubuntu et les version EL/SLES
    – Le jeu n’en vaut pas la chandelle je pense : non supporté, possibilité de faire des VMs ou des partitions pour des tests, OEL est gratuit

  7. LeoAnderson

    Merci beaucoup pour ces infos

    Par contre, je n’arrive pas à faire fonctionner la « grid infrastructure » sous Ubuntu

    est-ce que vous avez essayé ? est-ce possible ?

Les commentaires sont fermés.