Tester connexion BDD Oracle

Résolu
remousse Messages postés 299 Date d'inscription   Statut Membre Dernière intervention   -  
remousse Messages postés 299 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Dans un script shell, je me connecte à une BDD de la manière suivante :

sqlplus $ORCLUSR@$ORACLE_SID @test.sql


J'aimerai pouvoir tester cette connexion avant de me connecter de d'exécuter le fichier sql. En fait au bout de 5 tentatives échouées le fichier test.sql sera supprimé.

J'avais penser à faire ceci :

echo "exit" | sqlplus $ORCLUSR@$ORACLE_SID | grep Connected > /dev/null
if [ $? -eq 0 ] 
then
   echo "OK"
else
   echo "NOT OK"
fi


Déjà je ne suis pas sûr que cela soit juste pour 1 tentative et je ne vois pas comment intégrer ma boucle de 5 tentatives.

Si quelqu'un a des idées je suis preneur.

Par avance merci.

1 réponse

  1. remousse Messages postés 299 Date d'inscription   Statut Membre Dernière intervention   6
     
    Voilà ce que j'ai fait pour le moment :

    CONNECT=false
    i=1
    while [ $i -le 5 ] && [ $CONNECT -eq false ]
    do
    	echo "exit" | sqlplus -L $ORCLUSR@$ORACLE_SID | grep Connected > /dev/null
    	if [ $? -eq 0 ] 
    	then
    		$CONNECT=true
    		echo "Connection OK"
    	else
    		if [ $i -eq 5 ]
    		then
    			echo "erreur sql"
    			exit 99
    		fi
    	fi
    	i='expr $i + 1' 
    done
    	
    if [ $param -eq "00" ]
    then
    	if [ $CONNECT -eq true ]
    	then
    		sqlplus $ORCLUSR@$ORACLE_SID @test1.sql
    	else
    		echo test1.sql | mail -s "test1.sql" admin@admin.com
    		rm test1.sql
    	fi
    	else
    		if [ $CONNECT -eq true ]
    		then
    			sqlplus $ORCLUSR@$ORACLE_SID @test2.sql
    		else
    			echo test2.sql | mail -s "test2.sql" admin@admin.com
    			rm test2.sql
    		fi
    fi
    


    Voyez-vous des problèmes ?
    0