Überprüfen Sie die Datenbankverbindung mithilfe des Shell-Skripts

8

Ich versuche ein Shell-Skript zu schreiben, um die Datenbankverbindung zu überprüfen. In meinem Skript verwende ich den Befehl

%Vor%

um eine Verbindung zu meiner Oracle-Datenbank herzustellen.

Nun möchte ich die Ausgabe, die von diesem Befehl generiert wurde (bevor er auf die SQL-Eingabeaufforderung fällt), in einer temporären Datei speichern und dann die Zeichenfolge "Verbunden mit" aus dieser Datei suchen, um festzustellen, ob die Verbindung in Ordnung ist.

Kann jemand bitte mir helfen, die Ausgabe zu fangen und von dieser Aufforderung loszukommen und zu testen, ob Verbindung gut ist?

    
mohona 23.09.2010, 14:44
quelle

5 Antworten

20

Verwenden Sie ein Skript wie folgt:

%Vor%

echo "exit" stellt sicher, dass Ihr Programm sofort beendet wird (dies wird an sqlplus weitergeleitet). -L stellt sicher, dass sqlplus nicht nach einem Passwort fragt, wenn die Anmeldeinformationen nicht in Ordnung sind (was dazu führen würde, dass es nicht mehr funktioniert).

(& gt; / dev / null verbirgt nur die Ausgabe von grep, die wir nicht brauchen, weil in diesem Fall auf die Ergebnisse über $ zugegriffen wird)

    
Jochem 23.09.2010, 15:04
quelle
2

Sie können die SQL-Eingabeaufforderung umgehen, indem Sie Folgendes tun:

%Vor%

SqlPlus wird sofort beendet.

Jetzt grep nur die Ausgabe von oben als:

%Vor%     
codaddict 23.09.2010 15:02
quelle
1
%Vor%     
iddqd 23.09.2010 15:06
quelle
1
%Vor%

Wenn Sie nicht wissen, ob die Meldung "Verbunden mit" auf Standardausgabe oder Standardfehler gesetzt ist, prüft dies beide. "qrep -q" anstelle von "grep ... & gt; / dev / null" setzt Linux voraus.

    
frayser 23.09.2010 15:22
quelle
0

Hier ist eine gute Option, die das Passwort in der Befehlszeile nicht verfügbar macht

%Vor%     
abe 18.08.2015 18:15
quelle

Tags und Links