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?Try it like this:

======================================================================================
export_simple_script_wrapper.sh:
======================================================================================

###################
# ERROR HANDLING & RETURN CODES
###################
export log_file="export_simple_script_wrapper.log"
# RETURN CODE: Set initial Return Code - RC for this script.
RC=1
echo 'RETURN CODE: Set initial Return Code - RC for this script.' >> $log_file 
2>&1
echo $RC >> $log_file

cleanup()
{
        echo cleaning up
        echo "RETURN CODE: $RC"
}

trap 'cleanup; exit $?' EXIT

########################
# EXECUTE SCRIPT LOGIC: 1
########################
#typeset -i RC=`/bin/sh /app/oracle/stagearea/export_simple_script.sh`
/app/oracle/stagearea/export_simple_script.sh
RC=$?
if [[ $RC -ne 0 ]]; then
        exit
else
        echo ' ' >> $log_file
        echo 'ORACLE EXPort SUCCEEDED!: '$RC >> $log_file 2>&1
        echo $RC >> $log_file
        echo ' ' >> $log_file
fi

# RETURN CODE: Show EXPort Return Code - RC: EXPort RETURN CODE.
#RC=$?
echo 'RETURN CODE: Show EXPort Return Code - RC: EXPort RETURN CODE.' >> 
$log_file 2>&1
echo $RC >> $log_file

======================================================================================
export_simple_script.sh:
======================================================================================

########################
# EXECUTE SCRIPT LOGIC: 1
########################

exp userid=test/test file=test.dmp log=test.log  >> $log_file 2>&1
export RC=$?

# RETURN CODE: Set next Return Code - RC: ORACLE EXP RETURN CODE.
#RC=$?
echo 'RETURN CODE: Set next Return Code - RC: ORACLE EXP RETURN CODE.' >> 
$log_file 2>&1
echo $RC >> $log_file

if [[ $RC -eq 1 ]]; then
        echo ' ' >> $log_file
        echo 'ORACLE EXPort FAILED!: '$RC >> $log_file 2>&1
        echo ' ' >> $log_file

elif [[ $RC -eq 0 ]]; then
        echo ' ' >> $log_file
        echo 'ORACLE EXPort SUCCEEDED!: '$RC >> $log_file 2>&1
        echo ' ' >> $log_file

else
        echo ' ' >> $log_file
        echo 'ORACLE EXPort Utility STOPPED!: '$RC >> $log_file 2>&1
        echo ' ' >> $log_file

fi

exit $RC

======================================================================================

Output & logfile:

$ ./export_simple_script_wrapper.sh
cleaning up
RETURN CODE: 1

$ vi export_simple_script_wrapper.log 
"export_simple_script_wrapper.log" 19 lines, 538 characters 
RETURN CODE: Set initial Return Code - RC for this script.
1

Export: Release 9.0.1.5.0 - Production on Thu Sep 1 22:53:33 2005

(c) Copyright 2001 Oracle Corporation.  All rights reserved.


EXP-00056: ORACLE error 1034 encountered
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
SVR4 Error: 2: No such file or directory
EXP-00005: all allowable logon attempts failed
EXP-00000: Export terminated unsuccessfully
RETURN CODE: Set next Return Code - RC: ORACLE EXP RETURN CODE.
1

ORACLE EXPort FAILED!: 1




HTH
Dimitre Radoulov

Other related posts: