catch-img

SESSION CACHED CURSORS - 日本エクセム株式会社 Oracleパラメータ


目次[非表示]

  1. 1.基本情報
    1. 1.1.Parameter情報
    2. 1.2.説明
  2. 2.注意
    1. 2.1.高SESSION_CACHED_CURSORS値とShared Pool Fragmentation
  3. 3.関連情報

基本情報

Parameter情報

Syntax:SESSION_CACHED_CURSORS
設定方法:・Parameter File
     ・ALTER SESSION SET SESSION_CACHED_CURSORS = 100;
     ・ALTER SYSTEM SET SESSION_CACHED_CURSORS = 100;
バージョンとデフォルト
9iR2 : 0
10gR1: 0
10gR2: 0
11g  : 0


説明

 SESSION_CACHED_CURSORSパラメータの値が0よりも大きい場合Session Cursor Caching機能が使用されます。Session Cursor Caching機能は、1つのSession内で三回以上実行されたSQL StatementをPGA領域にCacheすることを意味します。

 一般的に、Soft Parseが多く、一度に多数のCursorを使用するApplicationはSESSION_CACHED_CURSORSパラメータの値を大きくすることにより、library cacheラッチ競合を減らすことができます。


注意

高SESSION_CACHED_CURSORS値とShared Pool Fragmentation

 Session Cursor CachingによってPGAのCacheたCursorは次のような方法でShared Poolに固定されます。

1. Cursorを構成するHeap0(Cursor基本情報)は、固定されます。
2. Cursorを構成するHeap6(Cursorの実行計画情報)は、固定されません。

 固定された領域は、Flushされません。したがってSession Curors CachingによってCacheたCursorの基本的な情報は、Shared Poolに続いて常駐することになります。このような理由のためにCacheたCursorには、Shared Poolの特定の領域に直接Accessが可能であり、その分library cacheラッチを占有する時間が減少します。一方、このようにCacheされたCursorの数が多すぎると、それだけFlushされないCursor(Heap0)の数が増加します。したがってShared PoolのFragmentation現象が発生することがあります。

 このような理由のためにHard Parseが多いシステムでは、Flushがスムーズに行われるため、SESSION_CACHED_CURSORSパラメータ値を低く設定するのが良い方法となります。通常50程度の値で開始することを推奨され、Hard ParseとSoft Parseの発生程度、Shared Poolのサイズに応じて加減する方式を使用します。


関連情報

1. CURSOR_SPACE_FOR_TIMEパラメータ
2. OPEN_CURSORSパラメータ
3. V$ OPEN_CURSORビュー
4. ORA-4031エラー


CONTACT

他社に頼らず自社でデータベースを監視・運用をしませんか?
MaxGaugeがサポートします

お役立ち資料は
こちらから

不明点がある方は、
こちらからお問い合わせください

お電話でのお問い合わせはこちら

平日 10時~18時

人気記事ランキング

タグ一覧