Veritabanı bellek (sga, pga) kullanım oranları
Oracle veritabanlarındaki bellek kullanım oranlarının tespiti için aşağıdaki sorgu kullanılabilir. Zaman zaman bellek değerlerinde artış olursa ilgili zaman aralığındaki işlemlerin incelenmesi gerekecektir. dba_hist_snapshot görüntüsünden aşağıdaki gibi bir sorgu ile bellek kullanım oranları tespit edilebilir.
SQL> set lines 1000
SQL> set pages 1000
SQL> SELECT sn.INSTANCE_NUMBER,
sga.allo sga,
pga.allo pga,
(sga.allo + pga.allo) tot,
TRUNC (SN.END_INTERVAL_TIME, 'mi') time
FROM ( SELECT snap_id,
INSTANCE_NUMBER,
ROUND (SUM (bytes) / 1024 / 1024 / 1024, 3) allo
FROM DBA_HIST_SGASTAT
GROUP BY snap_id, INSTANCE_NUMBER) sga,
( SELECT snap_id,
INSTANCE_NUMBER,
ROUND (SUM (VALUE) / 1024 / 1024 / 1024, 3) allo
FROM DBA_HIST_PGASTAT
WHERE name = 'total PGA allocated'
GROUP BY snap_id, INSTANCE_NUMBER) pga,
dba_hist_snapshot sn
WHERE sn.snap_id = sga.snap_id
AND sn.INSTANCE_NUMBER = sga.INSTANCE_NUMBER
AND sn.snap_id = pga.snap_id
AND sn.INSTANCE_NUMBER = pga.INSTANCE_NUMBER
ORDER BY sn.snap_id DESC, sn.INSTANCE_NUMBER;
![]()
