Re: PART II: - Beyond a basic Oracle EXP/IMP shell script: Error Handling & Exit Status?
- From: oracle@xxxxxxxxxxxx
- To: cmarquez@xxxxxxxxxxxxxxxx
- Date: Wed, 31 Aug 2005 11:53:46 -0400
Marquez, Chris wrote:
I think I get it.
The idea is to put conditional logic around the calling of (my)
imp_script.sh?
I think that is what Ron is suggesting too?
yep - essentially you're stuffing the errorlevel of the last program
that ran into a variable and then comparing that value - if it's 0,
typically that implies that everything was ok. Well written programs
exit with a non-zero errorlevel when there is a problem. Oracle's
utilities exit with a non-zero errorlevel when things go wrong so you're
safe there.
imp and exp are good candidates for this because you can automate the
entire process (within reason) into a script and as long as the
errorlevels are 0, AND as long as your logic for going from one process
to the next is sound you'll be ok. The entire environmental maintenance
here (several databases on several different servers) is 80% automated
as cron jobs. Easy and simple - I find that the commenting parts of the
scripts are the most tedious than the actual work being done - I write
comments in scripts so that the receptionist up front could read it and
have a basic understanding of the logic. Makes it simpler to delegate
work to others because they can (hopefully) read the scripts and figure
it out for themselves instead of requiring weeks of my time doing a
bunch of hand-holding.
hope this helps
Chris Marquez
Oracle DBA
-----Original Message-----
From: oracle@xxxxxxxxxxxx [mailto:oracle@xxxxxxxxxxxx]
Sent: Wed 8/31/2005 11:37 AM
To: Marquez, Chris
Cc: oracle-l@xxxxxxxxxxxxx
Subject: Re: PART II: - Beyond a basic Oracle EXP/IMP shell script:
Error Handling & Exit Status?
There's a million ways to do what you're wanting to do. Here's some
cutesy things I do within bash scripts.... $? is your friend.
BCVStatus=0
/opt/emc/WideSky/V5.3.0/bin/symmir -g DBNAME verify DB1-DBNAME BCV ld
BCV-DBNAME -synched > /dev/null 2>&1
BCVStatus=$?
until [ "$BCVStatus" = 0 ]
do
sleep 5;
/opt/emc/WideSky/V5.3.0/bin/symmir -g DBNAME verify DB1-DBNAME
BCV ld BCV-DBNAME -synched > /dev/null 2>&1
BCVStatus=$?;
done
Copious output for reading cron output after getting to the office...
echo "`/bin/date +%H:%M:%S` Export D_S tables"
$ORACLE_HOME/bin/exp / file=/e07/oracle/export/exp_das_$TSTAMP.dmp
TABLES=BLAH1,BLAH2
LOG=/d02/app/oracle/admin/DBNAME/adhoc/logs/exp_das_$TSTAMP.log
STATUS=$?
if [ $STATUS -gt 0 ]; then
echo "*** Export encountered errors - errorlevel $STATUS"
echo "*** Export encountered errors - errorlevel $STATUS" |
/usr/ucb/mail -s "DBNAME refresh failed: Export D_S encountered errors"
dba@xxxxxxxx
exit 1
fi
echo "`/bin/date +%H:%M:%S` Export D_S tables complete"
hope this helps
--
http://www.freelists.org/webpage/oracle-l
- References:
Other related posts:
- » PART II: - Beyond a basic Oracle EXP/IMP shell script: Error Handling & Exit Status?
- » RE: PART II: - Beyond a basic Oracle EXP/IMP shell script: Error Handling & Exit Status?
- » RE: PART II: - Beyond a basic Oracle EXP/IMP shell script: Error Handling & Exit Status?
- » Re: PART II: - Beyond a basic Oracle EXP/IMP shell script: Error Handling & Exit Status?
- » RE: PART II: - Beyond a basic Oracle EXP/IMP shell script: Error Handling & Exit Status?
- » RE: PART II: - Beyond a basic Oracle EXP/IMP shell script: Error Handling & Exit Status?
- » Re: PART II: - Beyond a basic Oracle EXP/IMP shell script: Error Handling & Exit Status?
- » RE: PART II: - Beyond a basic Oracle EXP/IMP shell script: Error Handling & Exit Status?
- » RE: PART II: - Beyond a basic Oracle EXP/IMP shell script: Error Handling & Exit Status?
- » RE: PART II: - Beyond a basic Oracle EXP/IMP shell script: Error Handling & Exit Status?
- » Re: PART II: - Beyond a basic Oracle EXP/IMP shell script: Error Handling & Exit Status?
- » RE: PART II: - Beyond a basic Oracle EXP/IMP shell script: Error Handling & Exit Status?
- » Re: PART II: - Beyond a basic Oracle EXP/IMP shell script: Error Handling & Exit Status?
- » RE: PART II: - Beyond a basic Oracle EXP/IMP shell script: Error Handling & Exit Status?
The idea is to put conditional logic around the calling of (my) imp_script.sh?
I think that is what Ron is suggesting too?
hope this helps
Chris Marquez Oracle DBA
-----Original Message-----
From: oracle@xxxxxxxxxxxx [mailto:oracle@xxxxxxxxxxxx]
Sent: Wed 8/31/2005 11:37 AM
To: Marquez, Chris
Cc: oracle-l@xxxxxxxxxxxxx
Subject: Re: PART II: - Beyond a basic Oracle EXP/IMP shell script: Error Handling & Exit Status?
There's a million ways to do what you're wanting to do. Here's some cutesy things I do within bash scripts.... $? is your friend.
BCVStatus=0
/opt/emc/WideSky/V5.3.0/bin/symmir -g DBNAME verify DB1-DBNAME BCV ld
BCV-DBNAME -synched > /dev/null 2>&1
BCVStatus=$?
until [ "$BCVStatus" = 0 ]
do
sleep 5;
/opt/emc/WideSky/V5.3.0/bin/symmir -g DBNAME verify DB1-DBNAME
BCV ld BCV-DBNAME -synched > /dev/null 2>&1
BCVStatus=$?;
doneCopious output for reading cron output after getting to the office...
echo "`/bin/date +%H:%M:%S` Export D_S tables" $ORACLE_HOME/bin/exp / file=/e07/oracle/export/exp_das_$TSTAMP.dmp TABLES=BLAH1,BLAH2 LOG=/d02/app/oracle/admin/DBNAME/adhoc/logs/exp_das_$TSTAMP.log STATUS=$? if [ $STATUS -gt 0 ]; then echo "*** Export encountered errors - errorlevel $STATUS" echo "*** Export encountered errors - errorlevel $STATUS" | /usr/ucb/mail -s "DBNAME refresh failed: Export D_S encountered errors" dba@xxxxxxxx exit 1 fi echo "`/bin/date +%H:%M:%S` Export D_S tables complete"
hope this helps