プライマリ・コンテンツに移動
Oracle® Databaseリファレンス
12cリリース2 (12.2)
E72905-03
目次へ移動
目次
索引へ移動
索引

前
次

1.297 SHARED_POOL_SIZE

SHARED_POOL_SIZEには、共有プールのサイズ(バイト)を指定します。

特性 説明

パラメータ・タイプ

大整数

構文

SHARED_POOL_SIZE = integer [K | M | G]

デフォルト値

SGA_TARGETが設定されている場合: パラメータが指定されていない場合のデフォルト値は0(Oracle Databaseによって内部で決定される)。パラメータが指定されている場合は、ユーザー指定の値がメモリー・プールの最小値を示す。

SGA_TARGETが設定されていない場合(32ビットのプラットフォーム): 64MB (近似のグラニュル・サイズに切上げ)。

SGA_TARGETが設定されていない場合(64ビットのプラットフォーム): 128MB (近似のグラニュル・サイズに切上げ)。

Oracle ASMを使用してデータベース・インスタンスを処理するときの考慮事項については、SHARED_POOL_SIZEと自動ストレージ管理を参照。

変更可能

ALTER SYSTEM

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を設定すると、エラーが発生します。PDBのパラメータを設定した後で、これらの要件に違反した場合(たとえば、SHARED_POOL_SIZE値がCDBレベルで変更された場合など)、PDBの値はこれらの要件を満たすように調整されます。

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 Database管理者ガイド』を参照してください。

  • このパラメータの設定の詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。

  • V$SGASTAT

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