AIX 应用sqlplus例子

来源:互联网 发布:网络前端前景咋么样 编辑:程序博客网 时间:2024/06/05 01:09

 

自己系统中应用的例子

 

# TEST ORACLE IS RUNNING

ORACLE_NUM=`ps -ef|grep oracle|grep -v grep|wc -l`

DATE_TIME=`date "+%y-%m-%d %H:%M`

echo "【${DATE_TIME}】ORACLE进程检测数【$ORACLE_NUM】" >>$log_file

if [ $ORACLE_NUM -gt 0 ]

then

  echo "【${DATE_TIME}】"ORACLE IS RUNNING!

else

  echo "【${DATE_TIME}】"ORACLE IS NOT RUNNING!

  exit

fi

cd  $app_path

. ./scriptenv.sh

xtrq=`date +%Y%m%d`

 

log_file=${log_path}batch${xtrq}.log

 

DATE_TIME=`date "+%y-%m-%d %H:%M`

 

 

echo "【${DATE_TIME}】正在检查批量接口数据是否准备完毕,请等候......" 

 

TEST_NUM=1;

while true

do

    DQRQ=`date "+%Y%m%d`

    DATE_TIME=`date "+%y-%m-%d %H:%M`

    VALUE=`sqlplus -S  $oracleuser/$oraclepassword<< EOF

    set heading off

    set pagesize 0; 

    set feedback off; 

    set verify off;

    set echo off;

    select NowDate from SIGNAL where Singal is null;

    exit;

    END`

 

 if [  $VALUE   = $DQRQ ]; then

      WEIHRQ=$VALUE;

        echo "【${DATE_TIME}】批量接口数据准备完毕: 【$VALUE】"

        break

    else        

        if [ ${TEST_NUM} -gt 100 ] 

        then

           echo "【${DATE_TIME}】第【${TEST_NUM}】次检测,数据未准备好,不再检测,请手工查找问题!" 

           return

        fi

 

    fi

    echo "【${DATE_TIME}】第【${TEST_NUM}】次检测,数据未准备好,继续检测!" 

    sleep 180

    TEST_NUM=`expr ${TEST_NUM} + 1`

done

 

DATE_TIME=`date "+%y-%m-%d %H:%M`

 

 

 

DATE_TIME=`date "+%y-%m-%d %H:%M`

echo "【${DATE_TIME}】批处理【${WEIHRQ}】【${WEIHRQ}】开始,请等候......" 

echo "【${DATE_TIME}】批处理【${WEIHRQ}】【${WEIHRQ}】开始,请等候......" >>$log_file

 

echo "【${DATE_TIME}】批处理【${WEIHRQ}】【${WEIHRQ}】 设置运行标志" 

echo "【${DATE_TIME}】批处理【${WEIHRQ}】【${WEIHRQ}】 设置运行标志" >>$log_file

cd $app_path

. ./Running.sh KDR

 

echo "【${DATE_TIME}】批处理【${WEIHRQ}】【${WEIHRQ}】 运行存储过程"

echo "【${DATE_TIME}】批处理【${WEIHRQ}】【${WEIHRQ}】 运行存储过程" >>$log_file

sqlplus -S  $oracleuser/$oraclepassword << EOF

set serveroutput on; 

 

declare 

  i integer;

begin

  proc_batch(0,'${WEIHRQ}','${WEIHRQ}',i);

end;

/

 

EOF

 

echo "【${DATE_TIME}】批处理【${WEIHRQ}】【${WEIHRQ}】运行批量程序开始,请等候......"

echo "【${DATE_TIME}】批处理【${WEIHRQ}】【${WEIHRQ}】运行批量程序开始,请等候......" >>$log_file

#cd $app_path

#sh startup.sh KDR

 

 

echo "【${DATE_TIME}】批处理【${WEIHRQ}】【${WEIHRQ}】运行FTP上传程序开始,请等候......" 

echo "【${DATE_TIME}】批处理【${WEIHRQ}】【${WEIHRQ}】运行FTP上传程序开始,请等候......" >>$log_file

 

rm ${local_path}/kdr.finish

echo "上传信号文件给$ftpserver" 

echo "上传信号文件给$ftpserver" >>$log_file

touch ${local_path}/finish >>$log_file

echo File $WEIHRQ created >>$log_file

echo start ftp to $ftpserver

ftp -i -n $ftpserver<<EOF >>$log_file

user $ftpuser $ftppassword

cd   $ftp_path

lcd $local_path

put finish

quit

EOF

echo put finish success >>$log_file

 

echo "【${DATE_TIME}】批处理【${WEIHRQ}】【${WEIHRQ}】设置批量程序完成标志,请等候......"

echo "【${DATE_TIME}】批处理【${WEIHRQ}】【${WEIHRQ}】设置批量程序完成标志,请等候......" >>$log_file

cd $app_path

.  ./setComplete.sh KDR

 

DATE_TIME=`date "+%y-%m-%d %H:%M`

echo "【${DATE_TIME}】批处理【${WEIHRQ}】【${WEIHRQ}】结束。" >>$log_file

echo "【${DATE_TIME}】批处理【${WEIHRQ}】【${WEIHRQ}】结束。"

 

原创粉丝点击