Вызовите процедуру sql через скрипт оболочки и напишите в случае ошибки - PullRequest
1 голос
/ 11 октября 2011

Я хочу написать сценарий оболочки, который вызывает процедуру sql (в конечном итоге запустить скрипт через планировщик), и, если процедура выдает ошибку sql любого вида, отправьте ошибку как электронное письмо, которое я хочу указать внутри сценария,Как я могу это сделать?

РЕДАКТИРОВАТЬ: Вот что я пытался.Я не могу понять, как поставить логику, которая отправляет электронную почту, только если есть ошибки.

export ORACLE_HOME=/oracle/app/products/11gr1/db
export ORACLE_SID=CTPP01S1 
MAIL_TO="xxx@yyy.com" 
LOGFILE=./xxx_job.log        
exec 2>&1 > $LOGFILE          
echo " Job run at: `date`......" 
$ORACLE_HOME/bin/sqlplus -s '/ as sysdba' <<EOF
set head on; 
set feed on;
set serveroutput on;
set linesize 250;   
set pagesize 1000;
exec schema.proc_name; 
exit
EOF
echo "Job ended at: `date`"
mailx -s "OLBB Extract Results." $MAIL_TO  < $LOGFILE

1 Ответ

1 голос
/ 11 октября 2011

Если вы хотите отправить письмо из Oracle, тогда utl_mail - ваш друг. Как заметил @Tony, вы не указали свою платформу, но в Linux есть mail и в Unix , с помощью которых вы можете передать результаты своего исполнения.

В любой среде вы можете выполнить ваш SQL в оболочке, такой как Python (я предвзят) и mail из этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...