Rechercher : dans
Par :

Script sql dans un crontab

Dernière réponse le 25 jui 2008 à 14:23:33 fid, le 8 nov 2005 à 15:12:33 
 Signaler ce message aux modérateurs

Bonjours tout le monde
j'ai besoin de generer des etats quotidienne su ma base de donnee oracle su redhat, alors j'ai creer un script sql qui fait la tache normalement on l'executon manuellement mais lorsque je le mais dans un crontab ca marche pas.j'ai su que le probleme peut du aux variable d'envirenement mais je ne sait pas exactement comment le faire.
si vous pouvez m'aider je serait ravi
merci

Meilleures réponses pour « script sql dans un crontab » dans :
SQL - Création de table VoirLe SQL, comportant un langage de définition de données (LDD), permet de créer des tables. Pour cela, il utilise le couple de mots clés CREATE TABLE. La création de tables Le création de tables se fait à l'aide du couple de mots-clés CREATE...
SQL - Commande SELECT VoirLe langage de manipulation de données Le SQL est à la fois un langage de manipulation de données et un langage de définition de données. Toutefois, la définition de données est l'oeuvre de l'administrateur de la base de données, c'est pourquoi la...

1

hssissen, le 8 nov 2005 à 15:43:44

Est-ce que tu pourrais nous donner la ligne de commande faite dans crontab?

Répondre à hssissen

2

fid, le 8 nov 2005 à 16:20:35

Mon crontab est le suivant :
0 15 * * * /test/script.sql
avec script contient les lignes suivants:
sqlplus -s user/password@database<<SQLEND
set PAGESIZE 0
set linesize 132
set heading off
set feed off
set echo off
set trimspool on
select count(*) from table1
where...
exit
SQLEND.
je vous rappel que ce script marche normallement lorsque je l'execute manuellement
merci

Répondre à fid

3

hssissen, le 8 nov 2005 à 17:10:39

0 15 * * * /test/script.sql

A mon avis il faut mettre le path cpomplet de ton script, genre:

0 15 * * * /ton_path/test/script.sql

Répondre à hssissen

4

fid, le 9 nov 2005 à 11:58:56

Merci hssissen de votre aide
mais /test/script.sql est le path complet
j'ai trouver la solution c'est de rajouter les variable d'environnement dans le script car le crontab ne s'execute pas forcement avec votre profile
j'ai ajouter les ligne suivants et ca marche parfaitements :
ORACLE_HOME=/pathcomplet
export ORACLE_HOME
/usr/pathcomplet/bin/sqlplus -s user/password@database<<SQLEND

merci encore

Répondre à fid

5

 wapette21, le 25 jui 2008 à 14:23:33

Bonjour,

Je te conseil de faire un script ksh qui lui sera en cront pour exécuter ton .sql exemple :

#!/bin/ksh

sqlplus -s $login/$password@$base << FIN 2>&1
@script.sql ;
exit;
FIN

crontab :

0 15 * * * /test/script.ksh

Répondre à wapette21
Collection CommentÇaMarche.net