Perf shared pool memory
Aller à la navigation
Aller à la recherche
| Fiche express | |
|---|---|
| Type | Script SQL*Plus de diagnostic |
| Domaine | Performance |
| Voir aussi | Perf sga usage · Perf sga free pool |
Perf shared pool memory calcule la taille totale et le pourcentage de mémoire libre du seul shared pool, en comparant v$sgastat (mémoire libre effective) et le paramètre shared_pool_size. Version ciblée de Perf sga free pool, qui couvre tous les pools de la SGA.
Script
SET LINESIZE 145
SET PAGESIZE 9999
COLUMN value FORMAT 999,999,999,999 HEADING 'Taille Shared Pool'
COLUMN bytes FORMAT 999,999,999,999 HEADING 'Octets libres'
COLUMN percentfree FORMAT 999 HEADING '% Libre'
SELECT
TO_NUMBER(p.value) value
, s.bytes bytes
, (s.bytes / p.value) * 100 percentfree
FROM
v$sgastat s
, v$parameter p
WHERE
s.name = 'free memory'
AND s.pool = 'shared pool'
AND p.name = 'shared_pool_size'
/
Interprétation
- Pourcentage libre chroniquement bas (< 5-10 %) : risque d'
ORA-04031à surveiller de près, notamment lors de pics de nouvelles requêtes non partagées (parsing excessif). - Limite connue de ce script : sur une instance en Automatic Shared Memory Management (
SGA_TARGET) ou Automatic Memory Management (MEMORY_TARGET), le paramètreshared_pool_sizepeut valoir 0 (taille pilotée automatiquement) — la requête retourne alors une division par zéro ou une ligne vide. Dans ce cas, utiliserv$sgainfo(ligneShared Pool Size) ouv$sga_dynamic_componentsà la place dev$parameter. - Un pourcentage libre très élevé en continu indique un shared pool surdimensionné par rapport au nombre réel d'objets/curseurs à mettre en cache.
Voir aussi
- Perf sga free pool — même indicateur généralisé à tous les pools de la SGA.
- Perf sga usage — détail de tous les composants de la SGA.
- Perf performance snapshot — inclut le Data Dictionary et Library Cache Hit Ratio, deux indicateurs directement liés à la pression sur le shared pool.