When the cron daemon runs anything it doesn't set up the shell environment the way interactive shell does. This means in particular that /home/oracle/.profile does not get executed and as a result whatever environment variables should be set for Oracle utilities, aren't.
You'll need to explicitly run the oracle user profile before doing anything else in your script, for example
Code:
#!...
test -z "$ORACLE_HOME" && . /home/oracle/.profile
# the rest of the script