C – La mémoire
C – 1 Les zones réservées au code de l’applicatif.
Ces espaces pour le code des programmes en cours d’exécution sont accessibles uniquement
en lecture. Elles peuvent être partagées ou exclusives. On y trouve le code du noyau, des
outils ORACLE (SQL*Plus, ORACLE*FORMS, etc…) et des programmes d’applications
faisant appel à ORACLE. Plusieurs processus peuvent accéder au même segment de mémoire.
On évite, avec un tel partage d’avoir des copies multiples de code, d’où un gain d’espace
mémoire et de performance.
C – 2 La SGA (System Global Area)
Egalement appelée ‘shared global area’, cette dernière est propre à chaque instance et ne
peut donc être partagée entre plusieurs instances.
C’est une zone contenant les données et informations relatives à une instance ORACLE. Les
données contenues dans cette zone sont partagées entre tous les utilisateurs connectés à
l’instance.
La mémoire pour une SGA est allouée au démarrage de l’instance et désallouée à l’arrêt de
cette dernière. La taille est déterminée, au démarrage, dans le fichier paramètre init.ora.
Ces paramètres sont :
DB_BLOCK_SIZE : détermine la taille en octet d’un bloc de données et d’un buffer
DB_BLOCK_BUFFER : nombre de buffer de la base alloué à la SGA. L’espace total
du buffer est égal à DB_BLOCK_SIZE * DB_BLOCK_BUFFER
LOG_BUFFER : Nombre d’octets alloués au buffer REDO LOG
SHARED_POOL_SIZE: Taille en octets, de l’espace alloué aux instructions SQL et
PL/SQL partagées.
Nota :
La SGA doit être aussi grande que possible, à condition qu’elle reste en mémoire
centrale, donc qu’elle ne doit pas être trop grosse.
Un BUFFER est un bloc en mémoire centrale