Aller au contenu

System Global Area

Un article de Wikipédia, l'encyclopédie libre.

Dans Oracle Database, le System Global Area (SGA) est la partie de la mémoire qui est partagée par tous les processus appartenant à l'instance Oracle.

La SGA est constituée du

  • Cache du dictionnaire de données : information sur les comptes oracle, les fichiers de données, les segments, les extent, les tables, les privilèges systèmes…etc.
  • La mémoire tampon des redo : elle contient des informations sur les transactions qui ont été validées, mais pas encore écrites dans les fichiers de données
  • La mémoire tampon des données : elle contient une copie des données qui ont été lues dans les fichiers de données[1]
  • shared pool, contenant notamment des informations sur les requêtes SQL qui ont été récemment exécutées
  • large pool ; incluant la User Global Area (UGA)
  • Java pool

Configuration

[modifier | modifier le code]

La taille de la SGA est affichée lors de l'étape de démarrage de la base de données (le startup), plus précisément sur la toute première étape de ce démarrage (étape dite startup nomount).

Les paramètres globaux de la SGA sont notamment :

  • SGA_MAX_SIZE
  • SGA_TARGET
  • Les booléens LOCK_SGA et PRE_PAGE_SGA

Au sein de la SGA, il est possible de définir la taille mémoire de chacun de ses composants, mais, en pratique, il vaut mieux laisser Oracle calculer automatiquement la taille de chacun de ses composants.

  1. "Memory Architecture" in Oracle Database Concepts 11g Release 1 (11.1)