2.332 SHARED_POOL_SIZE
SHARED_POOL_SIZEには、共有プールのサイズ(バイト)を指定します。
               
| 特性 | 説明 | 
|---|---|
| パラメータ・タイプ | 大整数 | 
| 構文 | 
 | 
| デフォルト値 | 
 
 
 Oracle ASMを使用してデータベース・インスタンスを処理するときの考慮事項については、「SHARED_POOL_SIZEと自動ストレージ管理」を参照。 | 
| 変更可能 | 
 | 
| PDBで変更可能 | はい | 
| 値の範囲 | 最小値: グラニュル・サイズ 最大値: オペレーティング・システム依存 | 
| 基本 | いいえ | 
共有プールには、共有カーソル、ストアド・プロシージャおよび制御構造などの構造が含まれます。SGA_TARGETが設定されていない場合、共有プールからパラレル実行メッセージ・バッファが割り当てられます。値を大きくするほど、マルチユーザー・システムでのパフォーマンスが改善されます。値が小さいほど、使用されるメモリーは少なくなります。
                  
共有プールの使用率は、ビューV$SGASTATを問い合せることにより監視できます。
                  
ノート:
このパラメータは、プラガブル・データベース(PDB)ではオプションです。PDBにこのパラメータを設定すると、PDBの共有プール・サイズを保証することになります。PDBレベルでこのパラメータを設定しない場合は、PDBで使用できる共有プール容量の上限はなく、そうでない場合は、CDBの共有プール・サイズです。
各PDBが使用可能なメモリーの量を制御するために、CDBでリソース・マネージャを使用できるようにするには:
- 
                           CDBレベルで(CDBのルートで) NONCDB_COMPATIBLE初期化パラメータをFALSEに設定する必要があります。
- 
                           MEMORY_TARGET初期化パラメータをCDBレベルで設定しないでください。
- 
                           SGA_TARGET初期化パラメータを設定しないが、SHARED_POOL_SIZE初期化パラメータをCDBレベルで設定している場合、次の要件を満たす必要があります。- 
                                 PDBに設定された SHARED_POOL_SIZEの値は、CDBレベルのSHARED_POOL_SIZE値の50%以下にする必要があります。
- 
                                 CDB内のすべてのPDBにおける SHARED_POOL_SIZE値の合計は、CDBレベルのSHARED_POOL_SIZE値の50%以下にする必要があります。
 これらの要件を満たさない値にPDB内の SHARED_POOL_SIZEを設定すると、エラーが発生します。
- 
                                 
SGA_TARGETをCDBレベルで設定した場合、次の要件を満たす必要があります。
                     
- 
                           PDB内の DB_CACHE_SIZEおよびSHARED_POOL_SIZEの値は、PDBのSGA_TARGET値の50%以下にする必要があります。
- 
                           PDB内の DB_CACHE_SIZEおよびSHARED_POOL_SIZEの値は、CDBレベルのSGA_TARGET値の50%以下にする必要があります。
- 
                           CDB内のすべてのPDBにおける DB_CACHE_SIZEおよびSHARED_POOL_SIZEの合計は、CDBレベルのSGA_TARGET値の50%以下にする必要があります。
前述の3つの要件のいずれかを満たしていない場合、エラーが発生します。
関連項目:
- 
                           PDBのメモリー使用量を制御する初期化パラメータの詳細は、『Oracle Multitenant管理者ガイド』を参照してください 
- 
                           このパラメータの設定の詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。 
SHARED_POOL_SIZEと自動ストレージ管理
Oracle Automatic Storage Management (Oracle ASM)を使用しているデータベース・インスタンスでは、エクステント・マップを保存するための追加のメモリーが必要です。一般的なガイドラインとして、次の問合せの値を集計して、すでにOracle ASM上にあるか、これからOracle ASMに格納される、現行のデータベース記憶域サイズを取得できます。次に、使用されている(またはこれから使用される)冗長タイプを判断し、集計した値を入力として使用して、SHARED_POOL_SIZEの値を計算します。
                  
SELECT SUM(BYTES)/(1024*1024*1024) FROM V$DATAFILE; SELECT SUM(BYTES)/(1024*1024*1024) FROM V$LOGFILE a, V$LOG b WHERE a.group#=b.group#; SELECT SUM(BYTES)/(1024*1024*1024) FROM V$TEMPFILE WHERE status='ONLINE';
また、次のガイドラインに注意してください。
- 
                        外部冗長性を使用するディスク・グループの場合: (100GBの領域ごとに1MBの追加共有プールが必要)+ 2MB 
- 
                        標準の冗長性を使用するディスク・グループの場合: (50GBの領域ごとに1MBの追加共有プールが必要)+ 4MB 
- 
                        高い冗長性を使用するディスク・グループの場合: (33GBの領域ごとに1MBの追加共有プールが必要)+ 6MB