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
Partager