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専門のエージェントで非公開求人をチェックしてみませんか?




コメント