in reply to Cron revisited
Thanks for the replies folk. I appreciate the earlier posts about setting environments either in a wrapper shell or having the Perl script call itself after setting the environment. I use the latter often (in my case to fire off multiple copies of the script with different parameters).
What I'm trying to understand is why the script works on one server but not another and don't really know how to go about finding out what's happening. I know that the issue is with the paths to the Oracle library files but not what the difference is between the two environments. At shell level they look the same and the Perl operates the same.
Is there some setting for cron that has changed between servers? Maybe the parameters I used to build DBD::Oracle were different so the old version doesn't need LD_LIBRARY_PATH? Was there a change in Perl between 5.8 and 5.12 that could have affected this? Difference in the DBD::Oracle module? Difference in the Oracle client? I know there are too many parameters here to get definitive answers but maybe someone knows that in version x of this bit some fix was plopped in to change functionality.
More information - I rebuilt the DBD::Oracle (using -R for runtime pathing) and switching to a user without LD_LIBRARY_PATH set I can see libclntsh.so.10.1 in $ORACLE_HOME but not libnnz10.so. This is from the shell. If I set LD_LIBRARY_PATH I find both libraries. It's the latter library that's failing in cron.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Cron revisited
by Old_Gray_Bear (Bishop) on Jan 10, 2013 at 17:41 UTC | |
by tweetiepooh (Hermit) on Jan 16, 2013 at 09:14 UTC | |
by Anonymous Monk on Jan 16, 2013 at 09:51 UTC | |
by mildside (Friar) on Jan 22, 2013 at 02:34 UTC | |
by tweetiepooh (Hermit) on Jan 23, 2013 at 14:07 UTC | |
by Anonymous Monk on Jan 22, 2013 at 03:44 UTC | |
by mildside (Friar) on Jan 22, 2013 at 23:01 UTC |