IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration système Discussion :

cron et sqlldr


Sujet :

Administration système

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 26
    Par défaut cron et sqlldr
    Salut tout monde,
    J'ai un scripte shell qui charge des données dans une base de données
    oracle.
    Le scripte s'execute bien quand on le lance manuellement.......
    quand je le mets dans mon cron (crontab -e)
    il s'execute à la date&heure voulu mais n'execute pas la commande sqlldr

    j'ai toute suite pensé que c'était un probleme de PATH>> j'ai mis le chemin
    complet de la commande /oracle/.../bin/sqlldr
    rien ne marche!


    Avez une solution ou pouvez m'expliquer le pourquoi????

    Mon OS=Redhat Enterprise

  2. #2
    Membre émérite
    Avatar de matrix788
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    740
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 740
    Billets dans le blog
    2
    Par défaut
    as-tu vérifié ceci :

    BOGUES
    Bien que chaque entrée d’une crontab doit être terminée par un retour à
    la ligne, ni la commande crontab ni le démon cron ne détectera cette
    erreur. Au contraire, la crontab se chargera normalement. Toutefois, la
    commande ne sera jamais exécutée. La meilleure solution est de
    s’assurer que la crontab soit terminée par une ligne blanche.

  3. #3
    Membre expérimenté
    Profil pro
    Ingénieur
    Inscrit en
    Mars 2007
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Mars 2007
    Messages : 199
    Par défaut
    Est tu certain que ton script shell, lancé par cron, dispose des variables d'environnement nécessaires à Oracle ?

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 296
    Par défaut
    comme l'ecrit ericduval, il s'agit plus que probablement d'un probleme de variable d'environnement :
    la crontab n'initialise jamais celle-ci, il faut dans ton script le faire, le moyen le plus simple est encore d'appeller le script du user "oracle" typiquement
    (si le cron est du "bon" user)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    . /repertoire_home_oracle/.bash_profile

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 26
    Par défaut une solution trouvé
    Merci les gars!
    vous avez raison,c'étais un probleme de variable d'evironnement

    le "echo $?" m'avais donné la valeur "3", je suis parti sur la doc de sql loader, et ça correspondait a 'fatal error'.(donc sqlldr s'executait en fait!)
    Ce probleme survient quand sql loader n'accede pas à tous les doc et lib necessaire.
    Sur cette lancé, j'ai pu trouvé des docs qui
    expliqué ce probleme avec la crontab

    La solution que j'ai trouvé est la suivante:
    j'ajoute mon scripte sur la crontab avec root
    puis au debut je met "su - mon_user"
    Le "su - mon_user" va charger le bash profile et
    l'environnement de ce user.
    Et ça marche!

    NB:mon_user est utilisateur simple qui peut executer oracle......

    Merci vraiment

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Cron + PHP
    Par messier79 dans le forum Administration système
    Réponses: 3
    Dernier message: 13/10/2004, 02h24
  2. Cron - tâche plannifiée
    Par phoebe dans le forum Administration système
    Réponses: 8
    Dernier message: 28/05/2004, 15h27
  3. Mon script cron n'est pas pris en compte
    Par tomnie dans le forum Linux
    Réponses: 11
    Dernier message: 31/03/2004, 11h19
  4. Cron + terminal + script shell
    Par nicolas.pissard dans le forum Linux
    Réponses: 3
    Dernier message: 17/03/2004, 09h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo