oracle

PGAについて

基本的な特徴

セッション終了とともにPGAも開放される。

PGAに関する初期化パラメータ

初期化パラメータ
pga_aggregate_target 当項目設定値を超えない範囲内でPGA合計を自動調整(目標値)
pga_aggregate_limit 当項目設定値を超えるようになるとプロセスやセッションを強制的に中断や終了がはじまる この値を超えるとORA-04036が発生する
初期化パラメータ確認SQL
select name,type,value from
V$PARAMETER2 where upper(name) like upper('%PGA%') order by name
;

セッション毎のPGA使用状況確認

確認SQL
select t.INST_ID,t.SID,t.SERIAL#
--,to_char(t.LOGON_TIME,'MM/DD HH24:MI:SS') LOGON_TIME
,t.USERNAME,t.STATUS
,LAST_CALL_ET
,t.SQL_ID,t.SQL_CHILD_NUMBER
,round(b.PGA_USED_MEM/1024/1024)
 PGA_USED_MEM_MBYTE     -- 現在使用PGAメモリ
,round(b.PGA_ALLOC_MEM/1024/1024)
 PGA_ALLOC_MEM_MBYTE    -- 現在割り当てPGAメモリ
,round(b.PGA_MAX_MEM/1024/1024) 
 PGA_MAX_MEM_MBYTE      -- 割り当て最大PGAメモリ
,round(b.PGA_FREEABLE_MEM/1024/1024) 
 PGA_FREEABLE_MEM_MBYTE -- 解放できる割当て済PGAメモリ
,p.SEGTYPE,p.BLOCKS
from GV$SESSION t
inner join  GV$PROCESS b
on t.PADDR = b.ADDR and t.INST_ID = b.INST_ID
left outer join GV$TEMPSEG_USAGE p
on t.SADDR = p.SESSION_ADDR and t.SERIAL# = p.SESSION_NUM and t.INST_ID = p.INST_ID
where 1=1 
and t.TYPE='USER'
;
確認例

                                                                                  PGA   PGA   PGA      PGA
                                                                           SQL   USED ALLOC   MAX FREEABLE
INST                                                                     CHILD    MEM   MEM   MEM      MEM
  ID   SID SERIAL# USERNAME       STATUS     LAST_CALL_ET SQL_ID        NUMBER  MBYTE MBYTE MBYTE    MBYTE SEGTYPE  BLOCKS
---- ----- ------- -------------- ---------- ------------ ------------- ------ ------ ----- ----- -------- ------- -------
   1   237   62087 SYS            INACTIVE          49978 1h50ks4ncswfn             2     4     6        1
   1    17   59821 SOONI          INACTIVE              1                           1     2     2        0
   1   255   39772 SYSTEM         INACTIVE            184                           2     4    22        1
   1   251   31704 SYSTEM         ACTIVE                0 0qa3d17c17bhr      0      2     3     6        1
   1    30   31211 SOONI          INACTIVE              0 c5u8w9v99136n      0      5     6    81        0 SORT      57600
   1   258   28533 SOONI          INACTIVE          37783                           2     3    15        0

6行が選択されました。

SQL>
SQL*Plus表示用
set lin 300
set pagesize 50
COLUMN INST_ID HEADING 'INST|ID'
COLUMN USERNAME FORMAT A14
COLUMN STATUS FORMAT A10
COLUMN SQL_ID FORMAT A13
COLUMN LOGON_TIME FORMAT A14
COLUMN SQL_CHILD_NUMBER FORMAT A13
COLUMN SQL_CHILD_NUMBER HEADING 'SQL|CHILD|NUMBER'
COLUMN PGA_USED_MEM_MBYTE FORMAT A13
COLUMN PGA_USED_MEM_MBYTE HEADING 'PGA|USED|MEM|MBYTE'
COLUMN PGA_ALLOC_MEM_MBYTE HEADING 'PGA|ALLOC|MEM|MBYTE'
COLUMN PGA_MAX_MEM_MBYTE HEADING 'PGA|MAX|MEM|MBYTE'
COLUMN PGA_FREEABLE_MEM_MBYTE HEADING 'PGA|FREEABLE|MEM|MBYTE'
COLUMN INST_ID FORMAT 90
COLUMN SERIAL# FORMAT 999990
COLUMN SID FORMAT 9990
COLUMN PGA_ALLOC_MEM_MBYTE FORMAT 9990
COLUMN PGA_MAX_MEM_MBYTE FORMAT 9990
COLUMN PGA_FREEABLE_MEM_MBYTE FORMAT 9990
COLUMN SQL_CHILD_NUMBER FORMAT 990
COLUMN PGA_USED_MEM_MBYTE FORMAT 99990
COLUMN SEGTYPE FORMAT A7
COLUMN BLOCKS FORMAT 999990

V$PGASTATでPGAの使用状況を確認する

select * from V$PGASTAT 
;

DBA_HIST_PGASTATでPGAメモリー使用量に関する履歴統計情報を確認する

select * from DBA_HIST_PGASTAT
;
スポンサーリンク
コピペで使う