#!/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