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

Administration Oracle Discussion :

Test si une base ORACLE est accessible


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de userB
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 147
    Par défaut Test si une base ORACLE est accessible
    Bonjour tout le monde,

    J'imagine que c'est quelque chose d'usuel mais malheureusement quand on ne sait pas ....

    Naivement je pensais qu'il me suffisait de faire tnsping sur ma DATA_BASE pour voir si la base etait accessible ou pas. Malheureusement je me suis rendu compte que tnsping tester uniquement le listener oracle, mais qu'une base oracle pouvait etre à genoux mais son listener ok.

    Donc je cherche une commande que je pourrais utiliser dans mes scripts ksh pour tester si ma base est accessible ou pas.

    Bien cordialement,

    userB

  2. #2
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sqlplus user/password@DATA_BASE
    et tu vois si tu as un message d'erreur

  3. #3
    Membre confirmé Avatar de userB
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 147
    Par défaut
    merci
    Je vais tester ca de ce pas, j'editerai et placerai le flag "Resolu" si tout fonctionne bien ^^

  4. #4
    Membre confirmé Avatar de userB
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 147
    Par défaut
    Hum, j'ai bien peur que ca ne suffise pas.

    Une fois que je simule une connection sur la BD à tester (sqlplus etc etc), si la connection n'a pas pu etre etabli j'ai beau faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    echo "TEST BASE UP : SQLPLUS ..."
    echo "${SQLPLUS} ${LOGIN}/${PASSWORD} @${VIVA_DATABASE}"
    ${SQLPLUS} ${LOGIN}/${PASSWORD}@${VIVA_DATABASE}
     
    if [[ $? - ne 0 ]];then
    	echo "$(date '+%Y-%m-%d') : ERREUR : SQLPLUS : LE SERVEUR DE BD NE REPOND PAS, voir log sous ${VIVA_LOG_DIR}"
    	exit 1
    else
    	echo "ETAT BASE OK"
    fi
    Je n'arrive pas à trapper le message d'erreur, et le systeme me donne 2 autres tentatives de connection. Le principal soucis est qu'a partir de ce moment oracle à la main, et sans une intervention manuelle d'un utilisateur (qui doit appuyer sur entré deux fois) mon script est bloqué.
    Etant donné que ces scripts sont utilisés dans des routines d'export nocturnes, ce facteur bloquant devient tres facheux.

    Comment contourner ce probleme ?

  5. #5
    Membre confirmé Avatar de userB
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 147
    Par défaut
    Piste 1 : tester si la base existe en faisant un ps -ef et en regardant les process lancé, quelque chose dans cette veine :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if [ $(ps -ef|grep  "ora_pmon_$ORACLE_SID" | grep -v grep |wc -l) -ne 0 ]
    then 
       echo "\n La base $ORACLE_SID existe deja \n"
       exit 1
    fi
    Je vous tiens au courant.

    edit : Ca marche au poil, je combine ce test avec le tnsping et je pense avoir une vision pertinente de l'etat de ma BD.
    Merci à vous.

  6. #6
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    sauf que ça ne t'assure pas que la base fonctionne

    le sqlplus doit évidemment être adapté à ton besoin (genre mode silencieux et EXIT FAILURE)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. accéder à une base oracle via Access
    Par Smix007 dans le forum Access
    Réponses: 16
    Dernier message: 11/05/2007, 11h16
  2. Réponses: 9
    Dernier message: 17/11/2006, 11h08
  3. [C#] Est-il possible d'exploiter une base .mdb sans Access en local ?
    Par doudoustephane dans le forum Accès aux données
    Réponses: 2
    Dernier message: 17/07/2006, 14h50
  4. Exporter une base ORACLE vers ACCESS
    Par cquadjul dans le forum Access
    Réponses: 3
    Dernier message: 30/03/2006, 17h04
  5. migration d'une base de données access vers oracle
    Par narjisovish dans le forum Migration
    Réponses: 2
    Dernier message: 08/09/2005, 10h27

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