Script is not executing as expected when I schedule it in cron

Search this forum for "Cron Problem Number One" to find the one or other gazillion of threads dealing with this. The main problem is this line:

        status=`sqlplus -s "${pass} as sysdba" <<~EOF

because: how should the system know where "sqlplus" is, without a PATH variable being set (which isn't set when executed from cron ), hmm?

Gladly so: first, get rid of the obnoxious backticks and use POSIX-means to do it:

`command1 | command2 | command3`      # wrong!
$(command1 | command2 | command3)     # correct!

Further advice might be given once you show us the complete script instead of a snippet. For a snippet of a script you only get a snippet of advice. ;-))

I hope this helps.

bakunin