Vérifier la connectivité de base de données à l'aide d'un script Shell
Je suis en train d'écrire un script shell pour vérifier la connectivité de base de données. Dans mon script, je suis l'aide de la commande
sqlplus uid/pwd@database-schemaname
pour se connecter à ma base de données Oracle.
Maintenant, je veux enregistrer la sortie généré par cette commande (avant qu'il ne tombe à invite SQL) dans un fichier temporaire, puis grep /trouver la chaîne "Connecté" à partir de ce fichier pour voir si la connectivité est bien ou pas.
Quelqu'un peut-il m'aider à attraper la sortie et de sortir de l'invite de et de tester si la connectivité est bien?
OriginalL'auteur mohona | 2010-09-23
Vous devez vous connecter pour publier un commentaire.
Utiliser un script comme ceci:
echo "sortie" assure que votre programme s'arrête immédiatement (cela est transmise à sqlplus).
-L assure que sqlplus de ne pas demander de mot de passe si les informations d'identification ne sont pas ok (ce qui en ferait-il de se coincer).
(> /dev/null vient se cache de sortie de grep, dont nous n'avons pas besoin, parce que les résultats sont accessibles à partir de $? dans le cas présent)
OriginalL'auteur Jochem
Vous pouvez éviter l'invite SQL par:
SqlPlus quitte immédiatement.
Maintenant juste grep la sortie de la ci-dessus:
OriginalL'auteur codaddict
OriginalL'auteur baklarz2048
Ne sachant pas si le "Connecté" message est placé à la sortie standard ou d'erreur, il vérifie à la fois. "qrep -q" au lieu de "grep... >/dev/null" suppose Linux.
OriginalL'auteur frayser
Ici est une bonne option qui n'expose pas le mot de passe sur la ligne de commande
OriginalL'auteur abe
aucune des solutions proposées ne fonctionne pour moi, que mon script est exécuté dans les machines de course de plusieurs pays, avec des endroits différents, je ne peux pas vérifier simplement une Chaîne tout simplement parce que cette chaîne dans l'autre machine est traduit dans une autre langue. Comme une solution, je suis à l'aide de SQLcl
https://www.oracle.com/database/technologies/appdev/sqlcl.html
qui est compatible avec tous les sql*plus de scripts et de vous permettre de tester la connectivité de base de données comme ceci:
OriginalL'auteur Mtruchado