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

Oracle Discussion :

[dba] Crontab et Export


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2003
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 41
    Par défaut [dba] Crontab et Export
    Bonjour,
    je viens d'écrire un script sous linux qui me permet de faire l'export d'une base oracle 10g. le script s'exécute bien mais quand je le mets dans le crontab rien il ne s'exécute pas. merci de me filer des tuyaux pour résoudre ce problème.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2006
    Messages : 133
    Par défaut
    Essayez de ré-executer le ".bash_profile" du compte oracle dans votre script appelé dans la crontab ...

    il devra être appelé en début de script , et de la façon suivante :

    . ~/.bash_profile

  3. #3
    Membre averti
    Inscrit en
    Mai 2003
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 41
    Par défaut
    je l'ai fait en début de script mais rien!!!

  4. #4
    Membre averti
    Inscrit en
    Mai 2003
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 41
    Par défaut
    ci-apres mon script.
    #!/bin/bash
    /home/oracle/.bash_profile
    annee=`date +%Y`
    mois=`date +%m`
    jour=`date +%d`
    rep=$mois""$jour""$annee
    mkdir $rep
    cd $rep
    nfile=$rep"d1.dmp"
    zipfile=$rep"d1.zip"
    logfile=$rep".log"
    exp douala/douala file=$nfile indexes=y constraints=y log=$logfile
    zip $zipfile $nfile
    rm $nfile

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2006
    Messages : 133
    Par défaut
    Tout d'abord, il faut rajouter un "." devant l'appel de ton bash_profile...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    . /home/oracle/.bash_profile
    Sinon voilà ce qui se passe :
    ==> tu lances ton shell, il appelle l'execution ton bash_profile ==> cela ouvre un sous shell (en quelque sorte une deuxième fenêtre shell indépendante de la premiere) dans lequelle sont positionnés les variables d'environnement définis dans bash_profile... puis lorsque bash_profile est fini, le sous shell se referme ==> tu retournes ainsi dans ton shell initial, et tu n'as pas tes variables d'environnement positionnées puisque ce sous shell était décroché du premier.

    ==> donc il faut "." devant pour executer ton bash_profile dans le même shell que ton programme ....


    Deuxièmement, je suggère de créer un fichier log dans lequel tu vas tracer ce qui se passe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    export FICHIER_LOG="/chemin/fic_`date +%d_%m_%C%y`.log"
    puis tu mets des "echo" avant chaque commande pour tracer :

    exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    echo " Debut du prog ...." >  $FICHIER_LOG
    ...
    ...
    echo $rep |tee -a $FICHIER_LOG

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    Il faut aussi à penser à rediriger stdout/stderr du script appelé par le cron dans un fichier log sinon on a tout ce qui est écrit sur stdout/stderr par le script dans sa boîte aux lettres Unix qu'on peut consulter avec la commande "mail".

Discussions similaires

  1. Chargement dump exporté par un dba
    Par mawguai dans le forum Import/Export
    Réponses: 2
    Dernier message: 19/09/2012, 10h06
  2. Crontab : problème export SAS
    Par hbhf2010 dans le forum Administration système
    Réponses: 2
    Dernier message: 23/05/2010, 10h07
  3. exporter la structure d'une base Sybase en ascii
    Par Jean-Cyp dans le forum Sybase
    Réponses: 5
    Dernier message: 05/11/2002, 16h15
  4. Réponses: 1
    Dernier message: 22/08/2002, 17h00
  5. [CR] exporter en PDF
    Par Nathy dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 16/05/2002, 09h27

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