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 : Sélectionner tout - Visualiser dans une fenêtre à part
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