Oracleデータベースのバックアップとリカバリを効率的に行うためのツールとして、Recovery Manager(RMAN)は非常に強力です。本記事では、RMANの特徴を解説した後、一貫性バックアップと非一貫性バックアップについて詳しく説明します。さらに、それぞれの選択基準や具体的な利用例を補足します。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
RMANの特徴
1. Oracle標準のバックアップツール
RMANはOracleが公式に提供しているバックアップツールであり、他の外部ツールと異なりOracleデータベースに完全に統合されています。これにより、データベースの構造や内部動作を理解した効率的なバックアップとリカバリが可能です。
利用例:
例えば、大規模な金融機関で日々生成される大量のデータを効率的に管理するためにRMANが使用されています。これにより、短時間で信頼性の高いバックアップが可能です。
2. 自動化機能
RMANは多くの操作を自動化できます。特にバックアップの取得、ファイルの管理、リカバリ操作において、高い柔軟性と自動化を提供します。
利用例:
自動スケジュール設定を使用して、深夜に定期バックアップを実行するシナリオが一般的です。これにより、業務時間中の影響を最小限に抑えられます。
3. 増分バックアップ
RMANでは増分バックアップが可能です。変更があったデータブロックのみをバックアップすることで、バックアップ処理の時間やストレージの消費を大幅に削減できます。
利用例:
オンラインショップのデータベースで増分バックアップを毎日実行し、週末にフルバックアップを取得する設定がよく採用されます。
4. 一貫性と整合性の保証
RMANはバックアップの一貫性を保証し、破損したブロックを検出して修正する機能を持っています。また、データベースの整合性を確保するためのチェックも自動的に行います。
利用例:
頻繁なトランザクションが発生する金融機関では、データの整合性が特に重要であり、RMANの検証機能が活躍します。
5. 暗号化と圧縮
RMANはバックアップデータの暗号化と圧縮に対応しており、セキュリティとストレージ効率を向上させます。
利用例:
機密情報を扱う医療機関でのバックアップデータの保護において、暗号化が必須です。
6. データ復旧シナリオの多様性
RMANは、障害発生時にデータベース全体、特定の表領域、または個別のデータファイルをリカバリするための柔軟なオプションを提供します。
利用例:
特定の表領域のみを迅速に復旧する必要がある災害復旧シナリオに適しています。
一貫性バックアップと非一貫性バックアップ
RMANを使用する際、バックアップの一貫性が重要な概念となります。以下でそれぞれを詳しく解説します。
一貫性バックアップ(Consistent Backup)
一貫性バックアップとは、すべてのデータファイルが整合性のある状態でバックアップされていることを指します。このバックアップは、データベースが正常にシャットダウンされた後に取得されることが一般的です。
特徴:
- 整合性の確保: データベースが完全にシャットダウンされているため、データファイル間に矛盾が生じません。
- アーカイブログモード不要: データベースがノーアーカイブログモードでも取得可能です。
- リカバリ不要: 一貫性が保たれているため、リストア後のリカバリ操作が不要です。
注意点:
- データベースのシャットダウンが必要であるため、ダウンタイムが発生します。
利用例:
システムメンテナンスのタイミングでデータベースを完全停止させ、一貫性バックアップを取得します。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
取得例:
[oracle@v19single ~]$ rman target / ★RMANに接続
Recovery Manager: Release 19.0.0.0.0 - Production on 月 1月 27 10:42:45 2025
Version 19.21.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
ターゲット・データベース: V19 (DBID=2957249400)に接続されました
RMAN> shutdown immediate ★データベースを停止
リカバリ・カタログのかわりにターゲット・データベース制御ファイルを使用しています
データベースがクローズしました
データベースがディスマウントされました。
Oracleインスタンスがシャットダウンしました
RMAN> startup mount ★マウントで起動
ターゲット・データベースに接続しました(起動していません)。
Oracleインスタンスが起動しました
データベースがマウントされました。
システム・グローバル領域の合計は、 1543500120バイトです。
Fixed Size 8925528バイト
Variable Size 889192448バイト
Database Buffers 637534208バイト
Redo Buffers 7847936バイト
RMAN> backup database; ★バックアップ
backupを25-01-27で開始しています
チャネル: ORA_DISK_1が割り当てられました
チャネルORA_DISK_1: SID=37 デバイス・タイプ=DISK
チャネルORA_DISK_1: フル・データファイル・バックアップ・セットを開始しています
チャネルORA_DISK_1: バックアップ・セットにデータファイルを指定しています
入力データファイル ファイル番号=00001 名前=/u01/app/oracle/oradata/V19/system01.dbf
入力データファイル ファイル番号=00004 名前=/u01/app/oracle/oradata/V19/undotbs01.dbf
入力データファイル ファイル番号=00003 名前=/u01/app/oracle/oradata/V19/sysaux01.dbf
入力データファイル ファイル番号=00007 名前=/u01/app/oracle/oradata/V19/users01.dbf
チャネルORA_DISK_1: ピース1 (25-01-27)を起動します
チャネルORA_DISK_1: ピース1 (25-01-27)が完了しました
ピース・ハンドル=/u01/app/oracle/product/19.0.0/dbhome_1/dbs/013g9h17_1_1_1 タグ=TAG20250127T104455 コメント=NONE
チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:25
backupを25-01-27で終了しました
Control File and SPFILE Autobackupを25-01-27で開始しています
ピース・ハンドル=/u01/app/oracle/product/19.0.0/dbhome_1/dbs/c-2957249400-20250127-00 コメント=NONE
Control File and SPFILE Autobackupを25-01-27で終了しました
RMAN>
非一貫性バックアップ(Inconsistent Backup)
非一貫性バックアップは、データベースがオープン状態またはマウント状態でバックアップされる場合に発生します。これにはアーカイブログモードが必要です。
特徴:
- 運用中に取得可能: データベースを停止せずにバックアップを取得できるため、ダウンタイムが発生しません。
- リカバリが必要: 一貫性が保たれていないため、リストア後にアーカイブログファイルを使用したリカバリ操作が必要です。
注意点:
- アーカイブログモード必須: アーカイブログモードが有効化されていないと利用できません。
- パフォーマンスへの影響: バックアップ中にデータベースのパフォーマンスが若干低下する可能性があります。
利用例:
24時間稼働するECサイトでのバックアップ運用において、非一貫性バックアップが使用されます。
取得例:
[oracle@v19single ~]$ rman target / ★RMANに接続
Recovery Manager: Release 19.0.0.0.0 - Production on 月 1月 27 10:56:26 2025
Version 19.21.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
ターゲット・データベース: V19 (DBID=2957249400)に接続されました
RMAN> select status from v$instance;
リカバリ・カタログのかわりにターゲット・データベース制御ファイルを使用しています
STATUS
------------
OPEN ★オープン
RMAN> select log_mode from v$database;
LOG_MODE
------------
ARCHIVELOG ★アーカイブログモード
RMAN> BACKUP DATABASE PLUS ARCHIVELOG; ★バックアップ
backupを25-01-27で開始しています
現在のログがアーカイブされました。
チャネル: ORA_DISK_1が割り当てられました
チャネルORA_DISK_1: SID=74 デバイス・タイプ=DISK
チャネルORA_DISK_1: アーカイブ・ログ・バックアップ・セットを開始しています
チャネルORA_DISK_1: バックアップ・セットにアーカイブ・ログを指定しています
入力アーカイブ・ログ・スレッド=1 順序=12 レコードID=1 スタンプ=1191495367
入力アーカイブ・ログ・スレッド=1 順序=13 レコードID=2 スタンプ=1191495374
入力アーカイブ・ログ・スレッド=1 順序=14 レコードID=3 スタンプ=1191495379
入力アーカイブ・ログ・スレッド=1 順序=15 レコードID=4 スタンプ=1191495451
チャネルORA_DISK_1: ピース1 (25-01-27)を起動します
チャネルORA_DISK_1: ピース1 (25-01-27)が完了しました
ピース・ハンドル=/u01/app/oracle/product/19.0.0/dbhome_1/dbs/033g9hor_3_1_1 タグ=TAG20250127T105731 コメント=NONE
チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:01
backupを25-01-27で終了しました
backupを25-01-27で開始しています
チャネルORA_DISK_1の使用
チャネルORA_DISK_1: フル・データファイル・バックアップ・セットを開始しています
チャネルORA_DISK_1: バックアップ・セットにデータファイルを指定しています
入力データファイル ファイル番号=00001 名前=/u01/app/oracle/oradata/V19/system01.dbf
入力データファイル ファイル番号=00004 名前=/u01/app/oracle/oradata/V19/undotbs01.dbf
入力データファイル ファイル番号=00003 名前=/u01/app/oracle/oradata/V19/sysaux01.dbf
入力データファイル ファイル番号=00007 名前=/u01/app/oracle/oradata/V19/users01.dbf
チャネルORA_DISK_1: ピース1 (25-01-27)を起動します
チャネルORA_DISK_1: ピース1 (25-01-27)が完了しました
ピース・ハンドル=/u01/app/oracle/product/19.0.0/dbhome_1/dbs/043g9hot_4_1_1 タグ=TAG20250127T105733 コメント=NONE
チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:15
backupを25-01-27で終了しました
backupを25-01-27で開始しています
現在のログがアーカイブされました。
チャネルORA_DISK_1の使用
チャネルORA_DISK_1: アーカイブ・ログ・バックアップ・セットを開始しています
チャネルORA_DISK_1: バックアップ・セットにアーカイブ・ログを指定しています
入力アーカイブ・ログ・スレッド=1 順序=16 レコードID=5 スタンプ=1191495468
チャネルORA_DISK_1: ピース1 (25-01-27)を起動します
チャネルORA_DISK_1: ピース1 (25-01-27)が完了しました
ピース・ハンドル=/u01/app/oracle/product/19.0.0/dbhome_1/dbs/053g9hpc_5_1_1 タグ=TAG20250127T105748 コメント=NONE
チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:01
backupを25-01-27で終了しました
Control File and SPFILE Autobackupを25-01-27で開始しています
ピース・ハンドル=/u01/app/oracle/product/19.0.0/dbhome_1/dbs/c-2957249400-20250127-01 コメント=NONE
Control File and SPFILE Autobackupを25-01-27で終了しました
RMAN>
まとめ
RMANはOracleデータベースのバックアップとリカバリを効率的に行うための強力なツールです。一貫性バックアップは完全な整合性を提供しますが、ダウンタイムが発生するため運用停止が許容される環境に適しています。一方、非一貫性バックアップは運用中でもバックアップ可能ですが、アーカイブログモードとリカバリ操作が必要です。用途に応じて適切なバックアップ方式を選択し、システム要件や運用形態に合った戦略を立てましょう。
さらに、定期的にバックアップポリシーを見直し、災害発生時の迅速な復旧を可能にする計画を整備することが重要です。
[参考]
Oracle Database バックアップおよびリカバリ・ユーザーズ・ガイド 19c
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?




コメント