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 😉