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 :

Oracle et multiprocesseur


Sujet :

Administration Oracle

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 217
    Points : 112
    Points
    112
    Par défaut Oracle et multiprocesseur
    Bonjour,
    Suite aux recommandations de certains éditeurs en terme de processeur, je m'interroge sur la prise en compte par Oracle des multiprocesseurs.

    Est ce qu'une instance Oracle utilise pleinement les ressources offertes par les multiprocesseurs (sans paramétrage particulier) ?
    Si oui, quels sont les processus qui en bénéficient ?
    Si non quel paramétrage peut on mettre en place pour profiter des multiprocesseurs et quels sont les processus impactés?

    Merci d'avance

  2. #2
    Membre expérimenté 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
    Points : 1 332
    Points
    1 332
    Par défaut
    Bonjour,

    Il y a un parametre Oracle: cpu_count qui affiche le nombre de CPU vu par oracle que ce soit de l'hyperthreading ou pas

    En fonction de la version Oracle et en fonction de la license (Entreprise ,XE , Standard Edition ...) le parallelisme peut etre pris en charge

    Voir ici des détails sur l'activation du parallelisme en SQL

    Le PLSQL ne béneficie pas de la programmation multithreading

    http://asktom.oracle.com/pls/asktom/...D:146612348066

    En Standard Edition , si CPU_COUNT > 1 , on peut toujours simuler le parallelisme avec dbms_job ,sbms_scheduler ... en lancant en meme temps
    deux requetes sur des tables différentes

    asktom.oracle.com tahiti.oracle.com otn.oracle.com

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.


    phrase chinoise issue du Huainanzi

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 217
    Points : 112
    Points
    112
    Par défaut
    merci pour cette réponse rapide,

    Exact, mais à part l'exécution d'ordres LSD,LMD et LDD en mode parallèle, dans quels autres registres peut on utiliser le multiprocesseur ?
    Citation Envoyé par fatsora Voir le message
    Voir ici des détails sur l'activation du parallelisme en SQL
    Quelles sont les fonctionnalités concernées par le parallélisme?
    Où puis-je trouver des informations à ce sujet?
    Citation Envoyé par fatsora Voir le message
    En fonction de la version Oracle et en fonction de la license (Entreprise ,XE , Standard Edition ...) le parallelisme peut etre pris en charge
    Merci d'avance,

  4. #4
    Membre expérimenté 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
    Points : 1 332
    Points
    1 332
    Par défaut
    Citation Envoyé par fred_04510 Voir le message
    merci pour cette réponse rapide,

    Exact, mais à part l'exécution d'ordres LSD,LMD et LDD en mode parallèle, dans quels autres registres peut on utiliser le multiprocesseur ?
    Il y a deja IMPDP

    This parameter is valid only in the Enterprise Edition of Oracle Database 10g.

    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
    27
     
    Other Types of Parallelism
     
    In addition to parallel SQL execution, Oracle can use parallelism for the following types of operations:
     
        *
     
          Parallel recovery
        *
     
          Parallel propagation (replication)
        *
     
          Parallel load (the SQL*Loader utility)
     
    Like parallel SQL, parallel recovery and propagation are performed by a parallel execution coordinator and multiple parallel execution servers. Parallel load, however, uses a different mechanism.
     
    The behavior of the parallel execution coordinator and parallel execution servers may differ, depending on what kind of operation they perform (SQL, recovery, or propagation). For example, if all parallel execution servers in the pool are occupied and the maximum number of parallel execution servers has been started:
     
        *
     
          In parallel SQL, the parallel execution coordinator switches to serial processing.
        *
     
          In parallel propagation, the parallel execution coordinator returns an error.
     
    For a given session, the parallel execution coordinator coordinates only one kind of operation. A parallel execution coordinator cannot coordinate, for example, parallel SQL and parallel recovery or propagation at the same time.

    Quelles sont les fonctionnalités concernées par le parallélisme?
    Où puis-je trouver des informations à ce sujet?
    En réalité sauf si je ne m'abuse il n'y a que Etreprise Edition et Personal Edition qui ont le parallelisme

    ref metalink Note:271886.1



    Merci d'avance

    asktom.oracle.com tahiti.oracle.com otn.oracle.com

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.


    phrase chinoise issue du Huainanzi

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 217
    Points : 112
    Points
    112
    Par défaut
    Bien vu, merci pour l'info
    Citation Envoyé par fatsora Voir le message
    En réalité sauf si je ne m'abuse il n'y a que Etreprise Edition et Personal Edition qui ont le parallelisme
    Donc je résume :
    Le multiprocesseur est uniquement en compte par Oracle dans les éditions personal et entreprise pour les aspects :
    LSD,LDD,LMD,recovery,propagation et load

    Je rajoute que le mode parallèle n'est pas automatique.
    Par exemple pour les requêtes de sélection, il faut au moins que le champs degree de dba_tables soit > 1.

    Ma conclusion :
    Le multiprocesseur est inutile sur les bases Oracle dont les versions sont différentes de personal et entreprise.
    Pour les autres éditions, le multiprocesseur est inutile sur les bases Oracle si on n'a pas configuré l'instance en conséquence.

    Qu'en pensez vous?

  6. #6
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Bonjour

    Une référence intéressante pour commencer : http://www.oracle.com/technology/pro...uct_family.pdf

    On y voit par exemple que l'édition Standard peut tourner sur un système quadriprocesseur, mais pour autant ne supporte pas le parallélisme.
    Il n'y a pas de contradiction en cela.

    En effet, un système Oracle est constitué de divers processus (les processus noyau comme DBWR, LGWR et compagnie, mais aussi les dizaines ou centaines de processus dits "serveurs" qui desservent chacune des connexions).
    Ces différents processus tournent simultanément, et utilisent sans paramétrage particulier tous les processeurs disponibles. On peut considérer cela, dans une terminologie généraliste, comme étant du parallélisme.

    Cependant, Oracle donne à "parallélisme" un sens particulier : c'est le fait de solliciter plusieurs processus serveurs travaillant simultanément pour traiter une même opération, par exemple un SELECT très volumineux.
    En mode non parallèle (cas par défaut), un seul processus traitera cette requête.

    Bien évidemment, pour faire du parallélisme, il est vivement souhaitable de disposer de plusieurs processeurs, sans quoi les processus parallèles seront en fait séquentiels.
    Et même si vous ne souhaitez pas faire de parallélisme, un système multiprocesseur vous donnera de bien meilleures performances qu'avec un seul processeur, si votre charge est un peu consistante.
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  7. #7
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Citation Envoyé par fatsora Voir le message
    Le PLSQL ne béneficie pas de la programmation multithreading

    http://asktom.oracle.com/pls/asktom/...D:146612348066
    Bonjour

    Je ne dispose pas d'information contraire à ce qui est affirmé ici, mais je prendrais avec quelques pincettes une réponse qui date de 2000.
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  8. #8
    Membre expérimenté 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
    Points : 1 332
    Points
    1 332
    Par défaut
    Citation Envoyé par Pomalaix Voir le message
    Bonjour

    Je ne dispose pas d'information contraire à ce qui est affirmé ici, mais je prendrais avec quelques pincettes une réponse qui date de 2000.
    Les posts de TOM finissent le 11/05/2009 et n'infirment pas cet etat de fait

    un autre post ici datant de 2008
    http://asktom.oracle.com/pls/asktom/...:3533747242374

    Corfirme ce qu'il (Tom a avancé ...)

    asktom.oracle.com tahiti.oracle.com otn.oracle.com

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.


    phrase chinoise issue du Huainanzi

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 217
    Points : 112
    Points
    112
    Par défaut
    Bonjour,
    D'accord donc sans paramétrage particulier, le multiprocesseur permet à un serveur Oracle de supporter plus de connexions.
    Citation Envoyé par Pomalaix Voir le message
    mais aussi les dizaines ou centaines de processus dits "serveurs" qui desservent chacune des connexions
    Ces différents processus tournent simultanément, et utilisent sans paramétrage particulier tous les processeurs disponibles. On peut considérer cela, dans une terminologie généraliste, comme étant du parallélisme.
    Le problème est de savoir apprécier la limite à partir de laquelle ca vaut le coup de passer au multi processeur.
    En ce moment c'est la course à l'armement avec les serveur multi coeurs.
    Les éditeurs de progiciel préconisent des configurations énormes pour les bases Oracle, mais quelle portion de ces ressources est elle utilisée, c'est la question.

    Pour ma part j'ai affaire à des charges peu consistantes, tant au niveau des connexions que des opérations (mais à des volumes de données m'interdisant l'utilisation de l'édition express) autant dire que tout ce que je viens de lire me conforte dans l'idée de refuser le multiprocesseur.
    Car l'utilisation du multiprocesseur et du multicoeur n'est pas sans conséquences en terme de prix de licences.

    Citation Envoyé par Pomalaix Voir le message
    Et même si vous ne souhaitez pas faire de parallélisme, un système multiprocesseur vous donnera de bien meilleures performances qu'avec un seul processeur, si votre charge est un peu consistante.
    En tous cas merci à tous pour ces informations, j'ai pu bien avancer dans ma réflexion à ce sujet grace à vous.

    Salutations

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

Discussions similaires

  1. [Oracle 9.2i] Architecture multiprocesseur SMP
    Par Ben A. dans le forum Administration
    Réponses: 5
    Dernier message: 14/05/2007, 11h48
  2. Cryptage de colonnes sous Oracle
    Par Julian Roblin dans le forum SQL
    Réponses: 9
    Dernier message: 28/11/2006, 18h24
  3. [VB6] Connection ODBC Oracle
    Par babe dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 07/10/2002, 16h52
  4. [Kylix] sqlconnection + oracle
    Par tibo55555 dans le forum EDI
    Réponses: 1
    Dernier message: 02/09/2002, 09h09
  5. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 14h18

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