SQL @logaply + crontab não funciona [RESOLVIDO]

1. SQL @logaply + crontab não funciona [RESOLVIDO]

nelio
neliobjr

(usa Red Hat)

Enviado em 04/10/2008 - 20:05h

Boa noite senhores, estou com um problema e preciso da ajuda de vocês.

Tenho dois servidores oracle, um server principal e outro standby, preciso que no stb seja aplicado os archives logs gerados pelo princial, automaticamente de 5 em 5 minutos, por exemplo, para isso tenho um scripts que deveria ser chamados pela crontab, abrir sqlplus nolog e chamar meu logaply, se executa-los a mão, funciona, porem, a crontab nem chega a abrir, não sei se entendi direito ou se é verdade, mas li em algum lugar que a crontab não abre um SQL, como devo proceder neste caso

meus parametros:

crontab -e #usuario oracle
*/5 * * * * /scprits/sql_nolog.sh

sql_nolog.sh
#!/bin/bash

sqlplus /nolog @/scripts/logaply.sql

/scripts/logaply.sql
conn sys as sysdba
spool ....
alter session ....
#continua
exit

Resaltando, se pelo terminal eu digitar: $./scripts/sql_nolog.sh
ele funciona perfeito.. fazendo o que eu preciso que seja feito

obs a cron funciona, pois se eu alterar meu script para conectar no sql e chamar meu logaply, para touch teste, este arquivo é criado....

Espero que entendam e me ajudem a solucionar este problema.
grato e abraços a todos.





  


2. Para futura pesquisas.

nelio
neliobjr

(usa Red Hat)

Enviado em 09/10/2008 - 09:38h

Senhores, talvez tenha sido uma duvida primaria, mas infelizmente a tinha, como não conseguia a resposta corri atras com um amigo e acabei conseguindo, o caminha para isso foi jogar a saida para um arquivo >> teste.log e o erro para outro 2> teste.err a partir dai consegui resolver e ficou assim:

Primeiro ponto, apesar de executanto o script funcionar pela crontab não é reconhecido o sqlplus, e devesse indicar o caminho completo, /u01/app/oracle/product/1020/bin/sqlplus

Segundo, apesar de tambem estar setada as variaveis no .bash_profile do user oracle, é necessário tb setar no script.
ORACLE_HOME.... export ORACLE_HOME
ORACLE_SID... export ORACLE_SID

por fim meu script ficou:

#!/bin/sh

ORACLE_HOME=/u01/app/oracle/product/1020; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
/u01/app/oracle/product/1020/bin/sqlplus /nolog @/scripts/logaply.sql


crontab -e

*/5 * * * * /scripts/sql_nolog.sh >> /scripts/sql_nolog.log 2> /scripts/sql_nolog.err

abs








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts