probleme lancement script sous oracle
Bonjour,
Je poste mon probleme ici, car il concerne plus un probleme de script qu'un probleme avec oracle.
J'ai installé un oracle 10.2.0 sur une red hat entreprise 4, ça fonctionne, et j'ai utilisé un script qui permet de demarrer la base ou l'arrêté, il fonctionne correctement avec l'utilisateur oracle qui permet de gérer la base oracle, mais ne fonctionne pas avec root.
mon probleme c'est que j'aimerai le lancer au lancement du systeme pour lancer la base et à l'arrêt du systeme pour arrêter la base, j'ai crée les liens symbolique, le script est bien pris en compte au lancement, mais dans les logs rien n'est lancé, car permition refusé, est ce que qu'elle qu'un à une solution merci d'avance
Code:
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 |