Connexions dédiées / partagées

Posted by on 7/sept/2010 in Bases de données, Oracle | 0 comments

Connexions dédiées / partagées

Un serveur Oracle, ou plustot un contexte global d’instance de base de données, peut être de deux natures : dédié ou partagé. Nous devinons rapidement les notions élémentaires qui se cachent derrière ces deux termes mais à quoi correspondent-ils vraiment et quand faut il utiliser l’un ou l’autre ?

1 – Mode Serveur Dédié

Le mode serveur dédié est le mode de serveur par défaut d’Oracle à opposer au mode serveur partagé MTS vu au point (2). Une session utilisateur utilise un process serveur dédié à cette session : Cette méthode est donc adaptée à un nombre faible de sessions simultanées ou à l’utilisation de POOLS pour les serveurs d’applications et est très efficace dans ce cas de figure.

Le mode serveur dédié est souvent utilisé lorsque des utilisateurs adressent directement les instances en sessions distantes ou bien lorsque des applications spécifiques adressent les instances. Il devient hors de propos lorsque des serveurs d’applications y sont greffés : il convient alors de virtualiser le nombre de process serveurs potentiel, on parle alors de mode serveur partagé.

2 – Mode Serveur Partagé

Le mode serveur partagé ou encore MTS (« Multi Threaded Server ») est à opposer au mode serveur dédié. C’est un bon choix pour un serveur Oracle lorsque le nombre d’utilisateurs qui s’adressent à l’instance commence à approcher100 sessions simultanées : A ce moment là, le nombre de serveur dédié peu alourdir inutilement la charge serveur et la consommation mémoire, il peut être utile de faire fonctionner l’instance en mode partagé.

Le mode partagé part au contraire du principe que le nombre de processus serveur est plus petit que le nombre de sessions utilisateurs établies mais que, à un instant t, ce nombre n’est jamais atteint. On économise alors de la CPU et de la mémoire.

Les dispatcheurs sont à un MTS ce que les process serveur dédidé sont à un serveur non MTS.

Un Dispatcheur (DISPATCHER) reçoit les requêtes de tous les processus utilistaeurs et se charge de les stoquer dans une file d’attente de requêtes entrantes (Queue de requêtes ou « Query Queue »). Les processus serveurs partagés, en fonction de leur disponibilité, traitent les messages postés dans cette file d’attente et stoquent les réponses dans une file d’attente de réponses (Queue de réponses ou « Response Queue »)

Remarque: Le paramètre d’initialisation d’instance MAX_SHARED_SERVERS indique le nombre maximal de processus serveurs en mode partagés pouvant être instanciés simultanéments par Oracle.

Leave a Reply