自動メモリー管理を使用する場合、SGA_MAX_SIZEはどのような値にする必要がありますか? 0にすべきですか?これらは私の現在の設定であり、SGA_MAX_SIZEのままにするか、0に設定するか不明です。
memory_max_target 2147483648
memory_target 2147483648
pga_aggregate_target 0
sga_max_size 1610612736
sga_target 0
Oracle 11gR2
sga_max_size
のドキュメントは次のように言います:
64ビットプラットフォームおよびWindows以外の32ビットプラットフォームでは、
MEMORY_TARGET
またはMEMORY_MAX_TARGET
が指定されている場合、SGA_MAX_SIZE
のデフォルト値は2つのパラメーターの大きい方に設定されます。
Oracleドキュメントによると、11gの自動メモリ管理(AMM)(ドキュメントID 443746.1)によると、sga_target
とpga_aggregate_target
の両方が未設定の場合、次のようになります。
どちらも設定されていない場合、最小値またはデフォルト値なしで自動調整されます。初期化中に、MEMORY_TARGETパラメータによって設定された合計メモリをSGAおよびPGAに固定比率で配布するポリシーがあります。起動時に、SGAに60%、PGAに40%を与えることがポリシーです。
したがって、OracleにSGAを完全に制御させたい場合に行う最も簡単なことは、SGAをリセットしてデフォルトを適用することです。
SQL> alter system reset sga_max_size scope=spfile;
(そして再起動します。)
AMMが必要だが、SGAまたはPGA(またはその両方)の最小値が必要な場合は、対応する_target
パラメーターを設定してください。
前の手順[to set up AMM]は、SGAおよびインスタンスPGAのサイズが調整されるように、
SGA_TARGET
およびPGA_AGGREGATE_TARGET
をゼロに設定するように指示します制限なしで、必要に応じて上下に移動します。これらのパラメーター値をゼロに設定するステートメントを省略し、値のいずれかまたは両方を正の数のままにすることができます。この場合、値はSGAまたはインスタンスPGAのサイズの最小値として機能します。
何をするにしても、しないでくださいPGAまたはSGAのターゲットまたは最大サイズをメモリターゲットよりも大きく設定します。これにより、インスタンスが起動しなくなります。