shell获取存储过程的返回值 一:shell.sql文件 var O_strReturn varchar2; call DND_IGMethod_Search2_SP(‘DEM’,’HAM’,:O_strReturn); SELECT ‘return|’||:O_strReturn FROM dual; commit; exit; 二:shell.sh !/bin/bash HOSTNAME=hostname PATH= PATH;exportPATH;ORACLEBASE=”/u01/app/oracle”;exportORACLEBASE;ORACLEHOME=”/u01/app/oracle/product/11.2.0.4/dbhome1”;exportORACLEHOME;BASEDIR=/home/oracle/data/bcpJOBTXT= BASE_DIR/shell.txt JOB_SQL=$BASE_DIR/shell.sql MAILETO=”邮箱@qq.com”
ORACLEHOME/bin/sqlplus−s账户/密码@//ip地址/oracl@ BASE_DIR/shell.sql >$JOB_TXT
mydate=cat $JOB_TXT |grep "return"| awk -F "|" '{print $2}' echo $mydate 2还有一种方法(将存储过程写在脚本里面) 一shell.sh !/bin/bash HOSTNAME=hostname PATH= PATH;exportPATH;ORACLEBASE=”/u01/app/oracle”;exportORACLEBASE;ORACLEHOME=”/u01/app/oracle/product/11.2.0.4/dbhome1”;exportORACLEHOME;BASEDIR=/home/oracle/data/bcpJOBTXT= BASE_DIR/shell.txt JOB_SQL=$BASE_DIR/shell.sql MAILETO=”邮箱@qq.com”
value=$ORACLE_HOME/bin/sqlplus -s I账户/密码@//ip地址/oracl << EOF set heading off set feedback off set pages 0 set trimspool on set serverout off var O_strReturn VARCHAR2; var I_strRegion varchar2; var I_strOffice varchar2; call DND_IGMethod_Search2_SP('DEM','HAM',:O_strReturn); select :O_strReturn from dual; exit; EOF echo $value
shell发送邮件 cat JOBTASK2EXIST|mailx−s′iEQPWARNINGAnothersystemtaskmonitorjobisstillrunning′ {MAIL_TO} – -r ${HOSTNAME}@coscon.com 指定发件人 和收件人主题,内容