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 :

Nombre maximum de job simultané en 12.2 [12c]


Sujet :

Administration Oracle

  1. #1
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2005
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2005
    Messages : 197
    Points : 591
    Points
    591
    Par défaut Nombre maximum de job simultané en 12.2
    Bonjour,

    Je vous explique mon problème qui se produit à partir de la version 12.2, sois dans une non-CDB ou dans le container ROOT d'une CDB (ce problème n'apparait pas dans une PDB).

    J'ai défini le paramètre job_queue_processes à 64.

    Je crée et exécute 100 job en même temps mais le job coordinator ne m'en lance que 32 jobs en simultané alors que dans une version inférieure à 12.2, j'ai bien 64 jobs qui tournent en même temps. Avez vous une explication à cela?
    Pour avoir les 64 jobs en même temps, je dois monter le paramètre à plus de 200.

    Le test case:

    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
     
    --on positionne jobs_queue_process
    alter system set job_queue_processes=64
     
    -- création/execution des jobs
     
    DECLARE
     v_jobno NUMBER;
    begin
    	v_jobno:=0;
    	for i in 1..100
    	loop
    	 sys.dbms_scheduler.create_job(
         job_name => 'scheduler_job'||i,
    	  job_type=>'PLSQL_BLOCK',
    	  job_action=>'DBMS_LOCK.SLEEP(30);',
    	  start_date=> sysdate,
          enabled=>TRUE);
    	 commit;
    	end loop;
    end;
    /
     
    --verification du nombre de job simultané qui ne dépasse jamais les 32
    select 'SCHEDULE' as JOB_ENGINE,count(*) from dba_scheduler_running_jobs;

    si vous avez une idée, je suis preneur car je n'ai pas trouvé d'explication à ce comportement.

    merci
    Oracle DBA OCM 11g, 12c
    OCP 11g, 12c
    OCE RAC, SQL

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Décembre 2019
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Décembre 2019
    Messages : 1 138
    Points : 1 918
    Points
    1 918
    Par défaut
    Bonjour,

    Il faut que chaque job soit lancé par le processus du Scheduler, donc tu exécutes bien plusieurs fois la requête dba_job_running_jobs pour laisser le temps aux jobs d'être soumis?
    J'imagine que oui puisque tu ne constates pas le problème sur une version inférieure.
    Sont-ce bien les mêmes paramètres d'initialisation entre les 2 bases? Que valent les paramètres suivants:

    SESSIONS
    TRANSACTIONS

    Il se peut que tu fasses face à ce bug en 12.2, mais il parle plutôt d'une limite à 1024, mais il y a peut-être un effet ratio:

    12.2 NEW FEATURE JOB_QUEUE_PROCESSES=4000 CAN ONLY HANDLE A MAXIMUM OF 1024 JOBS (Doc ID 2315892.1)

    Ca ne coûte rien d'appliquer le patch de toute façon.

  3. #3
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2005
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2005
    Messages : 197
    Points : 591
    Points
    591
    Par défaut
    Merci pour ta réponse.

    Oui, je lance la requête sur dba_scheduler_running_jobs plusieurs fois, on vois bien le nombre de job monter mais ne jamais dépassé les 32.

    Pour être honnête, j'ai même essayer de faire l'upgrade d'une version 12.1 (ou j'ai bien les 64 jobs qui tournent en même temps) en 12.2 pour pouvoir positionner le paramètre compatible à 12.1. Même avec cela le nombre de job reste bloqué à 32.... Par contre dans une PDB en 12.2, j'arrive bien à avoir 64 jobs en même temps mais pas dans la CDB$ROOT.

    J'ai vu aussi ce bug mais je n'ai pas l'impression de rentrer dans ce cas. Ceci dit je vais essayer, il y a peut être un lien effectivement.

    Je vous tiens au courant.
    Oracle DBA OCM 11g, 12c
    OCP 11g, 12c
    OCE RAC, SQL

  4. #4
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut
    D'après ce que je lis ici https://docs.oracle.com/database/121...htm#REFRN10077, ce paramètre est plus une valeur max qu'une valeur fixe.
    "If JOB_QUEUE_PROCESSES is set to a value in the range of 1 to 1000, then DBMS_JOB jobs and Oracle Scheduler jobs will run. The actual number of job slaves created for Oracle Scheduler jobs is auto-tuned by the Scheduler depending on several factors, including available resources, Resource Manager settings, and currently running jobs."
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  5. #5
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2005
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2005
    Messages : 197
    Points : 591
    Points
    591
    Par défaut
    Bien vu. Le patch résous le problème... J'arrive bien voir mes 64 jobs maintenant...

    Merci
    Oracle DBA OCM 11g, 12c
    OCP 11g, 12c
    OCE RAC, SQL

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

Discussions similaires

  1. [2008R2] Compter un nombre maximum de connexions simultanées sur une plage horaire
    Par staff88 dans le forum Développement
    Réponses: 26
    Dernier message: 01/09/2015, 17h14
  2. Réponses: 3
    Dernier message: 17/08/2012, 15h06
  3. Nombre maximum de fichiers ouverts par processus
    Par galinoo dans le forum Windows
    Réponses: 3
    Dernier message: 27/10/2004, 17h47
  4. Nombre maximum de textures
    Par venomelektro dans le forum OpenGL
    Réponses: 7
    Dernier message: 02/09/2004, 15h54
  5. Nombre de fichiers ouverts simultanément
    Par matrixfan dans le forum C++Builder
    Réponses: 3
    Dernier message: 27/05/2002, 17h47

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