L
o
a
d
i
n
g
.
.
.

ホーム

お知らせ

製品・ソリューション

サービス

導入事例・パートナー

EXEM Academy・ブログ

会社情報

採用情報

2018.07.12

SESSION CACHED CURSORS

目次

  • 1. 基本情報
  • 2. 注意
  • 3. 関連情報


  • 基本情報


    パラメータ情報

    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エラー
    

PHP Code Snippets Powered By : XYZScripts.com