Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.tools -> Re: HELP! Oracle Errors & UNIX Shell scripts

Re: HELP! Oracle Errors & UNIX Shell scripts

From: Bastiaan Schaap <bschaap_at_desyde.nl>
Date: 2000/08/11
Message-ID: <newscache$zx44zf$6sa$1@lnews.actcom.co.il>#1/1

Hi,

I'm not really a unix/linux guru, I like to play around with it, but could this be possible?:
use the 'spool <filename>' to catch the output in a file, and then parse this file right after execution of the script? Or maybe do it at the same time using the tail command? I don't have the knowledge to implement something like this, however I thought it should be possible..

Just a thought, HTH,

Bastiaan Schaap
Oracle web development,
Desyde BV - Baarn
http://www.desyde.nl/
tel. +31355411711

Eisen Chao <echao_at_interaccess.com> wrote in message news:sp5l5upjn4t96_at_corp.supernews.com...
>
> Hi All:
>
>
> I've noticed that when I run Oracle SQLLDR and SQLPLUS
> that I really don't have a good way to trap run-time
> errors (e.g. "Ora-012345 Houston, We have a problem...").
>
>
> I tried trapping problems using $? in kornshell, but
> my script just falls right thru.
>
>
> Now I'm told that the exception handing for Oracle
> can only be seen within Oracle, even if I use stuff
> like features like RAISE_APPLICATION.
>
> I'd really like to know if and when my stored procedures
> bomb out for example.
>
>
> I've used Perl & DBI and I know that it can be done
> (at least within Perl), so why not the Korn shell ?
>
> What's the trick here ?
>
> Please don't tell me I have to do a grep of the system log file!
>
> Thanks in Advance,
>
> Eisen
> Unicom
> Chicago
>
> sample code below:
>
>
> echo "Now loading in Ecp_cost data..."
> sqlldr USERID=${USER_ID}/${PASSWD} \
> CONTROL=${CTL_PATH}/${CTL_ECP_COST} \
> LOG=${LOG_PATH}/${LOG_ECP_COST} \
> BAD=${BAD_PATH}/${BAD_ECP_COST} \
> DATA=${DATA_PATH}/${DATA_ECP_COST} \
> DISCARDMAX=1000
>
> # Any bad files from ECP_COST SQLLDR ? Move to date-stamped archive
> if [[ -s ${BAD_PATH}/${BAD_ECP_COST} ]]; then
>
> echo "Bad files for Ecp_cost found..."
> echo "$(date) BAD file created during ECP_COST SQLLDR" >>
> ${LOG_PATH}/${LOG_ERR} &
>
> cat ${BAD_PATH}/${BAD_ECP_COST} >> ecp_cost-`date +"%m-%d@%H:%M"`.bad
>
> fi
>
>
> if [[ $? -ne 0 ]]; then
> ^^^^^^^^^^^^^^^^^^^^^^^
>
> # SQL Loader for ECP_COST not good, send msgs to error log
> echo "$(date) Error occured during ECP_COST SQLLDR, RC = $($?)" >>
> ${LOG_PATH}/${LOG_ERR} &
>
> # ...Truncate Oracle tables, copy data to date-stamped backup
> sqlplus ${USER_ID}/${PASSWD}@${SERVER} @${SQL_PATH}/ddwTrunc.sql
>
> cat ${DATA_PATH}/${DATA_ECP_COST} >> ecp_cost-`date
> +"%m-%d@%H:%M"`.bkup
> exit ${ERR_ECP_COST_LOAD};
>
> else
>
> echo "SQL Loader worked okay for ECP_COST new data"
> sqlplus ${USER_ID}/${PASSWD}@${SERVER} @${SQL_PATH}/ecp_cost_load.sql
>
> echo "Appending new data into ECP_COST"
> sqlplus ${USER_ID}/${PASSWD}@${SERVER} @${SQL_PATH}/ecp_cost_append.sql
>
> echo "Running extract report"
> sqlplus ${USER_ID}/${PASSWD}@${SERVER}
> @${SQL_PATH}/ecp_cost_extract.sql
>
> fi
Received on Fri Aug 11 2000 - 00:00:00 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US