Domanda

Sto eseguendo manualmente uno script sul mio sistema UNIX, funziona correttamente e ha aggiornato i record richiesti nel database ORACLE. Tuttavia, quando eseguo lo stesso script con crontab, il mio processo termina con il codice di errore 127.

Analizzando ulteriormente, ho riscontrato qualche problema in queste affermazioni.


LOGFILE = sachin ORALOGIN = abc / abc @ abcd

cmd = 'sqlplus $ {ORALOGIN} < SQLS & Gt; & Gt; $ {} SVC_HOME / LOGFILES / $ {LOGFILE} date +%Y-%m-%d ';.

eval $ cmd

Suggerisci una soluzione

È stato utile?

Soluzione

Sei sicuro che ${ORALOGIN} e ${LOGFILE} sono variabili ENV valide quando cron esegue lo script?

A volte gli script che funzionano per gli utenti non funzionano per cron perché le esecuzioni cron non hanno tutte le variabili ENV che gli utenti hanno.

Altri suggerimenti

Nell'ambiente interattivo fare

env | grep ORACLE

Molto tempo da quando ho usato sqlplus, ma ricordo che per funzionare (ORACLE_HOME?) sono necessarie alcune variabili di ambiente e sospetto che il tuo ambiente di lavoro cron non abbia queste impostazioni.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top