Loading...

We've detected that your browser language is Chinese. Would you like to visit our Chinese website? [ Dismiss ]
著者: Fangdi

Oracle RMANバックアップとは何か

Oracle Recovery Manager(RMAN)はOracle Database向けに標準搭載されたネイティブなバックアップ・リカバリユーティリティです。全Oracleバージョン、特に現在企業で最も普及しているOracle 19cにおいて、データファイル、制御ファイル、SPFILE、アーカイブREDOログを保護する業界標準ツールとして定着しています。

RMANはOracleカーネルと直接連携するため、ブロック単位のバックアップ、増分ブロック追跡、破損検知、自動リカバリ機能を実現できます。

OSコピーやコールドバックアップといった従来のファイル単位バックアップと比較し、RMANには以下のメリットがあります。

  • ブロック単位の増分バックアップ(容量・時間を削減)
  • 標準搭載のデータ破損検知・検証機能
  • 制御ファイルの自動バックアップ
  • 業務停止なしで一貫性のあるバックアップを作成可能
  • Oracle 19cのCDB/PDB、TDE、Data Guardに完全対応

oracle rman backup

Oracle RMANバックアップの種類

普及が進むOracle 19c環境を含むRMAN運用環境では、業務負荷とリカバリ目標に基づいてバックアップ方針を設計するのが一般的です。

RMANのバックアップ方式は3つの核心タイプに分類され、いずれもOracle 19cで完全にサポートされています。

  • フルバックアップ:データファイルと任意のアーカイブログを含むデータベース全体の完全コピー。毎週の基準バックアップや小規模DBに活用。
  • 増分バックアップ:前回バックアップ以降に変更されたブロックのみを保存し、ストレージ使用量とバックアップ時間を削減。
  • アーカイブログバックアップ:リカバリ処理に必要なREDOログを保護するバックアップ。
  • Oracle 19c限定機能:PDBバックアップ:CDB全体に影響を与えず、単一のプラガブルデータベースのみを個別にバックアップ可能。

Oracle RMANバックアップ実行の前提条件

RMANバックアップを実行する前に、タスクの正常実行とリカバリの信頼性を確保するため、データベース・環境の事前チェックを実施する必要があります。

データベース状態の確認

まずOracleデータベースが起動し、アクセス可能な状態か確認します。RMANはバックアップ開始前に対象インスタンスが正常稼働していることを要求します。

SQL*Plusで以下のクエリを実行します。

bash
SELECT NAME, OPEN_MODE FROM V$DATABASE;

OPEN_MODEの値は通常「READ WRITE」と表示され、データベースが完全稼働状態であることを示します。

ARCHIVELOGモードの確認

RMANは特定時点リカバリと増分バックアップにアーカイブREDOログを活用します。バックアップ設定前に、データベースがARCHIVELOGモードで起動しているか確認します。

下記コマンドで確認可能です。

bash
ARCHIVE LOG LIST;

ARCHIVELOGモードが無効な場合、以下の手順で有効化します。

bash
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;

ARCHIVELOGモードを有効にすると、Oracleがトランザクションの変更履歴を継続的にアーカイブするため、企業向けバックアップ・災害復旧・データベースリカバリに不可欠な環境となります。

RMANへの接続

データベース設定の確認完了後、RMANユーティリティに接続します。

ローカルデータベースへ接続する場合:

bash
rman target /

リモートデータベースへ接続する場合:

bash
rman target sys/password@ORCL

RMAN接続が正常に完了すると、管理者はコマンドラインからバックアップポリシーの設定、バックアップジョブ実行、リカバリ処理を実施できます。

Oracle RMANバックアップの設定方法

事前チェック完了後、次はRMANバックアップパラメータの設定です。適切な設定を行うことで、バックアップ効率、ストレージ管理、リカバリの信頼性が向上します。

保存期間ポリシーの設定

保存期間ポリシーは、RMANがバックアップファイルを古いバックアップとして削除対象とするまでの保管期間を定義します。

バックアップを7日間保管する設定:

bash
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

または、バックアップを2世代分保持する設定:

bash
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;

保存期間ポリシーはストレージ容量とリカバリ要件のバランスを調整する役割を持ち、長期的なバックアップ管理に不可欠です。

バックアップ最適化の有効化

バックアップ最適化機能を有効にすると、ディスク上に既存の同一アーカイブログ・バックアップセットを重複してバックアップしなくなります。

下記コマンドで有効化:

bash
CONFIGURE BACKUP OPTIMIZATION ON;

不要なストレージ消費を削減し、定期的なバックアップ運用環境でのバックアップ時間短縮に貢献します。

圧縮バックアップセットの設定

RMANは圧縮バックアップセットに対応し、必要なストレージ容量を削減できます。

圧縮バックアップを有効にするコマンド:

bash
CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET;

大容量Oracleデータベースでストレージ効率とネットワーク帯域削減が重要な場合、圧縮バックアップが特に有効です。

制御ファイル自動バックアップの有効化

Oracle制御ファイルにはデータベース構造とリカバリに関する重要なメタデータが格納されています。自動バックアップを有効にすることで、この情報を常に保護可能です。

制御ファイル自動バックアップ設定コマンド:

bash
CONFIGURE CONTROLFILE AUTOBACKUP ON;

本設定を有効にすると、バックアップ実行後やデータベース構造変更時にRMANが自動的に制御ファイルをバックアップし、災害時のリカバリ信頼性を高めます。

Oracle RMANによるバックアップ・リカバリ実行手順

RMANはデータ損失、データ破損、予期せぬシステム障害からOracleデータベースを守るため、複数のバックアップ・リカバリ手法を提供します。Oracle 19c環境で多用される操作として、フルバックアップ、増分バックアップ、アーカイブログバックアップ、データベースリカバリ手順が挙げられます。

Oracle RMAN backup and dr

Oracle RMANバックアップの実行方法

バックアップを開始する前に、OracleサーバーからRMANユーティリティへ接続します。

  • データベースフルバックアップ

RMANフルバックアップは、データファイルとアーカイブREDOログを含むDB全体の完全コピーを作成します。

下記コマンドを実行:

bash
BACKUP DATABASE PLUS ARCHIVELOG;

アーカイブログを同時にバックアップすることで、データベースを最新のコミット状態まで完全にリカバリ可能になります。

  • 圧縮バックアップ

ストレージ容量に制限がある環境では、RMANの圧縮バックアップセット機能を利用できます。

bash
BACKUP AS COMPRESSED BACKUPSET DATABASE;

圧縮バックアップはストレージ消費量とネットワーク転送量を削減するため、大規模本番データベースに適しています。

  • 自動実行スクリプト

RMANバックアップタスクはRUNブロックと定期実行スクリプトによって自動化可能です。

bash
RUN {  
BACKUP DATABASE PLUS ARCHIVELOG;  
DELETE OBSOLETE;
}

上記例はデータベースバックアップを実行し、事前設定した保存期間ポリシーに基づき古いバックアップファイルを自動削除します。

  • 増分バックアップ

増分バックアップは変更されたデータブロックのみを取得するため、バックアップ時間とストレージ使用量を削減します。

  • レベル0増分バックアップ

レベル0バックアップは、後続の増分バックアップの基準となる完全バックアップです。

bash
BACKUP INCREMENTAL LEVEL 0 DATABASE;
  • レベル1差分増分バックアップ

レベル1差分バックアップは、直近のレベル1またはレベル0バックアップ以降の変更点を保存します。

bash
BACKUP INCREMENTAL LEVEL 1 DATABASE;
  • レベル1累積増分バックアップ

累積バックアップは、前回のレベル0バックアップ以降のすべての変更点を保存します。

bash
BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE;

累積バックアップは復元時に使用するバックアップセット数を少なく抑えられるため、リカバリ作業を簡素化します。

  • アーカイブログのバックアップ

アーカイブログバックアップは特定時点リカバリや災害復旧方針に不可欠です。

  • すべてのアーカイブログをバックアップする場合:
bash
BACKUP ARCHIVELOG ALL;
  • データベースとアーカイブログを一括バックアップする場合:
bash
BACKUP DATABASE PLUS ARCHIVELOG;
  • バックアップ完了後にアーカイブログを自動削除する場合:
bash
BACKUP ARCHIVELOG ALL DELETE INPUT;

バックアップ後にアーカイブログを削除することで、リカバリ機能を維持しつつストレージ容量を管理できます。

RMANバックアップからOracleデータベースをリストアする方法

RMANのリカバリ機能により、ハードウェア障害、データ破損、誤削除、ランサムウェア被害後にデータベースを復元可能です。Oracle 19c環境ではPDB単位のリカバリ、ブロックリカバリ、高度な特定時点リカバリにも対応しています。

  • データベース完全リカバリの実行

完全リカバリは障害発生前の最新の一貫性状態までデータベースを復元します。

bash
RESTORE DATABASE;
RECOVER DATABASE;
ALTER DATABASE OPEN;

本リカバリ方式はストレージ障害やDB全体のデータ消失時に広く活用されます。

  • 特定時点リカバリ(PITR)の実行

特定時点リカバリは、誤操作や障害が発生する前の任意のタイムスタンプまでDBを復元します。

bash
# 例:ESXi / Linuxコマンド(日時は実環境に合わせて変更)
RUN {  
SET UNTIL TIME "TO_DATE('2026-05-14 10:00:00','YYYY-MM-DD HH24:MI:SS')";
RESTORE DATABASE;  
RECOVER DATABASE;
}

PITRはデータの誤削除、論理的データ破損、アプリケーション不具合からの復旧に有効です。

  • 特定のデータファイルを復元・リカバリ

RMANはデータベース全体を復元せず、単一のデータファイルまたは表領域のみを復元する機能に対応しています。

  • 特定データファイルの復元・リカバリ:
bash
RESTORE DATAFILE 1;
RECOVER DATAFILE 1;

障害の発生したDB部品のみを対象にリカバリするため、業務停止時間を最小限に抑えられます。

  • ブロックメディアリカバリの実行

RMANのブロックリカバリは、データファイル全体を復元せず、破損したデータブロックのみ修復します。

bash
BLOCKRECOVER DATAFILE 5 BLOCK 100;

局所的なブロック破損時のリカバリ時間を短縮し、システムへの影響を抑えます。

Oracle標準RMANバックアップの課題

RMANは強力な標準搭載ツールですが、大規模企業環境では以下の制限が存在します。

  • 複数データベースを一括管理する統合管理機能がない
  • クロスプラットフォーム災害復旧の自動化機能が限定的
  • 監視機能が簡素で、標準搭載のアラート通知がない
  • 改ざん不可な不変バックアップ機能が標準搭載されておらず、ランサムウェアリスクが残る
  • 大規模運用時のOracle 19c PDB管理が複雑

企業向けOracle RMAN統合バックアップソリューション

RMANはフルバックアップ、増分バックアップ、特定時点リカバリといった基幹的なバックアップ・リカバリ機能を標

概要は準備中です

関連記事

Windows Server バックアップソリューション:主要製品比較【2026 年】
適切なWindows Serverバックアップソリューションを選ぶかどうかで、復旧に数分しかかからない場合と、数日間のシステム停止を強いられる場合の差が生まれます。本ガイドで主要製品を比較し、自社環境に適したソリューションを見つけましょう。
記事を読む
OS、データベース、クラウドにおけるストレージ容量回収方法
ファイル削除は一工程に過ぎません。真の容量回収とは、無駄に消費された隠れた断片化ストレージ領域を取り戻すことを指します。本ガイドではOS、データベース、クラウド環境それぞれで実施可能な容量回収手法を解説します。
記事を読む
SQL Serverにおけるテーブルのバックアップ方法【完全ガイド】
SELECT INTO、スクリプト生成、BCP、インポート/エクスポートウィザードを活用したSQL Serverテーブルのバックアップ手法を解説。各手法のメリット・制限点、企業向け復旧のベストプラクティスを紹介します。
記事を読む
SQL Serverあり/なしで.BAKファイルを開く方法
本記事では、SQL Serverを使用する場合・使用しない場合それぞれの.BAKファイル開き方を詳しく解説します。BAK→Excelコンバーターの利用、Excelへの出力、SQL Server Management Studioによる復元のいずれかの方法でBAKファイルの内容を確認できます。
記事を読む
ビジネスデータのセキュリティ強化を始めませんか?

· 世界中のエンタープライズおよびミッドマーケットのお客様

· トライアル期間中、サポートチームが対応します

· 60日間の無料トライアルまたはデモで、Info2Softが企業データをどのように保護するかをご確認ください。

フォームにご記入の上、送信してください。担当者より追ってご連絡いたします。
このフォームを送信することにより、 プライバシー通知を読み、同意したことを確認します。
{{ isSubmitting ? '送信中...' : '送信する' }}