1Z0-083 対応
フラッシュバック(Flashback Table)難易度 標準無料

誤った UPDATE を 10 分前のコミット前状態に戻したい。UNDO は十分残っており、現在は OPEN 状態。次を実行した。

SQL> FLASHBACK TABLE hr.emp
  2    TO TIMESTAMP (SYSTIMESTAMP - INTERVAL '10' MINUTE);
FLASHBACK TABLE hr.emp
*
ERROR at line 1:
ORA-08189: テーブルに行移動が使用可能ではないため、フラッシュバックできません

このエラーを解消し、目的を達成するために必要な操作として正しいものを選べ。

  1. AALTER TABLE hr.emp ENABLE ROW MOVEMENT; を実行してから再度 FLASHBACK TABLE ... TO TIMESTAMP を実行する
  2. BALTER TABLE hr.emp ENABLE FLASHBACK; を実行してから再実行する
  3. Cデータベースを FLASHBACK DATABASE 可能にするため ALTER DATABASE FLASHBACK ON; を実行する
  4. D表を DROP して FLASHBACK TABLE hr.emp TO BEFORE DROP; で戻す
正解・解説・誤答理由・ひっかけを見る▼ open
✓ 正解:A✓有資格者監修

解説

FLASHBACK TABLE ... TO TIMESTAMP / TO SCN は、UNDO データを使って表の内容を過去の時点へ巻き戻す機能である。 この処理は内部的に行の rowid が変わり得る(行の再配置を伴う)ため、対象表で行移動(row movement)が有効になっている必要がある。

無効のまま実行すると ORA-08189(row movement is not enabled)になる。 したがって ALTER TABLE hr.emp ENABLE ROW MOVEMENT; を実行してから FLASHBACK TABLE ... TO TIMESTAMP を再実行すればよい。

各誤答が違う理由
  • BENABLE FLASHBACK という構文の ALTER TABLE 句は存在しない(表レベルで必要なのは ROW MOVEMENT)。
  • CALTER DATABASE FLASHBACK ON は Flashback Database(DB 全体を巻き戻す=フラッシュバックログ/FRA が必要)の前提であって、本件の FLASHBACK TABLE ... TO TIMESTAMP(UNDO ベース)には不要。別機能を混同している。
  • DTO BEFORE DROP は「DROP した表」をリサイクルビンから復元する機能。本件は表を消したいのではなく UPDATE を戻したいので、わざわざ DROP するのは誤り(データも壊す)。
ひっかけ: 3種のフラッシュバックの混同。 Flashback Table(TO TIMESTAMP/SCN)=UNDO+row movement/ Flashback Drop(TO BEFORE DROP)=リサイクルビン/ Flashback Database=フラッシュバックログ/FRA・DB全体。それぞれ前提(UNDO / recyclebin / flashback logs)が違う。
✓有資格者(著者)による書き下ろし解説

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

この問題集の作り方

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