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 😉