来自Unix的Oracle sqlplus执行消息

来自Unix的Oracle sqlplus执行消息,oracle,shell,unix,sqlplus,Oracle,Shell,Unix,Sqlplus,我有一个从shell连接到Oracle sqlplus的进程,该shell请求密码,然后以以下方式开始执行存储过程: echo -e "Enter Password" read -s pass $ORACLE_HOME/bin/sqlplus -s -l /nolog << EOF >> $log_deploy connect $schema/$pass@$db @$sql/main.sql; EOF echo-e“输入密码” 读s通行证 $ORACLE\u HOME

我有一个从shell连接到Oracle sqlplus的进程,该shell请求密码,然后以以下方式开始执行存储过程:

echo -e "Enter Password"
read -s pass

$ORACLE_HOME/bin/sqlplus -s -l /nolog << EOF >> $log_deploy
connect $schema/$pass@$db
@$sql/main.sql;
EOF
echo-e“输入密码”
读s通行证
$ORACLE\u HOME/bin/sqlplus-s-l/nolog>$log\u deploy
连接$schema/$pass@$db
@$sql/main.sql;
EOF
事实上,这个过程的持续时间是可变的,由操作员从服务器控制台执行

有某种方式可以每10分钟通知操作员一次,例如“流程继续执行”?因为一旦进入sqlplus,它将一直保留在其中,直到sp的执行结束并返回控制台


有什么建议或想法吗?

把sqlplus Herdeoc放在后台。通过检查最后一个后台进程id($!)和
睡眠的完成情况,等待几秒钟(顺便说一下,10分钟是一个很长的间隔)

intrvl=100
sqlplus
intrvl=100
sqlplus  <<EOF &
input
EOF
PID=$!  #get the pid of the last background process.

while [ 1 ]
do
if ps -p $PID > /dev/null
 then
   echo "The process continues in execution"
   sleep $intrvl
 else 
   break
 fi
done