#!/bin/sh
echo "Please enter evaluate database username"
read eval_user
echo "Please enter evaluate database password"
read eval_pass
echo "Please enter the database name"
read db_name
LOGFILE=shell_log.txt
$ORACLE_HOME/bin/sqlplus -s /nolog <<-EOF>> ${LOGFILE}
connect $eval_user/[email protected]$db_name
WHENEVER OSERROR EXIT 9;
WHENEVER SQLERROR EXIT SQL.SQLCODE;
DBMS_OUTPUT.put_line('Connected to db');
EOF
if [ $? != 0 ]
then
echo "The upgrade script failed. Please refer to the log results.txt for more information"
echo "Error code $?"
exit 0;
fi
Ich gebe Garbage-Werte ein, die versuchen, dieses Skript zum Fehlschlagen zu zwingen. Aber, ärgerlich, es geht weiter voran, ohne irgendeinen Fehlercode zu erwähnen. Was muss hier noch getan werden?Verwalten der Fehlerbehandlung beim Ausführen von sqlplus aus Shellskripts
Unter welchem OS-Benutzerkonto laufen Sie? In welcher Datenbank meldet sich das Skript an? – APC
Ich habe Ihr Skript ausprobiert, und die Protokolldatei erfasst den Fehlercode. Hier ist der Zugriff aus der Protokolldatei: 'ERROR: ORA-01017: ungültiger Benutzername/Passwort; Anmeldung verweigert SP2-0734: unbekannter Befehl beginnt "DBMS_OUTPU ..." - Rest der Zeile ignoriert. – Incognito
Darf ich wissen, was erhalten Sie in der Protokolldatei, wenn Sie das Skript ausführen? – Incognito