Utilisez un script comme celui-ci :
#!/bin/sh
echo "exit" | sqlplus -L uid/[email protected] | grep Connected > /dev/null
if [ $? -eq 0 ]
then
echo "OK"
else
echo "NOT OK"
fi
echo "exit" garantit que votre programme se termine immédiatement (cela est redirigé vers sqlplus).-L garantit que sqlplus ne demandera pas de mot de passe si les informations d'identification ne sont pas correctes (ce qui le bloquerait également).
(> /dev/null masque simplement la sortie de grep, dont nous n'avons pas besoin car les résultats sont accessibles via $? dans ce cas)
Vous pouvez éviter l'invite SQL en faisant :
sqlplus uid/[email protected] < /dev/null
SqlPlus se ferme immédiatement.
Maintenant, grep la sortie de ce qui précède comme suit :
if sqlplus uid/[email protected] < /dev/null | grep 'Connected to'; then
# have connectivity to Oracle
else
# No connectivity
fi