1Z0-083 対応
UNDO(RETENTION GUARANTEE)難易度 高無料

自動 UNDO 管理(UNDO_MANAGEMENT=AUTO)の DB で、UNDO 表領域に RETENTION GUARANTEE が設定されている(固定サイズ・AUTOEXTEND OFF)。長時間のレポート問合せが走っている最中に、大量の DML を行うトランザクションが UNDO 領域を要求した。このとき起こり得る挙動として最も適切なものを選べ。(単一選択)

  1. A未失効(unexpired)の UNDO を上書きしてでも DML を優先し、レポート問合せ側が ORA-01555(スナップショットが古すぎます)になる
  2. B未失効の UNDO は UNDO_RETENTION 期間まで保護されるため上書きできず、UNDO 領域が不足して DML 側が ORA-30036 で失敗する
  3. CUNDO 表領域が AUTOEXTEND OFF でも自動的に拡張され、両方とも成功する
  4. DRETENTION GUARANTEE は読み取り一貫性に無関係で、DML・問合せの挙動は変わらない
正解・解説・誤答理由・ひっかけを見る▼ open
✓ 正解:B✓有資格者監修

解説

RETENTION GUARANTEE は「失効していない(unexpired)UNDO を UNDO_RETENTION 期間が経過するまで絶対に上書きさせない」設定である。 これにより、長時間の問合せが必要とする読み取り一貫性用の UNDO が確実に保護され、ORA-01555(snapshot too old)を防げる。

そのトレードオフとして、UNDO 領域が逼迫し、かつ保護対象(未失効)の UNDO を上書きできないと、 新しい DML 側が UNDO 領域を確保できず失敗する。固定サイズで AUTOEXTEND OFF なので拡張もできず、 典型的には ORA-30036(UNDO 表領域内でセグメントを拡張できません)になる。 つまり「問合せの一貫性を守る代わりに、領域不足時は DML が犠牲になる」。

各誤答が違う理由
  • Aそれは RETENTION NOGUARANTEE(既定)の挙動。保証ありでは未失効 UNDO を上書きしないので、ORA-01555 でなく DML 側がエラーになる。優先順位が逆。
  • CAUTOEXTEND OFF なら自動拡張はしない。両方成功は保証されない。
  • DRETENTION GUARANTEE はまさに読み取り一貫性(長時間問合せの UNDO 保護)のための設定であり、無関係ではない。
ひっかけ: 「保証ありにすればすべて安全」ではない。守るもの(問合せの一貫性)と犠牲になるもの(領域不足時の DML)がトレードオフ。 ORA-01555(問合せ側)と ORA-30036(DML 側)のどちらが出るかが、GUARANTEE / NOGUARANTEE で入れ替わる点が核心。
コマンド例と想定される挙動(未実行)
ORA-30036: UNDO表領域'UNDOTBS1'内でセグメントを拡張できません。
(英語:ORA-30036: unable to extend segment by N in undo tablespace 'UNDOTBS1')
✓有資格者(著者)による書き下ろし解説

有資格者(著者)が監修した問題は、すべて無料サンプルとして公開しています。買う前に、その全部を実際に解いて解説まで読めます。有料で追加される問題はAIが作成したもので、有資格者の監修は入っていません。

この問題集の作り方

  1. 問題と解説はAIが作成しています。有資格者(著者)が監修した問題は、無料サンプルとして公開している分だけです。有料で追加される問題に監修は入っていません。
  2. 各問に、公式ドキュメントの出典リンクを付けています。書いてあることは、出典に当たって確かめられます。
  3. 誤答の選択肢それぞれに、なぜ誤りなのかの理由を書いています。
  4. 誤りを見つけたら報告できます。原則として無償で訂正・削除します。
  5. 各試験の運営団体とは無関係の非公式教材です。合格を保証するものではありません。
この分野をもっと解いて、得点源に
UNDO を含む問題を分野別に演習できます。
演習する →