1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
| #! /bin/sh
# chkconfig: 35 99 01
ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
ORACLE=oracle
LOG=$ORACLE_HOME/startup.log
VAR_LOCK=/var/lock/subsys/dbora
export ORACLE_HOME ORACLE LOG VAR_LOCK
# Si l'executable n'existe pas, renvoie d'un erreure
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
echo "Oracle ne peux pas demarre"
exit
fi
PATH=${PATH}:$ORACLE_HOME/bin
export ORACLE_HOME PATH
touch $LOG
chmod a+r $LOG
case "$1" in
'start')
# test si la base Oracle tourne
if [ -e "/var/lock/subsys/dbora" ]
then
echo "Oracle est deja en train de tourner"
exit
fi
echo "**** $0: demarrage" >> $LOG
echo "**** $0: demarrage"
date >> $LOG
#demarrer le processus d'ecoute
echo "** demarrage du porcessus d'ecoute" >> $LOG
echo "** demarrage du porcessus d'ecoute"
$ORACLE_HOME/bin/lsnrctl start >> $LOG 2>&1 &
#demarrer la base de donnee
echo "** demarrage de la base de donnees" >> $LOG
echo "** demarrage de la base de donnees"
$ORACLE_HOME/bin/dbstart >> $LOG 2>&1 &
#demarrer ISQL*Plus
echo "** demarrage de isql*Plus" >> $LOG
echo "** demarrage de isql*Plus"
$ORACLE_HOME/bin/isqlplusctl start >> $LOG 2>&1 &
#demarrer la console Oracle Entreprise Manager
echo "** demarrage de la console OEM" >> $LOG
echo "** demarrage de la console OEM"
$ORACLE_HOME/bin/emctl start dbconsole >> $LOG 2>&1 &
#indique que le service est demarre
touch $VAR_LOCK
;;
'stop')
# test si la base Oracle tourne
if [ ! -e "/var/lock/subsys/dbora" ]
then
echo "Oracle est deja arrete"
exit
fi
echo "**** $0: arret Oracle" >> $LOG
echo "**** $0: arret Oracle"
date >> $LOG
#arreter la console Oracle Entreprise Manager
echo "** arret de la console OEM" >> $LOG
echo "** arret de la console OEM"
$ORACLE_HOME/bin/emctl stop dbconsole >> $LOG 2>&1 &
#arreter ISQL*Plus
echo "** arret de isql*Plus" >> $LOG
echo "** arret de isql*Plus"
$ORACLE_HOME/bin/isqlplusctl stop >> $LOG 2>&1 &
#arreter la base de donnee
echo "** arret de la base de donnees" >> $LOG
echo "** arret de la base de donnees"
$ORACLE_HOME/bin/dbshut >> $LOG 2>&1 &
#arreter le processus d'ecoute
echo "** arret du processus d'ecoute" >> $LOG
echo "** arret du processus d'ecoute"
$ORACLE_HOME/bin/lsnrctl stop >> $LOG 2>&1 &
#suppression de la variable qui indique que oracle tourne
rm -f $VAR_LOCK
;;
'restart')
#relancer Oracle
if [ -e "/var/lock/subsys/dbora" ]
then
$0 'stop'
$0 'start'
else
$0 'start'
fi
;;
'status')
#test pour voir si oracle tourne
if [ -e "/var/lock/subsys/dbora" ]
then
echo "Oracle est en marche"
exit
else
echo "Oracle est arrete"
exit
fi
;;
*)
echo "la syntaxe est $0 {start|stop|restart|status}"
;;
esac
exit |
Partager