・リアルタイム
select sum(bytes)/1024/1024 as mb from v$sgastat where pool=’shared pool’;
・MOS ドキュメントID 1746873.1
AWR レポートリファレンス – 目次(KROWN:136531)
動的メモリサイズ履歴
#スナップショット確認
SELECT SNAP_INTERVAL,RETENTION FROM DBA_HIST_WR_CONTROL;
#AWRスナップショットの手動取得
EXEC DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT;
@?/rdbms/admin/awrrpt
Memory Dynamic Components
・Component : コンポーネント名
・Begin Snap Size (Mb) : スナップショット取得時のコンポーネントのサイズ
・Current Size (Mb) : コンポーネントの現行のサイズ
・Min Size (Mb) : インスタンス起動後のコンポーネントの最小サイズ
・Max Size (Mb) : インスタンス起動後のコンポーネントの最大サイズ
・MOS ドキュメントID 1701820.1
共有プール(SHARED_POOL_SIZE)の見積もり方法(KROWN:10602)
Shared_pool_size容量見積
3. Oracle Database 10g 以降 の場合
A~Fの合計値
A) ライブラリキャッシュに格納されているオブジェクト
select sum(sharable_mem) from v$db_object_cache;
B) SQL
通常は:
select sum(sharable_mem) from v$sqlarea;
27607126
動的SQLを使用しているときは
select sum(sharable_mem) from v$sqlarea where executions > 5;
13159723
を更に加える。
C) ユーザー毎、カーソル毎のメモリ
本番システムであれば、使用のピーク時に
select sum(250 * users_opening) from v$sqlarea;
テストシステムであれば
select 250*value bytes_per_user
from v$sesstat s, v$statname n
where s.statistic# = n.statistic#
and n.name = ‘opened cursors current’
and s.sid = 23;
— 23は使用しているテストユーザーのSID番号で置き換える。
をテストユーザーに対して実行し、これにトータルのユーザー数を掛ける。
E) オーバーヘッド
上記で計算した結果に対して、オーバーヘッド分として約30%ほど加える。
F) Startup 時のオーバーヘッド (10g 以降)
Startup 時に確保される、インスタンス稼働に必要なオーバーヘッド分に
なりますので、この値よりもより大きな値を加える。
SQL> select * from v$sgainfo where name = ‘Startup overhead in Shared Pool’;
#shared_pool_size