Oracle Databaseを扱うなら避けて通れないのがバックアップとリカバリ。
その中心的な役割を担うのが、Oracle標準のユーティリティである「RMAN(Recovery Manager)」です。
この記事では、RMANの仕組み・特徴・できること・使用例まで、初心者向けに図解付きでわかりやすく解説します。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
RMANとは?
RMAN(Recovery Manager)とは、Oracleが標準で提供しているバックアップおよびリカバリ専用のコマンドラインツールです。
┌──────────────┐
│ RMANの位置づけ │
├──────────────┤
│ Oracleが公式に提供する │
│ バックアップ/復旧ツール │
└──────────────┘
SQL*Plusとは異なり、RMANはデータファイルや制御ファイルなどをファイル単位で扱えるほか、アーカイブログの管理や、リカバリ操作を自動化できるのが特徴です。
RMANの主な特徴とメリット
| 機能・特徴 | 説明 |
|---|---|
| Oracle標準ツール | Oracleが公式に提供しており、追加ライセンス不要 |
| ブロックレベルのバックアップ | 効率的にデータをバックアップ(使用ブロックのみ) |
| アーカイブログの管理が可能 | 自動でアーカイブログの削除などができる |
| 障害時の完全リカバリが可能 | REDOログ・アーカイブログを使ってトランザクションを復旧 |
| 自動スクリプト化・ジョブ化が可能 | 定期実行やシェルスクリプトとの連携で運用自動化 |
| カタログの使用で履歴管理可能 | リカバリ・カタログを用いることで、バックアップ履歴の一元管理が可能 |
RMANでできること【図解あり】
┌──────────────────────────────┐
│ RMANで可能な操作一覧 │
├──────────────────────────────┤
│ ✔ データベース全体のバックアップ │
│ ✔ データファイル単位のバックアップ │
│ ✔ アーカイブログのバックアップと削除 │
│ ✔ 制御ファイル/SPFILEのバックアップ │
│ ✔ 不完全リカバリ(時点/SCN/ログシーケンス)│
│ ✔ バックアップの検証、リストア │
└──────────────────────────────┘
バックアップと復旧が、1つのツールで統合的に行えるのがRMAN最大の利点です。
バックアップモード別の違い
RMANの利用には、データベースがARCHIVELOGモードであることが望ましいです。
| モード | バックアップ可否 | 備考 |
|---|---|---|
| NOARCHIVELOGモード | 停止時のみ可能 | オンラインバックアップ不可。運用には不向き |
| ARCHIVELOGモード | 常時可能 | 業務稼働中でもバックアップ可能。RMANの力を発揮 |
実行例:RMANでのバックアップ操作
以下はRMANでのデータベース全体のバックアップ例です。
$ rman target /
RMAN> BACKUP DATABASE FORMAT '/backup/backup_%U.bkp';
また、アーカイブログと制御ファイルのバックアップも以下のように実行できます。
RMAN> BACKUP ARCHIVELOG ALL DELETE INPUT;
RMAN> BACKUP CURRENT CONTROLFILE;
スクリプト化して定期実行することも可能です。
RMANでのリカバリの流れ【図解】
障害時には、次のような流れで復旧が可能です。
┌──────────────┐
│ RMANリカバリの流れ │
├──────────────┤
│① バックアップをリストア │
│② アーカイブログを適用 │
│③ データベースをオープン │
└──────────────┘
実行例:
RMAN> RESTORE DATABASE;
RMAN> RECOVER DATABASE;
RMAN> ALTER DATABASE OPEN;
必要に応じて、時点を指定した不完全リカバリ(Point In Time Recovery)も可能です。
RMANの基本構成とカタログの活用
RMANはデフォルトで制御ファイル内にバックアップ情報を保存しますが、リカバリ・カタログ(Recovery Catalog)と呼ばれる専用スキーマを用いることで、バックアップ情報をデータベース外に保持することも可能です。
┌─────────────┐
│ RMAN情報の保存場所 │
├─────────────┤
│ ・制御ファイル │
│ ・リカバリ・カタログ(任意) │
└─────────────┘
リカバリ・カタログを使うと、制御ファイルが消失しても履歴が保持されるため、より高信頼な運用が可能です。
RMANを使うための前提条件
| 項目 | 条件・推奨設定 |
|---|---|
| Oracleバージョン | ほとんどのバージョンで使用可能(Oracle9i以降) |
| アーカイブログモードの有効化 | オンラインバックアップとリカバリには必須 |
| FRA(高速リカバリ領域) | RMANの出力先として設定可能。容量には注意 |
| パラメータ設定 | CONTROL_FILE_RECORD_KEEP_TIME の設定も検討すると良い |
まとめ:RMANはOracle運用の必須スキル!
RMANは、Oracleデータベースを安全かつ効率的に運用するために欠かせないバックアップ&リカバリの基幹ツールです。コマンドラインで操作するため最初は難しく感じるかもしれませんが、覚えることで以下のような効果があります。
┌─────────────────────────────┐
│ RMANを使うメリットまとめ │
├─────────────────────────────┤
│ ✔ 安全で効率的なバックアップが可能 │
│ ✔ 障害復旧を迅速に行える │
│ ✔ 自動化で運用負荷を軽減 │
│ ✔ リカバリカタログで履歴管理も強化できる │
└─────────────────────────────┘
今後の記事では、実践的なRMANスクリプトや、増分バックアップ、高速リカバリなども紹介していきます。ぜひブックマークして学習を進めてください!
[参考]
バックアップおよびリカバリ・ユーザーズ・ガイド – 2 RMANの概要
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?




コメント