Oracle Database 10g : Administration Workshop I 13-2 Etablir une connexion Une
Oracle Database 10g : Administration Workshop I 13-2 Etablir une connexion Une fois la résolution de nom Oracle Net terminée, une demande de connexion est transmise de l'utilisateur ou de l'application du niveau intermédiaire (middle tier), appelé(e) processus utilisateur par la suite, au processus d'écoute (listener) Oracle Net. Le processus d'écoute reçoit un paquet CONNECT et détermine si ce paquet CONNECT demande un nom de service Oracle Net valide. Si le nom du service n'est pas demandé (comme dans le cas d'une demande TNSPING), le processus d'écoute accuse réception de la demande de connexion et ne fait rien de plus. Si un nom de service non valide est demandé, le processus d'écoute transmet un code d'erreur au processus utilisateur. p Oracle Database 10g : Administration Workshop I 13-3 Processus serveur dédié Si le paquet CONNECT demande un nom de service valide, le processus d'écoute crée un nouveau processus afin de traiter la connexion. Ce nouveau processus est appelé "processus serveur", ou parfois "processus shadow". Une fois le processus créé, le processus d'écoute s'y connecte et lui transmet des informations d'initialisation, notamment l'adresse du processus d'écoute. A ce stade, le processus d'écoute ne gère plus la connexion et tout le travail est envoyé au processus serveur. Le processus serveur renvoie à présent un paquet RESEND au processus utilisateur. Oracle Database 10g : Administration Workshop I 13-4 Sessions utilisateur Une fois que la session a reçu le paquet RESEND, elle retransmet le paquet CONNECT. Le processus serveur vérifie les informations d'identification et de connexion de l'utilisateur ( é é l d ) i ll lid i ili éé (généralement un mot de passe) ; si elles sont valides, une session utilisateur est créée. Processus serveur dédié : la session étant établie, le processus serveur joue à présent le rôle d'agent de l'utilisateur sur le serveur. Le processus serveur est responsable des opérations suivantes : • Analyse (parse) et exécution des instructions SQL exécutées par l'intermédiaire de l'application. • Examen du cache de tampons (buffer cache) de la base de données à la recherche de blocs de données requis pour exécuter les instructions SQL. • Lecture des blocs de données nécessaires à partir des fichiers de données sur disque dans la partie cache de tampons de la base de données de la mémoire SGA, si les blocs ne sont pas déjà présents dans la mémoire SGA. • Gestion de toutes les activités de tri. Une partie du processus serveur, appelée mémoire PGA (Program Global Area), contient une zone de mémoire appelée zone de tri et utilisée pour gérer les opérations de tri. Oracle Database 10g : Administration Workshop I 13-5 • Renvoi des résultats au processus utilisateur de sorte que l'application puisse traiter les informations. Sessions utilisateur (suite) Les processus serveur réservent également de la mémoire pour les opérations spécialisées, telles que les jointures bitmap et les jointures de hachage. La quantité de mémoire consommée par le processus serveur dédié dépend de la valeur de plusieurs paramètres d'initialisation. Elle peut être contrôlée automatiquement via les paramètres PGA_AGGREGATE_TARGET et WORKAREA_SIZE_POLICY, ou réglée si nécessaire pour une utilisation avancée. Oracle Database 10g : Administration Workshop I 13-6 Sessions utilisateur : serveur dédié Avec les processus serveur dédiés, il existe un rapport un à un entre les processus serveur et les processus utilisateur. Chaque processus serveur consomme des ressources système, notamment des cycles CPU et de la mémoire. Dans un système très sollicité, les ressources mémoire et CPU consommées par les processus serveur dédiés peuvent être prohibitives et affecter de manière négative l'évolutivité du système. Si les demandes de ressources de l'architecture de serveur dédié ont un impact négatif sur le système, deux possibilités s'offrent à vous : • Augmenter les ressources système en ajoutant de la capacité mémoire et CPU • Utiliser l'architecture Oracle Shared Server Oracle Database 10g : Administration Workshop I 13-7 Sessions utilisateur : serveur partagé Chaque service qui participe à l'architecture de serveur partagé comporte au moins un processus répartiteur (et généralement plusieurs). Lorsqu'une demande de connexion arrive, le processus d'é t é d dédié E h il è li t d é tit d'écoute ne crée pas de processus serveur dédié. En revanche, il gère une liste de répartiteurs disponibles pour chaque nom de service, ainsi que la charge de connexion (nombre de connexions simultanées) pour chaque répartiteur. Les demandes de connexion sont acheminées vers le répartiteur le moins chargé qui gère un nom de service donné. Les utilisateurs restent connectés au même répartiteur pour la durée d'une session. Contrairement aux processus serveur dédiés, un même répartiteur peut gérer des centaines de i tili t sessions utilisateur. Les répartiteurs ne traitent pas à proprement parler le travail des demandes utilisateur. Ils transmettent les demandes utilisateur à une file d'attente commune située dans la partie zone de mémoire partagée de la mémoire SGA. Les processus serveur partagés prennent en charge la majeure partie du travail des processus serveur dédiés, en extrayant les demandes de la file d'attente et en les traitant en totalité. Etant donné que les demandes d'une même session utilisateur peuvent être traitées par plusieurs é l l d é i é é l ké d l Oracle Database 10g : Administration Workshop I 13-8 processus serveur partagés, la plupart des structures mémoire généralement stockées dans la mémoire PGA doivent résider dans un emplacement de mémoire partagée. Dans une architecture Oracle Shared Server, la plupart de ces zones de mémoire sont stockées dans la partie LARGE POOL de la mémoire SGA. Traiter une demande Lorsqu'un utilisateur qui se connecte via l'architecture Oracle Shared Server envoie une demande à la base de données : 1. Le processus utilisateur transmet la demande à son répartiteur. 2. Le répartiteur place la demande dans la file d'attente commune des demandes dans la mémoire SGA. 3. Le prochain serveur partagé disponible extrait la demande de la file d'attente et la traite. 4. Le serveur partagé place la réponse dans la file d'attente des réponses du répartiteur appelant. Chaque répartiteur dispose de sa propre file d'attente des réponses. 5. Le répartiteur extrait la réponse de sa file d'attente des réponses. 6. Le répartiteur renvoie la réponse à l'utilisateur. Une fois l'appel de l'utilisateur terminé, le processus serveur partagé est libéré et devient disponible pour le traitement d'un autre appel utilisateur dans la file d'attente des demandes. File d'attente des demandes • Une même file d'attente des demandes est partagée par tous les répartiteurs. • Les serveurs partagés surveillent la file d'attente afin de détecter les nouvelles demandes. • Les demandes sont traitées sur la base d'un algorithme FIFO (First In First Out - premier Oracle Database 10g : Administration Workshop I 13-9 Les demandes sont traitées sur la base d un algorithme FIFO (First In, First Out premier entré, premier sorti). Il n'y a pas de paramètre de priorité. La mémoire SGA et la mémoire PGA Le contenu de la mémoire SGA (System Global Area) et de la mémoire PGA (Program Global Area) diffère selon que des serveurs dédiés ou des serveurs partagés sont utilisés. • Les formes textuelles et analysées de toutes les instructions SQL sont stockées dans la mémoire SGA. • L'état du curseur contient les valeurs en mémoire lors de l'exécution de l'instruction SQL, par exemple les lignes extraites. • Les données des sessions utilisateur incluent des informations relatives à la sécurité et à l'utilisation des ressources. • L'espace de pile contient les variables locales du processus. Remarque technique La modification de la mémoire SGA et de la mémoire PGA est transparente pour l'utilisateur ; cependant, en cas de prise en charge de nombreux utilisateurs, vous devez augmenter la valeur du paramètre LARGE_POOL_SIZE. Chaque processus serveur partagé doit accéder aux espaces de données de toutes les sessions, de sorte que chaque serveur puisse traiter les demandes de n'importe quelle session. De l'espace est alloué dans la mémoire SGA pour l'espace de données de chaque session Vous pouvez limiter la quantité d'espace pouvant être Oracle Database 10g : Administration Workshop I 13-10 l espace de données de chaque session. Vous pouvez limiter la quantité d espace pouvant être allouée par une session en définissant la limite de ressource PRIVATE_SGA dans la région Database Services de la page General du profil de l'utilisateur. Configurer Oracle Shared Server Pour configurer Oracle Shared Server, vous devez modifier les paramètres d'initialisation de l'instance. La plupart des paramètres facultatifs présentent des valeurs par défaut appropriées. Sur de nombreux systèmes, seul le paramètre DISPATCHERS doit être configuré. Selon les options sélectionnées lors de la création de la base de données, le paramètre DISPATCHERS peut déjà être configuré pour démarrer un répartiteur afin de traiter les demandes de la base de données XML. Le paramètre DISPATCHERS accepte plusieurs jeux de valeurs au format suivant : ‘<parameters for first set>’,’<parameters for second set>’ Oracle Database 10g : Administration Workshop I 13-11 DISPATCHERS Le paramètre DISPATCHERS active différents attributs pour chaque répartiteur. Oracle Database 10g prend en charge une syntaxe nom-valeur (semblable à celle utilisée par les g p g y ( uploads/Industriel/ less-13-serveurs-partages-oracle.pdf
Documents similaires










-
27
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Fev 18, 2021
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 1.2604MB