IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Probleme Script lancement


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 28
    Par défaut Probleme Script lancement
    Bonjour,

    Je poste mon probleme ici, car il concerne plus un probleme de script qu'u 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

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Ce serait bien d'aller regarder le contenu de $LOG...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 28
    Par défaut c'est ce que j'ai fais
    Je suis allez voir dans le fichier de Log, et c'est bien ce que j'ai dis plus haut.
    si je le lance avec mon utilisateur Oracle, aucun souci ça fonctionne, mais si le script se lance au demarrage du systeme, j'ai dans le fichier de log, permission non accordé pour lancer la base de donnée, le listener, et la console EM

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par lestat02 Voir le message
    Je suis allez voir dans le fichier de Log, et c'est bien ce que j'ai dis plus haut.
    si je le lance avec mon utilisateur Oracle, aucun souci ça fonctionne, mais si le script se lance au demarrage du systeme, j'ai dans le fichier de log, permission non accordé pour lancer la base de donnée, le listener, et la console EM
    C'est un peu con mais c'est possible que Oracle ne veule pas se lancer en tant que root (par exemple pour éviter qu'un bug du pgm n'aille polluer tout le système) et c'est facile à faire.

    Faut que tu regardes chaque programme lancé par ton script et que tu le lances "en tant que root" manuellement voir lequel refuse.
    Ensuite, tu mets un setuid à ce programme (qui doit probablement appartenir à Oracle) et donc même si c'est root qui le lance, le process appartiendra à l'user Oracle...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. probleme de lancement d'un script php à la soumission d'un formulaire
    Par mohamed2006 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 22/03/2008, 07h17
  2. [NetBeans] Probleme au lancement NetBeans
    Par boubou11 dans le forum NetBeans
    Réponses: 2
    Dernier message: 21/04/2005, 11h38
  3. [Kylix] Problème au lancement d'un programme
    Par jeanbi dans le forum EDI
    Réponses: 7
    Dernier message: 19/01/2005, 23h00
  4. [Linux]probleme au lancement d'eclipse sur mandrake 10
    Par Dnx dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 21/09/2004, 19h34
  5. [Tomcat] [eclipse] probleme au lancement de mes jsp
    Par sandusa dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 11/05/2004, 14h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo