マルチテナント(PDB ポイントインタイムリカバリ)難易度 高無料
ローカル UNDO・ARCHIVELOG モードの CDB がある。ある PDB HRPDB だけで誤った一括更新が行われ、その直前の時刻へ HRPDB のみを巻き戻したい。他の PDB(SALESPDB など)や CDB$ROOT はオンラインのまま稼働を続けさせたい。RMAN で次を実行する。
RMAN> RECOVER PLUGGABLE DATABASE hrpdb
2 UNTIL TIME "TO_DATE('2026-07-03 09:00:00','YYYY-MM-DD HH24:MI:SS')";
RMAN> ALTER PLUGGABLE DATABASE hrpdb OPEN RESETLOGS;
この PDB ポイントインタイムリカバリ(PDB PITR)の挙動として最も適切なものを選べ。(単一選択)
- A対象
HRPDBだけが指定時刻へ巻き戻り、他の PDB とCDB$ROOTはオンラインのまま影響を受けない。ローカル UNDO なら補助インスタンス無しで実施でき、ARCHIVELOG が前提である - BPDB PITR は CDB 全体を指定時刻へ巻き戻すため、実行中は全 PDB と
CDB$ROOTをMOUNTに落とす必要がある - C巻き戻し後は
ALTER PLUGGABLE DATABASE ... OPEN(RESETLOGS不要)で通常どおり開ける - DPDB PITR は NOARCHIVELOG モードでも、直近の全体バックアップさえあれば任意時刻へ戻せる
正解・解説・誤答理由・ひっかけを見る▼ open
✓ 正解:AAI作成・独立検証済
解説
PDB ポイントインタイムリカバリ(PDB PITR)は、対象 PDB だけを過去の時点へ巻き戻す。CDB 全体を止める必要はなく、
他の PDB と CDB$ROOT はオンラインのまま影響を受けないのが最大の利点である。
手順は、対象 PDB をクローズ(MOUNTED 相当)にして RECOVER PLUGGABLE DATABASE ... UNTIL TIME/SCN で不完全リカバリし、
ALTER PLUGGABLE DATABASE ... OPEN RESETLOGS で開く。ローカル UNDOだと補助(auxiliary)インスタンスを別途用意せずに済み、PDB PITR がすっきり行える
(共有 UNDO では補助インスタンスが必要になる)。ARCHIVELOG が前提。
巻き戻すのは対象 PDB のデータのみ。CDB 全体を UNTIL TIME で戻すわけではないので、他業務は継続できる。
- BPDB PITR は対象 PDB のみを巻き戻す。CDB 全体を止めたり全 PDB を巻き戻したりはしない(それでは PDB 単位の意味がない)。
- C不完全リカバリ(
UNTIL)の後はOPEN RESETLOGSが必要。単なるOPENでは開かない。 - DNOARCHIVELOG ではアーカイブ REDO が無く、任意時点までの不完全リカバリはできない。PDB PITR は ARCHIVELOG が前提。
ひっかけ: 「PDB を過去に戻す=CDB 全体を戻す(=全 PDB が巻き戻る/CDB を止める)」という誤解。PDB PITR は対象 PDB だけに閉じる。
また PDB PITR とローカル/共有 UNDO の関係(共有 UNDO は補助インスタンスが要る)も頻出。
コマンド例と想定される挙動(未実行)
RECOVER PLUGGABLE DATABASE hrpdb UNTIL TIME ... → HRPDB のみ対象時刻へ。 他 PDB・CDB$ROOT は稼働継続(1つの PDB を PITR しても残りの PDB は影響を受けず、OPEN のまま運用できる)。 OPEN RESETLOGS 後は HRPDB の新しいインカネーション(PDB サブインカネーション)で再オープンされる。
AIが作成し、独立した検証を経た解説です(有資格者による監修は経ていません)