Comment Ca Marche - Communauté informatique  
   
Accueil - Encyclopédie informatiqueTélécharger l'encyclopédieContribuer à cet article

Oracle - La gestion de la mémoire

La gestion de la mémoire de Oracle Encyclopédie


L'utilisation de la mémoire par Oracle.

Oracle fait un usage poussé de la mémoire physique (RAM, Random Access Memory) du serveur afin de fournir les meilleures performances possibles.
Ainsi Oracle utilise la mémoire physique du serveur pour :

  • accélérer l'accès aux données de la base régulièrement accédées
  • mettre les processus en mémoire
  • optimiser la communication entre les processus et la base de données
Ainsi la taille de la mémoire vive du serveur est primordiale pour la performance de la base de données. En effet, lorsqu'il n'y a plus de mémoire physique disponible, le système d'exploitation met à disposition de l'application une mémoire dite "virtuelle" composée de fichiers d'échange (fichiers swap) sur le disque du serveur. Or l'accès au disque dur est extrêmement plus long que l'accès à la mémoire physique, ce qui provoque des ralentissements notables dans le fonctionnement de la base de données Oracle.

Dans une base de données Oracle on distingue généralement deux zones mémoire :

  • La zone SGA (System Global Area) assurant le partage des données des différents utilisateurs, c'est-à-dire qu'il s'agit de la zone contenant les structures de données accessibles par tous les processus
  • La zone PGA (Program Global Area) permettant le fonctionnement des divers processus (afin de stocker toutes les données ne nécessitant pas d'être partagées).
La SGA (appelée aussi mémoire réservée) est composée de plusieurs constituants :
  • La Shared Pool (ou zone partagée) contenant des informations pouvant être réutilisées par les différents utilisateurs, c'est-à-dire les requêtes SQL et programmes PL/SQL pouvant être partagés, le dictionnaire de données, les curseurs, ... D'une manière générale, cette zone sert à mémoriser, analyser et traiter les requêtes SQL provenant des divers utilisateurs.
  • Le Db block buffer (Database Buffer Cache ou cache des blocs de données) est un espace mémoire contenant toutes les données transitant de ou vers la base de données : blocs de données, blocs d'index et blocs contenant les ROLLBACK SEGMENTS. Il s'agit donc d'un cache permettant d'accélérer l'accès à certaines données de la base.
  • Le Redo Log buffer (ou cache Redo-log) contient les blocs de données (appelés Redo Entries) à modifier et les modifications à effectuer sur ces données, avant que l'ensemble de ces mises à jour de la base ne soient archivées dans les fichiers Redo-log

La SGA et les processus d'arrière plan constituent ce que l'on appelle une instance; A chaque démarrage d'une instance, l'espace mémoire nécessaire à son bon fonctionnement lui est alloué, et est restitué lors de sa fermeture.

L'ensemble des tailles des caches peut être modifié (augmentée ou diminuée) grâce aux paramètres du fichier d'initialisation (initSID.ora).

Trucs & astuces pertinents trouvés dans la base de connaissances

22/09 18h56 Connexion à une base Oracle en php (Oracle)
Oracle Plus d'astuces sur « Oracle »

Discussions pertinentes trouvées dans le forum

20/06 17h48 import base donnees oracle Import base de donnees oracle Développement 17/02 09h48->abdou9
31/05 16h27 sql oracle liste champs [SQL][ORACLE] Liste des champs Développement 18/09 13h00->yannick8
09/02 14h57 oracle uml modéliser base préexistante [ORACLE, UML] modéliser une base préexistante Développement 05/12 01h55->artaud8
24/03 13h41 personal oracle 8 personal oracle 8 Logiciels/Pilotes 26/03 10h17->yanban7
07/04 02h10 installation oracle 8i windows xp Pb installation oracle 8i sous windows XP Windows 22/01 15h32->loulou7
02/12 15h59 oracle comparaison heures [oracle] comparaison d'heures Développement 09/02 14h03->Gilles M5
08/03 12h04 oracle bd document.form.submit [oracle bd] document.form.submit() Développement 12/03 11h36->renisaac5
08/02 11h08 access import données oracle [Access] import données oracle Logiciels/Pilotes 10/02 18h27->random4
11/11 17h06 oracle developer [oracle] developer Développement 11/11 18h16->fagy4
15/02 20h08 bases dnnées oracle Question dans Bases de Dnnées ORACLE Développement 23/02 12h21->Alex754
Discussion fermée Problème résolu Oracle Plus de discussions sur « Oracle »

Ce document intitulé « Oracle - La gestion de la mémoire » issu de l'encyclopédie informatique Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.