Demarrage automatique de notre serveur Oracle sur Linux

Cet article est la suite logique de celui-ci : Installation Server Oracle

Rencontrez vous des difficultés lors du premier redemarage de votre Server Oracle sur un Unix ? Si la réponse est oui, cet article est pour vous !

La Problématique

En fait sur plate-forme Unix , on a pas contrairement aux plate-formes Windows la création automatique de services qui permettent le démarrage et l’arret automatique des differents composant Oracle (le listenner , la base de donnée , la console OEM…). On se doit alors de créer notre propre script.

Les pré-requis

Tout d’abord, nous devons  changer notre fichier / etc / oratab.

Pourquoi allons-nous le modifier?

Il faut savoir que le fichier oratab est créé par le script root.sh (cf installation Oracle 11G on linux ).
Après avoir installé une nouvelle base de données (dans notre cas orcl), nous devrons modifier notre fichier oratab:

vim /etc/oratab

Normalement vous avez cette ligne :

orcl:/ u01/app/oracle/product/10.2.0/db_1: N

Le premier champ est le nom de ma base de données (orcl), le second est le répertoire oracle  (/ u01/app/oracle/product/10.1.0/db_1) et le troisième indique à l’utilitaire dbstart si la base de données devrait, ou ne pas être mise en place lors du démarrage du système avec respectivement les paramètres « Y » ou « N » .

En tant qu’utilisateur root, nous devons changer le dernier champ de cette ligne de « N » à « Y » pour permettre à l’utilitaire dbstart de lancer la base de données lors de l’exécution du script.

Création du Script

Dans cette étape, nous allons créer un fichier avec comme nom  dbora (j’aime bien c’est le prénom de ma copine ^^) et écrire un petit script à exécuter lors du démarrage et arrêt de notre système.

Nous allons deja créer note script dans le repertoire etc/init.d/ en tant que root :

touch /etc/init.d/dbora vim /etc/init.d/dbora

Qui contiendra :


#!/bin/sh

#
# chkconfig: 35 99 01
# description: Demarage et arret automatique des services oracle.
#
# Les variables d'environnement:
#
# - $ORA_HOME : chemin vers le reepertoire Oracle ou l'on executera

# nos dbstart et dbshut
#
# - $ORA_HOME_LISTENER = $ORA_HOME (depuis la version 11g)
#
# - $ORA_OWNER : nom de notre compte Oracle
#
#Initialisation des variable
ORA_HOME=/u01/app/oracle/product/11.2.0/db_1

ORA_OWNER=oracle

if [ ! -f  $ORA_HOME/bin/dbstart ]then

echo "Oracle startup: cannot start"
exit
fi
case "$1" in

'start')
# Dans le cas ou notre argument est start (/etc/init.d/dbora start): # On execute cette commande:
su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME"
#puis nous creons dans la volée un fichier qui montre que la BD est démarré
touch /var/lock/subsys/dbora
echo "*** Base de donnée Demarer ! ***"

;;

'stop')
# Dans le cas ou notre argument est stop (/etc/init.d/dbora start): # On execute cette commande:
su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut $ORA_HOME"
# on supprime le fichier ,on sera de cette facon que la base n'est pas démarré
rm -f /var/lock/subsys/dbora
echo "*** Base de donnée arreter ! ***"
;;

esac

Remarque : Depuis la version 11g , le démarrage et l’arrêt des processus d’ecoute (les listeners) sont fait automatiquement lors du démarrage et de l’arrêt de la base de donnée.
Apres la création de notre script on doit changer le groupe du fichier et le rendre exécutable, pour ce faire on exécute les commandes suivantes (en root):

chgrp dba /etc/init.d/dbora
chmod 750 etc/init.d/dbora

Pour finir on rentre la commande suivante :

chkconfig –add dbora

(Pour information, cette commande va prendre en compte la première ligne de commentaire dans notre script, et va créer des liens symboliques vers le script dans les répertoires d’autre niveau d’exécution… je ne vais pas rentrer dans les détails … sinon je sent que je vais perdre des lecteurs :p )

Conclusion

Maintenant notre serveur est opérationnel, après le redémarrage de notre serveur nous n’aurons plus les différentes erreurs que l’on a pu rencontrer. Notre base de donnée démarre automatiquement lors du démarrage du système et s’arrête lors de l’arrêt de ce dernier.

C’est un véritable bonheur :) . Après l’installation de notre serveur, de la gestion du démarrage , nous verrons dans les prochains articles comment installer un client et ce qu’est l’utilitaire Oracle Net… Donc n’hésité pas à revenir  ^^

Que pensez-vous de ce billet?  Avez-vous d’autres solutions ou remarque à soumettre ? La parole est à vous :)

Vus : 3682
Publié par Lolokai : 77