Une instance Oracle est constituée de :
Une base de données est constituée de :
Le schema d'architecture interne d'Oracle est représenté ci-dessous.
Il y a 3 manières de paramétrer l'utilisation de la mémoire :
Les différentes zones mémoire sont :
Zone | Sous-Zone | Description |
---|---|---|
SGA | Shared Pool | Cette zone contient :
Parametres : SHARED_POOL_SIZE, SHARED_POOL_RESERVED_SIZE |
Database Buffer Cache | Cette zone contient une copie des blocs lus depuis les datafiles.
Parametres : DB_CACHE_SIZE, DB_nK_CACHE_SIZE (2K, 4K, 8K, 16K, 32K) |
|
Redo Log Buffer | Cache d'écriture dans les redologs
Parametre : LOG_BUFFER |
|
Large Pool | Cette zone contient :
Parametre : LARGE_POOL_SIZE |
|
Java Pool | Zone pour les code java spécifique aux sessions
Parametre : JAVA_POOL_SIZE |
|
Streams Pool | Zone pour les messages d'Oracle Stream (messages capture et messages apply)
Parametre : STREAMS_POOL_SIZE |
|
Fixed SGA | Zone pour les informations internes de la base et de l'instance. Non paramétrable. |
|
Shared I/O Pool (Nouveauté 11g) | Zone tampon pour les SecureFile LOBs. Non paramétrage. Peut varier de 0 à 4% du database buffer cache. |
|
In-Memory Area (Nouveauté 12.1.0.2) | Zone pour In-Memory Column Store : stockage de colonnes en mémoire.
Parametre : INMEMORY_SIZE |
|
PGA | SQL Work Areas | Mémoire pour les opérations de tri (Sort Area), de hash (Hash Area), de bitmap merge (Bitmap Merge Area). Cette zone est taillée automatiquement si PGA_AGGREGATE_TARGET est positionné. Parametres : SORT_AREA_SIZE, HASH_AREA_SIZE, BITMAP_MERGE_AREA_SIZE |
Private SQL Area | Gère les cursors et le bind variables | |
Session Memory | Données internes à une session |
Les vues donnant des informations sur la mémoire sont :
-- Cette requete donne la taille des zones mémoire. -- Les 5 dernières lignes sont des informations supplémentaires. SQL> select * from V$SGAINFO; NAME BYTES RES CON_ID -------------------------------- ---------- --- ---------- Fixed SGA Size 2931136 No 0 Redo Buffers 5455872 No 0 Buffer Cache Size 423624704 Yes 0 In-Memory Area Size 0 No 0 Shared Pool Size 171966464 Yes 0 Large Pool Size 8388608 Yes 0 Java Pool Size 4194304 Yes 0 Streams Pool Size 0 Yes 0 Shared IO Pool Size 20971520 Yes 0 Data Transfer Cache Size 0 Yes 0 Granule Size 4194304 No 0 Maximum SGA Size 943718400 No 0 Startup overhead in Shared Pool 131536048 No 0 Free SGA Memory Available 327155712 0 -- Cette requete donne des statistiques sur le PGA -- Seule la ligne "total PGA allocated" donne la taille actuellement allouée. SQL> select * from V$PGASTAT; NAME VALUE UNIT CON_ID -------------------------------------------------- ---------- ------------ ---------- aggregate PGA target parameter 327155712 bytes 0 aggregate PGA auto target 185960448 bytes 0 global memory bound 65430528 bytes 0 total PGA inuse 120532992 bytes 0 total PGA allocated 162153472 bytes 0 maximum PGA allocated 237112320 bytes 0 total freeable PGA memory 15925248 bytes 0 process count 48 0 max processes count 69 0 PGA memory freed back to OS 369164288 bytes 0 total PGA used for auto workareas 0 bytes 0 maximum PGA used for auto workareas 1872896 bytes 0 total PGA used for manual workareas 0 bytes 0 maximum PGA used for manual workareas 0 bytes 0 over allocation count 0 0 bytes processed 330761216 bytes 0 extra bytes read/written 0 bytes 0 cache hit percentage 100 percent 0 recompute count (total) 1389 0