Service oracle
| Fiche express | |
|---|---|
| Type | Script d'init système (SysV) |
| Composant | Oracle Database |
| Voir aussi | Database tunning |
Script d'init SysV permettant de démarrer/arrêter automatiquement les instances Oracle (via `dbstart`/`dbshut`) avec le système, sur une distribution utilisant encore `chkconfig`/`/etc/init.d`.
Principe
`dbstart` et `dbshut` (fournis dans `$ORACLE_HOME/bin`) démarrent/arrêtent toutes les instances marquées `Y` dans le fichier `/etc/oratab` (troisième champ — voir Database tunning). Le script ci-dessous les intègre comme un service système classique.
Script /etc/init.d/oracle
Adapter `ORA_OWNER` (utilisateur propriétaire de l'installation) et `ORA_HOME` (répertoire `ORACLE_HOME`) aux valeurs réelles avant utilisation :
#!/bin/sh
# chkconfig: 345 99 10
# description: Service to start and stop Oracle Database and Listener
#
# processname: oracle
# config: /etc/oratab
# pidfile: /var/run/oracle.pid
# Source function library.
. /etc/init.d/functions
RETVAL=0
ORA_OWNER="oracle"
ORA_HOME="/u01/app/oracle/product/11.2.0/dbhome_1"
prog="oracle"
start() {
echo -n $"Starting $prog: "
su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME"
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/dbora
return $RETVAL
}
stop() {
echo -n $"Stopping $prog: "
su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut $ORA_HOME"
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -r /var/lock/subsys/dbora
return $RETVAL
}
restart() {
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
esac
exit $?
Activation
# cp fichier /etc/init.d/oracle # chmod 755 /etc/init.d/oracle # chkconfig --add oracle # chkconfig oracle on
(Étape d'activation non détaillée dans la source d'origine, ajoutée ici pour compléter la procédure. `chkconfig` suppose une distribution SysV/RHEL-like ; sur une distribution `systemd` récente, préférer une unit `.service` dédiée plutôt que ce script — à vérifier.)
Voir aussi
- Database tunning — fichier `oratab` et paramètres d'instance
- Source d'inspiration : oracledistilled.com (article original probablement obsolète, non revérifié)