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 :

Tester le scheduler


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    171
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Juin 2008
    Messages : 171
    Par défaut Tester le scheduler
    Bonjour,
    J'ai installé une 11g sur RedHat 5.
    Je veux tester le fonctionnement du scheduler.

    J'ai donnée le droit à mon User de créer des jobs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grant create job to scott;
    J'ai créé un program :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    BEGIN
    DBMS_SCHEDULER.CREATE_PROGRAM (
    	program_name => 'Seq_Liv',
    	program_action => 'BEGIN CREATE SEQUENCE SEQ_DOSSIER_LIVR_01 INCREMENT BY 1 START WITH 1 MAXVALUE 999999 MINVALUE 1 CYCLE NOCACHE;END;',
    	program_type => 'PLSQL_BLOCK',
    	comments => 'Ce programme cree la sequence',
    	enabled => TRUE);
    END;
    /
    J'ai créé une programmation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    BEGIN
    DBMS_SCHEDULER.CREATE_SCHEDULE (
    	schedule_name => 'TOUTEMINUTE',
    	start_date => SYSTIMESTAMP,
    	repeat_interval => 'FREQ=MINUTELY; INTERVAL=5',
    	comments => 'Toutes les 5 minutes');
    END;
    /
    J'ai créé un job :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    BEGIN
    DBMS_SCHEDULER.CREATE_JOB (
    	job_name => 'Job_Seq',
    	program_name => 'Seq_Liv',
    	schedule_name => 'TOUTEMINUTE',
    	enabled => TRUE);
    END;
    /
    Il semble que le job ne s'exécute pas.

    Ais-je oublié de faire quelque chose ?

    Où peut-on voir les traces du bon ou mauvais fonctionnement ?

    Merci de votre aide.

  2. #2
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    171
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Juin 2008
    Messages : 171
    Par défaut Tester le scheduler
    Rebonjour,

    Aprés relecture de la doc sur PL/SQL, il semble que je ne puisse pas mettre de commande LDD dans un bloc PL/SQL.

    Dites moi si je me trompes et quelle autre technique puis-je utiliser pour supprimer et recréer chaque jour des séquences.

    Merci.

  3. #3
    Membre Expert Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103
    Par défaut
    Citation Envoyé par mortimer.pw Voir le message
    Rebonjour,

    Aprés relecture de la doc sur PL/SQL, il semble que je ne puisse pas mettre de commande LDD dans un bloc PL/SQL.

    Dites moi si je me trompes et quelle autre technique puis-je utiliser pour supprimer et recréer chaque jour des séquences.

    Merci.

    en fait soit tu essaies avec execute immediate 'create ...'
    soit tu creer une procedure et c'est une procedure que tu executes dans le scheduler et non un block PL

    Mais , une sequence , tu la crées une fois , tu n'a pas besoin de créer tous les jours !!!!

  4. #4
    Membre Expert Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103
    Par défaut
    Citation Envoyé par mortimer.pw Voir le message
    Bonjour,
    J'ai installé une 11g sur RedHat 5.
    Je veux tester le fonctionnement du scheduler.

    J'ai donnée le droit à mon User de créer des jobs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grant create job to scott;
    J'ai créé un program :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    BEGIN
    DBMS_SCHEDULER.CREATE_PROGRAM (
    	program_name => 'Seq_Liv',
    	program_action => 'BEGIN CREATE SEQUENCE SEQ_DOSSIER_LIVR_01 INCREMENT BY 1 START WITH 1 MAXVALUE 999999 MINVALUE 1 CYCLE NOCACHE;END;',
    	program_type => 'PLSQL_BLOCK',
    	comments => 'Ce programme cree la sequence',
    	enabled => TRUE);
    END;
    /
    J'ai créé une programmation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    BEGIN
    DBMS_SCHEDULER.CREATE_SCHEDULE (
    	schedule_name => 'TOUTEMINUTE',
    	start_date => SYSTIMESTAMP,
    	repeat_interval => 'FREQ=MINUTELY; INTERVAL=5',
    	comments => 'Toutes les 5 minutes');
    END;
    /
    J'ai créé un job :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    BEGIN
    DBMS_SCHEDULER.CREATE_JOB (
    	job_name => 'Job_Seq',
    	program_name => 'Seq_Liv',
    	schedule_name => 'TOUTEMINUTE',
    	enabled => TRUE);
    END;
    /
    Il semble que le job ne s'exécute pas.

    Ais-je oublié de faire quelque chose ?

    Où peut-on voir les traces du bon ou mauvais fonctionnement ?

    Merci de votre aide.
    Tu le schedules toutes les 5 minutes !!


    Pour verifier les schedules

    Code sql : 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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    -- Show a high-level view of scheduled task execution history
    COL log_id              FORMAT 9999   HEADING 'Log#'
    COL log_date            FORMAT A32    HEADING 'Log Date'
    COL owner               FORMAT A06    HEADING 'Owner'
    COL job_name            FORMAT A20    HEADING 'Job'
    COL status              FORMAT A10    HEADING 'Status'
     
    TTITLE 'Scheduled Tasks History:'
    SELECT
         log_id
        ,log_date
        ,owner
        ,job_name
        ,status
      FROM dba_scheduler_job_log;
     
    -- What scheduled tasks failed during execution, and why?
    COL log_id              FORMAT 9999   HEADING 'Log#'
    COL log_date            FORMAT A32    HEADING 'Log Date'
    COL owner               FORMAT A06    HEADING 'Owner'
    COL job_name            FORMAT A20    HEADING 'Job'
    COL status              FORMAT A10    HEADING 'Status'
    COL actual_start_date   FORMAT A32    HEADING 'Actual|Start|Date'
    COL error#              FORMAT 999999 HEADING 'Error|Nbr'
     
    TTITLE 'Scheduled Tasks That Failed:'
    SELECT
         log_id
        ,log_date
        ,owner
        ,job_name
        ,status
        ,actual_start_date
        ,error#
      FROM dba_scheduler_job_run_details
     WHERE status <> 'SUCCEEDED'
     ORDER BY actual_start_date;

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    171
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Juin 2008
    Messages : 171
    Par défaut Tester le scheduler
    Bonjour Fatsora,

    Merci pour la réponse.

    J'ai mis 5 minutes pour tester.
    Je recréé ma séquence chaque jour car le N° de séquence doit être réinitialisé journalièrement.

    J'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    BEGIN
    DBMS_SCHEDULER.CREATE_PROGRAM (
    	program_name => 'Seq_Liv_My',
    	program_action => 'BEGIN EXECUTE IMMEDIATE "DROP SEQUENCE SEQ_DOSSIER_LIVR_01;CREATE SEQUENCE SEQ_DOSSIER_LIVR_01 INCREMENT BY 1 START WITH 1 MAXVALUE 999999 MINVALUE 1 CYCLE NOCACHE;" END;',
    	program_type => 'PLSQL_BLOCK',
    	comments => 'Ce programme cree la sequence',
    	enabled => TRUE);
    END;
    /
    Il semble que la syntaxe ne soit pas bonne.

    Peux-tu m'aider ?

    Merci.

  6. #6
    Membre Expert Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103
    Par défaut
    Voici un schedule qui fonctionne en 11G

    Code sql : 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
     
    BEGIN
    sys.dbms_scheduler.create_job(
    job_name => '"TEST_SCHEDULER_1"',
    job_type => 'PLSQL_BLOCK',
    job_action => 'begin
     execute immediate ''DROP SEQUENCE SEQ_DOSSIER_LIVR_01 '';
    end;',
    repeat_interval => 'FREQ=DAILY;INTERVAL=1',
    start_date => TO_TIMESTAMP_TZ('2009/02/25 15:55:09.768000 Europe/Paris','yyyy/mm/dd hh24:mi:ss.ff tzr'),
    job_class => '"DEFAULT_JOB_CLASS"',
    comments => 'TEST JOB ',
    auto_drop => FALSE,
    enabled => FALSE);
    sys.dbms_scheduler.set_attribute( name => '"TEST_SCHEDULER_1"', attribute => 'job_weight', value => 1);
    sys.dbms_scheduler.set_attribute( name => '"TEST_SCHEDULER_1"', attribute => 'restartable', value => TRUE);
    sys.dbms_scheduler.enable( '"TEST_SCHEDULER_1"' );
    END; 
      /

  7. #7
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    171
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Juin 2008
    Messages : 171
    Par défaut Tester le scheduler
    Bonjour Fatsora,

    Cela fonctionne parfaitement.

    Merci beaucoup pour ton aide.

    Bonne journée.

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

Discussions similaires

  1. Peut on tester l'existence d'un fichier ?
    Par Alamassepointcom dans le forum Flash
    Réponses: 2
    Dernier message: 10/10/2002, 12h10
  2. tester si une date est valide
    Par Andry dans le forum Langage
    Réponses: 5
    Dernier message: 17/09/2002, 11h54
  3. [VB6] [Interface] Tester le Type de Controle
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 16/09/2002, 09h51
  4. [ADO] Tester l'existence d'une table
    Par nd25 dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 05/09/2002, 13h55
  5. Tester connexion Internet active sous Windows
    Par Altau dans le forum Développement
    Réponses: 3
    Dernier message: 12/08/2002, 12h43

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