Installation d’Oracle Enterprise Edition 10g sur une machine virtuelle VirtualBox OSE

Copie du tuto de Michel (http://dontpanic.myftp.org/blog/index.php?article=184) avec quelques modifications pour que ça fonctionne sur ma machine virtuelle.

Ajout des librairies nécessaires à la compilation :

apt-get install build-essential libaio1 gawk ksh libmotif3 alien libtool lsb-rpm libstdc++5

Oracle utilisera bash lors de l’installation, en y faisant référence par SH. Hors, SH est un lien symbolique qui pointe vers dash par défaut (configuré par Ubuntu)… Modification donc du lien symbolique

ln -sf /bin/bash /bin/sh

Ajout des groupes utilisés par le moteur de bases de données Oracle

addgroup oinstall
addgroup dba
addgroup nobody

Puis on modifie le compte nobody existant déjà sur Ubuntu pour Oracle

usermod -g nobody nobody

Création des liens symboliques vers les applications qu’Oracle va utiliser lors de l’installation

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

Oracle sera installé sur l’utilisateur de base de l’OS (davjack –> /home/davjack/) car je n’utilise cette machine virtuelle que pour la base Oracle.

Puis on lance l’assistant d’installation sans le test des pré-requis car sinon, Oracle croit qu’il n’est pas sur Linux…

$ ./runInstaller -ignoreSysPrereqs

Installation des scriptes de démarrage

Ajout des variables d’environnement oracle_home et enrichissement du path. Pour ce faire, modifier le fichier /etc/profile et ajouter

export ORACLE_HOME=/home/davjack/oracle/product/11.1.0/db_1
export PATH=$PATH:/home/davjack/oracle/product/11.1.0/db_1/bin
export ORACLE_SID=es28
export ORACLE_OWNR=davjack

Création de deux scripts : l’un pour démarrer le listener, l’un pour démarrer entreprise manager qui permettra de démarrer l’instance (car, mystérieusement, dbstart ne fonctionne pas).
Démarrage du listener (/etc/init.d/listener) :

#!/bin/bash

export ORACLE_BASE=/home/davjack/oracle
export ORACLE_HOME=/home/davjack/oracle/product/10.2.0/db_1
export ORACLE_OWNR=davjack
export ORACLE_SID=es28
export PATH=$PATH:$ORACLE_HOME/bin

if [ ! -f $ORACLE_HOME/bin/lsnrctl -o ! -d $ORACLE_HOME ]
then
echo "Oracle listener: cannot start"
exit 1
fi

case "$1" in
start)
echo -n "Starting Oracle Listener: "
su davjack -c "$ORACLE_HOME/bin/lsnrctl start"
echo "OK"
;;
stop)
echo -n "Shutdown Oracle Listener: "
su $ORACLE_OWNR -c "$ORACLE_HOME/bin/lsnrctl stop"
echo "OK"
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: `basename $0` start|stop|restart|reload"
exit 1
esac

exit 0

Fichier pour lancer entreprise manager (/etc/init.d/oracleEm) :

#!/bin/bash

export ORACLE_BASE=/home/davjack/oracle
export ORACLE_HOME=/home/davjack/oracle/product/10.2.0/db_1
export ORACLE_OWNR=davjack
export ORACLE_SID=es28
export PATH=$PATH:$ORACLE_HOME/bin

if [ ! -f $ORACLE_HOME/bin/emctl -o ! -d $ORACLE_HOME ]
then
echo "Oracle Entreprise Manager: cannot start"
exit 1
fi

case "$1" in
start)
echo -n "Starting Oracle Entreprise Manager: "
su $ORACLE_OWNR -c "$ORACLE_HOME/bin/emctl start dbconsole"
echo "OK"
;;
stop)
echo -n "Shutdown Oracle Entreprise Manager : "
su $ORACLE_OWNR -c "$ORACLE_HOME/bin/emctl stop dbconsole"
echo "OK"
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: `basename $0` start|stop|restart|reload"
exit 1
esac

exit 0

On s’ajoute maintenant au groupe dba, pour pouvoir intéragir avec les bases de données :

usermod -G dba -a davjack

Et maintenant, pour lancer l’instance :

/etc/init.d/listener start
/etc/init.d/oracleEm start

puis, pour se connecter à oracle entrperise manager, on ouvre un navigateur et on entre l’adresse

http://localhost:1158/em

Puis, on vérifie bien que le listener est lancé, et on démarre l’instance (en utilisant son utilisateur local comme compte).
Puis, très important, on arrête oracle entreprise manager, car il consomme énormément de ressources :

/etc/init.d/oracleEm stop

Merci Michel 😉

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *