RMAN(アールマン)とは | 意味や読み方など丁寧でわかりやすい用語解説
RMAN(アールマン)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。
読み方
日本語表記
アールマン (アーマン)
英語表記
RMAN (アールマン)
用語解説
RMAN (Recovery Manager) とは、Oracleデータベース専用のバックアップおよびリカバリを行うための強力なユーティリティである。データベース管理者が直面する最も重要な課題の一つに、データ損失の防止と迅速なシステム復旧があるが、RMANはその課題を解決するために設計された。RMANを使うことで、データベース全体のバックアップはもちろん、特定の表領域やデータファイルのバックアップ、さらには増分バックアップといった効率的なバックアップも可能になる。また、障害発生時には、バックアップデータとアーカイブREDOログ(データベースへの変更履歴を記録したファイル)を使用して、データベースを特定の時点や最新の状態に復旧させることができる。従来のOSコマンドやSQL*Plusを組み合わせた手動でのバックアップ・リカバリと比較して、RMANははるかに高度な機能と自動化を提供し、データベースの可用性と信頼性を大幅に向上させるため、Oracleデータベースの運用において不可欠なツールとなっている。
RMANの詳細について掘り下げると、その多岐にわたる機能と仕組みが理解できる。RMANは、ターゲットデータベース(バックアップ対象のデータベース)に接続して動作する。バックアップデータの格納場所としては、ディスク上やテープデバイス、クラウドストレージなどを指定できる。
RMANの主な機能の一つは、さまざまな種類のバックアップ作成機能である。 まず、「完全バックアップ」は、指定されたデータファイル、制御ファイル、サーバーパラメータファイルを含むすべてのデータをバックアップする。次に「増分バックアップ」は、前回のバックアップ以降に変更されたデータブロックのみをバックアップする効率的な方法である。増分バックアップには、レベル0(完全バックアップに相当)と、レベル1(レベル0または前回のレベル1バックアップ以降の変更をバックアップ)がある。レベル1バックアップはさらに「差分増分バックアップ」(前回のレベル0またはレベル1バックアップ以降に変更されたブロックを全て含む)と「累積増分バックアップ」(前回のレベル0バックアップ以降に変更されたブロックを全て含む)に分けられ、これらを適切に利用することで、バックアップ時間を短縮し、ストレージ容量を節約できる。
リカバリ機能もRMANの核となる部分である。RMANは、バックアップとアーカイブREDOログを組み合わせて、データベースを障害発生前の状態に復旧させる。これには、全データベースのリカバリはもちろん、特定のデータファイルや表領域のみをリカバリする「ポイントインタイムリカバリ(PITR)」も可能である。PITRでは、指定した日時やSCN(System Change Number、データベースの変更を識別する番号)の状態にデータベースを戻すことができる。また、データベースの特定のデータブロックに破損が見つかった場合でも、「ブロックメディアリカバリ」という機能で、その破損したブロックのみを修復することも可能である。
RMANの運用において、重要な要素の一つに「リカバリカタログ」がある。これは、RMANが実行したすべてのバックアップ、リカバリ、コピー操作に関するメタデータ(情報)を格納する別のデータベース上のスキーマである。リカバリカタログを使用しない場合、RMANはターゲットデータベースの制御ファイルにバックアップ情報を格納するが、制御ファイル自体が破損したり、データベースが完全に失われたりした場合、バックアップ情報へのアクセスが困難になる可能性がある。リカバリカタログを使用することで、バックアップの履歴がより長期にわたって管理され、複雑なリカバリシナリオにも対応しやすくなるため、大規模なシステムでは利用が強く推奨される。もちろん、リカバリカタログ自体も定期的にバックアップしておく必要がある。
RMANのアーキテクチャでは、RMANクライアントはターゲットデータベースのサーバープロセスと通信し、バックアップやリカバリの操作を実行する。これらの操作は、バックアップセット(RMANが生成する独自の形式のバックアップファイル)としてディスク上に保存されるか、メディア管理ソフトウェアを介してテープデバイスに書き込まれる。RMANは、バックアップセットに複数のデータファイルを格納し、重複ブロックを排除するなどして効率的に保存する。
RMANを利用するメリットは多岐にわたる。 第一に、「自動化と簡素化」が挙げられる。RMANは、バックアップ戦略の計画から、バックアップの実行、世代管理、そしてリカバリまで、一連の作業を自動化し、データベース管理者の負担を軽減する。 第二に、「堅牢性と信頼性」である。RMANはバックアップ中にデータブロックの破損を検出し、リカバリ時に破損したブロックを自動的にスキップしたり、修復したりできる。また、バックアップの有効性を検証する機能も提供し、いざという時のリカバリの成功率を高める。 第三に、「効率性」である。増分バックアップは変更されたデータのみを対象とするため、バックアップ時間とストレージ消費量を大幅に削減する。さらに、バックアップとリカバリの操作は並列で実行できるため、大規模データベースでの処理時間を短縮できる。 第四に、「柔軟性」がある。データベースの全体リカバリだけでなく、特定の表領域やデータファイルのみのリカバリ、ポイントインタイムリカバリ、ブロックメディアリカバリなど、多様な障害シナリオに対応する柔軟なリカバリオプションを提供する。また、バックアップから新しいデータベースを作成する「DUPLICATE DATABASE」機能も提供し、テスト環境の構築や災害復旧のためのスタンバイデータベース作成に役立つ。
RMANの運用において重要なのは、定期的なバックアップポリシーの策定と、実際にリカバリが可能であるかどうかの「テストリカバリ」を定期的に実施することである。バックアップがあっても、リカバリが正しく行えるかを確認しなければ意味がないため、テストリカバリは非常に重要なプロセスとなる。適切なRMANの運用は、ITシステムの健全性を保ち、ビジネスの継続性を確保するために不可欠である。