SGA(自動共有メモリ管理)難易度 高無料
あるインスタンスで SGA_TARGET と MEMORY_TARGET を使わず、SHARED_POOL_SIZE・DB_CACHE_SIZE 等の個別コンポーネントサイズを手動で明示的に設定している。この構成に関する説明として最も適切なものを選べ。(単一選択)
- A
SHARED_POOL_SIZEやDB_CACHE_SIZEのように個別コンポーネントのサイズを明示指定した場合、それぞれのサイズは固定され、Oracle が自動的にコンポーネント間でメモリを再配分することはない - B個別パラメータを指定していても、Oracle は常にワークロードを監視して共有プールとバッファキャッシュの間でメモリを自動的に再配分する
- Cこのような手動設定は Oracle Database 19c ではサポートされておらず、必ず
SGA_TARGETかMEMORY_TARGETのいずれかを設定しなければインスタンスは起動できない - D個別パラメータを明示指定した場合でも、SGA 全体のサイズ上限だけは自動的に OS の空きメモリに応じて拡張される
正解・解説・誤答理由・ひっかけを見る▼ open
✓ 正解:AAI作成・独立検証済
解説
Oracle の SGA コンポーネント(共有プール・バッファキャッシュ・ラージプール等)のサイズ管理には複数のモードがある。
- 手動共有メモリ管理:
SHARED_POOL_SIZE・DB_CACHE_SIZE等の個別パラメータを DBA が明示的に指定する方式。この場合、各コンポーネントのサイズは指定された値に固定され、Oracle が自動的にコンポーネント間でメモリを融通することはない。 - 自動共有メモリ管理(ASMM):
SGA_TARGETを設定すると、共有プール・バッファキャッシュ等のサイズを Oracle がワークロードに応じて自動的に再配分する。 - 自動メモリ管理(AMM):
MEMORY_TARGETを設定すると、SGA と PGA の間でもメモリが自動的に配分される(さらに大きな粒度の自動化)。
本問のように個別パラメータを明示指定している構成では、共有プールが不足してもバッファキャッシュの余剰メモリを自動的に融通することはない。DBA が各パラメータを手動で調整する必要がある。
- B自動再配分(ASMM)が働くのは
SGA_TARGETを設定した場合。個別パラメータをすべて明示指定している構成では、そのような自動融通は行われない。 - C個別コンポーネントサイズの手動指定は現在もサポートされる有効な設定方式であり、それだけでインスタンスは起動できる。
- D手動管理では SGA 全体のサイズも指定(または各コンポーネントの合計)に基づき、OS の空きメモリに応じて自動拡張されることはない。
ひっかけ: 「個別サイズを指定していても Oracle が自動で最適配分してくれる」という誤解。自動再配分が働くのは
SGA_TARGET(ASMM)や MEMORY_TARGET(AMM)を設定した場合のみであり、個別パラメータ手動指定では固定サイズのまま動かない。AIが作成し、独立した検証を経た解説です(有資格者による監修は経ていません)