RMANでノーアーカイブログモードのバックアップ時点に戻す方法(データベース全体リストア)

Oracle Master Bronze

Oracle DatabaseをNOARCHIVELOGモード(アーカイブログ無効)で運用している場合でも、定期的にRMANでバックアップを取得しておけば、万が一障害が発生した際にバックアップ取得時点までデータベースを復旧することが可能です。

本記事では、RMANを使用して「ノーアーカイブログモードのバックアップ時点に戻す方法」を図解付きで丁寧に解説します。

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?


📌 ノーアーカイブログモードとは?

まず、ノーアーカイブログモードとアーカイブログモードの違いをおさらいしておきましょう。

┌─────────────────────────────────┐
│            ログ出力モードの違い           │
├───────────────┬─────────────────┤
│   NOARCHIVELOG モード     │ REDOログは保存されず、上書きされる    │
│   ARCHIVELOG モード     │ REDOログがアーカイブログとして保存される │
────────────────────────────────

NOARCHIVELOGモードでは「完全リカバリ(直前の状態まで復旧)」はできません。
その代わりに、バックアップ取得時点の状態に戻す「全体リストア」が可能です。

ノーアーカイブログモードについてはコチラ。


✅ 前提条件の確認

項目内容
データベースモードNOARCHIVELOGモード
RMANバックアップの取得障害前にBACKUP DATABASEで完全バックアップを取得していること
バックアップ格納先FRAまたは別ディレクトリに確保されている
REDOログやアーカイブログ使用しない(そもそもアーカイブログは出力されていない)

🧭 復旧の全体フロー

┌───────────────────────────────────┐
│        NOARCHIVELOGモードの復旧手順          │
├────────────┬──────────────────────
│ ① RMAN接続 │ ターゲットデータベースへ接続     │
│ ② MOUNTモード起動 │ データベースはマウント状態で起動     │
│ ③ リストア │ バックアップからファイルを復元     │
│ ④ リカバリ(基本) │ 最小限のREDOログを適用(存在する範囲)   │
│ ⑤ OPEN RESETLOGS │ バックアップ時点の状態でデータベースを再開 │
└───────────┴──────────────────────┘

🚫 注意:この復旧では、バックアップ以降に追加・更新されたデータは失われます。


🛠️ 実行手順(コマンド付き)

① RMANでターゲットへ接続

$ rman target /

② データベースをMOUNTモードで起動

STARTUP MOUNT;

アーカイブログが無効なため、マウント状態で復旧作業を行います。

③ バックアップからデータベースをリストア

RESTORE DATABASE;

これにより、事前に取得しておいたデータファイル・制御ファイルが復元されます。

④ 最小限のリカバリを実行(アーカイブログなし)

RECOVER DATABASE;

NOARCHIVELOGモードでは、REDOログファイル内に残っている直近の変更のみ適用されます。アーカイブログが無いため、完全なリカバリはできません。

⑤ OPEN RESETLOGSでデータベースを起動

ALTER DATABASE OPEN RESETLOGS;

このコマンドで、REDOログを再初期化して、データベースをバックアップ時点の状態でオープンします。

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?


⚠️ 注意点まとめ

項目内容
アーカイブログ使用しない。バックアップ以降の変更は復旧できない
ONLINE中のバックアップ不可ノーアーカイブログモードでは業務稼働中のバックアップはできない
RESETLOGSの実行必須ログ再初期化が必要なため、OPEN RESETLOGSでデータベースを再開する

📘 補足:NOARCHIVELOGモードのおすすめ運用

ノーアーカイブログモードは、一般的には開発環境やテスト環境で使用されますが、本番環境で使用する場合は以下のような対策が必要です。

┌────────────────────────────┐
│      NOARCHIVELOGモードの安全な運用例     │
├────────────────────────────┤
│ ✔ 定期的にデータベースを停止してバックアップ     │
│ ✔ REDOログサイズを大きくして頻繁な上書きを防ぐ    │
│ ✔ RMANスクリプトで毎晩自動バックアップ    │
└────────────────────────────┘

✅ まとめ:ノーアーカイブログでもRMANで復旧可能!

アーカイブログが無くても、RMANで取得したバックアップがあれば、バックアップ時点の状態に戻すことが可能です。

┌────────────────────────────┐
│ ノーアーカイブログ × RMANの強み        │
├────────────────────────────┤
│ ✔ バックアップ取得時点に正確に戻せる        │
│ ✔ データベース障害時の復旧が可能        │
│ ✔ シンプルな構成で運用できる        │
└────────────────────────────┘

ただし、更新履歴が残らないためデータロスのリスクが高い点に留意しましょう。
重要な業務では、アーカイブログモードへの移行も検討すべきです。

[参考]
バックアップおよびリカバリ・ユーザーズ・ガイド – 14 RMANのデータ修復の概要

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?

コメント

タイトルとURLをコピーしました