ALTER SYSTEM の SCOPE 句難易度 高無料
ALTER SYSTEM SET 文の SCOPE 句に関する記述のうち、正しいものをすべて選べ(SPFILEで起動しているインスタンスを前提とする)。
- ASCOPE=MEMORYで変更した値は、インスタンスを再起動すると元の値に戻る
- BSCOPE=SPFILEで変更した場合、実行中のインスタンスには即時反映されず次回起動時から有効になる
- C静的パラメータ(起動時にしか変更できないパラメータ)はSCOPE=MEMORYで即座に動的変更できる
- DPFILEのみで起動している場合でもSCOPE=SPFILEを指定してSPFILEへ書き込める
正解・解説・誤答理由・ひっかけを見る▼ open
✓ 正解:AAI作成・独立検証済
解説
ALTER SYSTEM SET parameter = value SCOPE = { MEMORY | SPFILE | BOTH } の各値の意味は次の通り。
SCOPE=MEMORY:実行中インスタンスのメモリ上のみに反映。SPFILEには書き込まれないため、次回再起動すると元の値に戻る。SCOPE=SPFILE:SPFILEにのみ書き込む。実行中インスタンスには反映されない=次回起動時から有効になる。静的パラメータ(起動時にしか変更できないパラメータ)を変更する際はこちらを使う。SCOPE=BOTH:現在のインスタンスとSPFILEの両方に反映(動的パラメータのみ指定可)。PFILEで起動している場合はSPFILEが無いためこの指定はエラーになる。
SCOPE省略時、SPFILEで起動していればデフォルトは BOTH として扱われる。
- C静的パラメータはメモリ上でも動的に変更できない。変更するにはSCOPE=SPFILEでSPFILEに書き込み、インスタンスを再起動する必要がある。
- DPFILE起動時はSPFILE自体が使われていない(存在しても無視されている)ため、SCOPE=SPFILE/BOTHの指定はエラーになる。
ひっかけ: 「動的パラメータならどのSCOPEを指定してもよい」と思いがちだが、静的パラメータはSCOPE=SPFILE(または起動していないPFILE編集)でしか変更できない。静的パラメータに対してSCOPE=MEMORYやBOTHを指定すると「静的パラメータのためSCOPE指定が無効」等のエラーになる。
コマンド例と想定される挙動(未実行)
SQL>ALTER SYSTEM SET open_cursors=500 SCOPE=MEMORY; System altered. (インスタンス再起動後にopen_cursorsを確認すると、SPFILE未反映のため元の値に戻っている)
AIが作成し、独立した検証を経た解説です(有資格者による監修は経ていません)