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 Oracle Discussion :

Exécution d'un job sur unix via le scheduler d'oracle


Sujet :

Administration Oracle

  1. #1
    Membre averti
    Inscrit en
    Juin 2004
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 13
    Par défaut Exécution d'un job sur unix via le scheduler d'oracle
    Bonjour! Lorsque je lance un job pour exécuter un script sur le mini, j'aurais besoin qu'il se connecte sur un user en particulier afin d'obtenir toutes les variables d'environnement du .profile du user. Est-ce possible de paramétrer cette connexion particulière dans le scheduler ou lors de la création du job ou lors de l'exécution du job?

    Présentement lorsque j'exécute un job, aucune variable d'environnement n'est défini... Un moyen serait de sortir l'affectation de ces variables du profile et les mettre dans mon script, mais je tiens à éviter ça. Également, j'ai pensé intégrer la commande su - <logon> <password> dans mon script pour changer le user, mais le password sera visible et ce n'est pas une bonne chose non plus... Ai-je loupé quelque chose? Des suggestions?

    Merci beaucoup!!

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 175
    Par défaut
    tu peux "sourcer" le fichier .profile au lancement de ton script en faisant
    si tu ne veux pas le sourcer, tu peux lancer un job en tant que root, du coup le "su" ne te demandera pas de password
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    su - user -c "ligne de commande"

  3. #3
    Membre averti
    Inscrit en
    Juin 2004
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 13
    Par défaut
    Ok merci, comment je dois faire pour lancer le job en tant que root? Je ne vois aucun paramètre dans la création du job ou de l'exécution qui permet de faire ça.

  4. #4
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    c'est le forum Oracle là... pas Unix

    pour root, tu ne mets pas le user en principe.

  5. #5
    Membre averti
    Inscrit en
    Juin 2004
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 13
    Par défaut
    Voici concrètement l'appel que je tente de faire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    declare
       v2_NomJob      VARCHAR2(20);
       v2_RepScr      DBA_DIRECTORIES.DIRECTORY_PATH%TYPE;
       v2_noReque     VARCHAR2(6);
    begin
       v2_noReque := '103181';
       v2_NomJob := 'JOB'||v2_noReque;
     
       DBMS_SCHEDULER.CREATE_JOB(job_name => v2_NomJob,
                                 job_type => 'EXECUTABLE',
                                 job_action => '/usr/bin/ksh',
                                 start_date => systimestamp at time zone '-5:00',
                                 number_of_arguments => 1,
                                 job_class => 'DEFAULT_JOB_CLASS',
                                 auto_drop => FALSE,
                                 enabled => FALSE);
     
       DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE(v2_NomJob, 1, '/HOME/sxpu002/xdoa '||v2_noReque);
     
       DBMS_SCHEDULER.SET_ATTRIBUTE(v2_NomJob, 'restartable', TRUE);
     
       DBMS_SCHEDULER.ENABLE(v2_NomJob);
     
       DBMS_SCHEDULER.RUN_JOB(v2_NomJob, use_current_session=> TRUE);
     
    end;
    Ya pas moyen de dire au scheduler d'oracle de se connecter à unix en tant que sxpu002?

    Merci

  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
    Avec le package DBMS_SCHEDULER, je ne crois pas. Peut-être en modifiant le fichier $ORACLE_HOME/rdbms/admin/externaljob.ora à partir de 10.2.0.2 d'après le guide suivant. Mais dans ce cas là, ce sont tous les jobs qui s'exécuteront avec cet utilisateur.

  7. #7
    Membre averti
    Inscrit en
    Juin 2004
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 13
    Par défaut
    Merci beaucoup!

    Très complet et ça m'aide énormément!!

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

Discussions similaires

  1. Exécution automatique des jobs sur talend
    Par didafd dans le forum Exécution et industrialisation
    Réponses: 20
    Dernier message: 18/10/2016, 16h01
  2. refresh fichiers sur machine virtuelle unix via winscp
    Par mounia.n dans le forum Réseau
    Réponses: 4
    Dernier message: 05/08/2008, 15h43
  3. Écrire le log des Erreurs via FTP sur UNIX
    Par Alnsam dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 07/03/2007, 16h10
  4. [PRO*C] Extraire des blob via ProC ou PL-SQL sur unix
    Par lapinot dans le forum Interfaces de programmation
    Réponses: 6
    Dernier message: 18/10/2006, 09h57
  5. Réponses: 6
    Dernier message: 09/11/2005, 17h29

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