#!/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
我輸入垃圾值試圖強制這個腳本失敗。但是,令人煩惱的是,它不斷提前沒有提及任何錯誤代碼。還有什麼需要在這裏完成?從shell腳本運行sqlplus時管理錯誤處理
哪個操作系統用戶帳戶,你下運行?腳本登錄到哪個數據庫? – APC
我試過你的腳本,並且日誌文件捕獲錯誤代碼。這裏是從日誌文件抓取:'錯誤: ORA-01017:無效的用戶名/密碼;登錄否認 SP2-0734:未知的命令開頭「DBMS_OUTPU ......」 - 行的其餘ignored.' – Incognito
我想知道,你幹嘛在日誌文件中獲取,當你執行腳本? – Incognito