すべてのプロダクト
Search
ドキュメントセンター

Data Management:サードパーティクラウドまたは自己管理 Oracle データベースでホストされている Oracle データベースの物理バックアップとリストア

最終更新日:Mar 21, 2025

データディザスタリカバリ は、Windows または Linux オペレーティングシステムで実行されている Oracle データベースの物理バックアップをサポートしています。 シングルインスタンスデータベース、Data Guard 物理スタンバイデータベース、リアルアプリケーションクラスタ (RAC) データベースなど、さまざまなアーキテクチャの Oracle データベースをバックアップできます。

このトピックでは、Oracle データベースを物理的にバックアップする方法について説明します。 論理バックアップの詳細については、「サードパーティクラウドまたは自己管理 Oracle データベースでホストされている Oracle データベースの論理バックアップとリストア」をご参照ください。

サポートされている Oracle データベース

シングルインスタンスデータベース、自動ストレージ管理 (ASM) ベースのシングルインスタンスデータベース、Data Guard 物理スタンバイデータベース、および RAC データベースは物理的にバックアップできます。

説明
  • Oracle RAC データベースのデータが正常にバックアップされるようにするには、データをバックアップする前に、データベースの次の項目を確認する必要があります。データベースの制御ファイル、サーバーパラメータファイル (SPFILE)、データファイル、アーカイブログファイル、および REDO ログファイル。 詳細については、「Oracle RAC データベース内のファイルのクエリ」をご参照ください。

  • Oracle RAC データベース全体をバックアップするには、Oracle RAC データベースがデプロイされているサーバーのいずれかにバックアップゲートウェイをインストールし、宛先 Oracle データベースのシステム ID (SID) を指定するだけで済みます。

前提条件

  • バックアップする Oracle データベースでアーカイブモードが有効になっています。

    アーカイブモードを有効にする

    データディザスタリカバリ は、Recovery Manager (RMAN) ツールを使用して Oracle データベースのデータをバックアップします。 デフォルトでは、Oracle データベースのアーカイブモードは無効になっています。 データベースのデータをバックアップする前に、手動でアーカイブモードを有効にする必要があります。

    1. as sysdba コマンドを実行して、システム管理者として Oracle データベースにログインします。

    2. ARCHIVE LOG LIST 文を実行して、データベースのアーカイブステータスをクエリします。 次の出力が返されます。

      Database log mode              No Archive Mode  # アーカイブモードは無効になっています。
      Automatic archival             Disabled
      Archive destination            USE_DB_RECOVERY_FILE_DEST  
      Oldest online log sequence     1    
      Current log sequence           2  
      説明

      Database log mode パラメータの値として Archive Mode が返された場合、アーカイブモードは有効になっています。 この場合、アーカイブモードを有効にする必要はありません。

    3. アーカイブモードが無効になっている場合は、SHUTDOWN IMMEDIATE 文を実行して Oracle データベースをシャットダウンします。 Oracle データベースが OPEN 状態の場合、Oracle データベースのアーカイブモードを有効にすることはできません。

      警告

      この手順は、オフピーク時に実行することをお勧めします。

    4. STARTUP MOUNT 文を実行します。 文が実行されると、データベースは MOUNT 状態になります。

    5. ALTER DATABASE ARCHIVELOG 文を実行して、アーカイブモードを有効にします。

    6. ARCHIVE LOG LIST 文を再度実行して、アーカイブステータスをクエリします。 次の出力が返されます。

      Databaselog mode             Archive Mode # アーカイブモードは有効になっています。
      Automatic archival           Enabled 
      Archive destination          USE_DB_RECOVERY_FILE_DEST 
      Oldest online log sequence 1
      Next log sequence to archive 2
      Currentlog sequence        2
      説明

      Oracle データベースのログファイルをアーカイブするためのデフォルトパスは、$ORACLE_BASE/fast_recovery_area です。 デフォルトでは、このディレクトリには 4 GB の容量しかありません。 このディレクトリは、バックアップファイルとフラッシュバック操作のログファイルを保存するためのデフォルトパスでもあります。 ディレクトリの容量が不足すると、データベースサービスが中断されます。 ファイルの容量を確保するために、ディレクトリのサイズを大きくするか、ビジネス要件に基づいてログファイルをアーカイブするためのパスを変更できます。

    7. ALTER DATABASE OPEN 文を実行して、Oracle データベースを起動します。

  • Oracle データベースの SID が取得されます。

    Oracle データベースの SID を取得する

    • Linux

      システムプロセス情報から実行されている Oracle データベースの SID を取得するには、次のコマンドを実行します。

      ps -ef | grep ora_pmon_ | grep -v grep | awk -F "ora_pmon_" '{print "oracle sid: "$NF }' | grep -v print

      次の出力は、Oracle SID が orcl であることを示しています。

      oracle sid: orcl
    • Windows

      Windows CLI で次のコマンドを実行して、Oracle データベースの SID とサービス名を取得します。

      sc query type=service | findstr SERVICE_NAME | findstr OracleService

      次の出力は、Oracle データベースの SID が orcl で、サービス名が OracleServiceORCL であることを示しています。

      SERVICE_NAME: OracleServiceORCL
  • Oracle データベースが存在するサーバーにバックアップゲートウェイが追加されます。 詳細については、バックアップゲートウェイをインストールするを参照してください。

  • データベースクライアントのディレクトリが取得されます。

    データベースクライアントのディレクトリを取得する

    1. CLI で su - oracle コマンドを実行して、Oracle ユーザーに切り替えます。

    2. Oracle データベースで、echo $ORACLE_HOME コマンドを実行して、現在のシステムの ORACLE_HOME 環境変数に割り当てられているパスを表示します。

      次の出力は、ORACLE_HOME の値が /opt/oracle/product/19c/dbhome_1 であることを示しています。

      /opt/oracle/product/19c/dbhome_1
  • Oracle RAC ファイルが取得されます。

    Oracle RAC ファイルをクエリする

    リアルアプリケーションクラスタ (RAC) アーキテクチャを使用する Oracle データベースのデータがバックアップされるようにするには、データをバックアップする前に、データベースの制御ファイル、サーバーパラメータファイル、データファイル、アーカイブログファイル、および REDO ログファイルを確認する必要があります。 Oracle データベースが RAC アーキテクチャを使用していない場合、次の操作は不要です。

    • REDO ログファイルをクエリする

      SELECT member FROM v$logfile WHERE type='ONLINE';

      次の図は、出力例を示しています。各 MEMBER エントリはプラス記号 (+) で始まります。 DBSBAKDAT1DG は、RAC データベースのファイルを保存するために使用される ASM ベースのデータベースの名前を示します。

    • アーカイブログファイルをクエリする

      SELECT name FROM v$archived_log WHERE DELETED='NO';

      次の図は、出力例を示しています。各 NAME エントリはプラス記号 (+) で始まります。 DBSBAKDAT1DG は、RAC データベースのファイルを保存するために使用される ASM ベースのデータベースの名前を示します。

    • データファイルをクエリする

      SELECT name FROM v$datafile;

      次の図は、出力例を示しています。各 VALUE エントリはプラス記号 (+) で始まります。 DBSBAKDAT1DG は、RAC データベースのファイルを保存するために使用される ASM ベースのデータベースの名前を示します。

    • サーバーパラメータファイルをクエリする

      SHOW parameter spfile;

      次の図は、出力例を示しています。各 VALUE エントリはプラス記号 (+) で始まります。 DBSBAKDAT1DG は、RAC データベースのファイルを保存するために使用される ASM ベースのデータベースの名前を示します。

    • 制御ファイルをクエリする

      SHOW parameter control_files;

      次の図は、出力例を示しています。各 VALUE エントリはプラス記号 (+) で始まります。 DBSBAKDAT1DG は、RAC データベースのファイルを保存するために使用される ASM ベースのデータベースの名前を示します。

制限事項

Oracle データベースの物理バックアップは、RMAN ツールと制御ファイルに依存してバックアップメタデータを管理します。 したがって、バックアップとリストアの信頼性を確保するために、データディザスタリカバリを使用して Oracle データベースを物理的にバックアップする場合は、次の項目に注意する必要があります。

  • 1 つの Oracle データベースに複数のバックアップスケジュールを構成することはできません。 そうしないと、リストアの例外が発生します。

  • Oracle データベースをポイントインタイムでリストアする場合は、指定したポイントインタイムより前に最新の完全バックアップセットを削除しないでください。 そうしないと、リストアの例外が発生します。

手順 1: バックアップスケジュールを作成する

詳細については、「バックアップスケジュールを作成する」をご参照ください。

説明

バックアップスケジュールを購入する際は、データソースタイプパラメータを [oracle] に、バックアップメソッドパラメータを [物理バックアップ] に設定します。

手順 2: バックアップスケジュールを構成する

  1. DMS コンソール V5.0 にログインします。

  2. 上部のナビゲーションバーで、[セキュリティと仕様 (DBS)] > [データディザスタリカバリ (DBS)] > [バックアッププラン] を選択します。

    説明

    DMS コンソールをシンプルモードで使用している場合は、DMS コンソールの左上隅にある 2023-01-28_15-57-17.png アイコンにポインタを移動し、[すべての機能] > [セキュリティと仕様 (DBS)] > [データディザスタリカバリ (DBS)] > [バックアッププラン] を選択します。

  3. [バックアップスケジュール] ページで、構成するバックアップスケジュールを見つけ、[操作] 列の [バックアップスケジュールの構成] をクリックします。

  4. バックアップスケジュールの構成ウィザードの [バックアップソースと宛先の構成] ステップで、バックアップソースと宛先を構成し、ページの右下隅にある [次へ] をクリックします。

    image.png

    セクション

    パラメータ

    説明

    該当なし

    [スケジュール名]

    バックアップスケジュールの名前。 データディザスタリカバリは、バックアップスケジュール名を自動的に生成します。 識別しやすい説明的な名前を入力することをお勧めします。 バックアップスケジュール名は一意である必要はありません。

    [バックアップソース情報]

    [バックアップモード]

    データのバックアップに使用されるメソッド。 デフォルトでは、バックアップスケジュールを購入したときに選択したバックアップメソッドが使用されます。 この例では、物理バックアップが使用されます。

    [インスタンスリージョン]

    バックアップするデータベースがデプロイされているリージョン。

    [バックアップゲートウェイ]

    データをバックアップするためにインストールされたバックアップゲートウェイ。 バックアップゲートウェイのインストール方法の詳細については、「バックアップゲートウェイをインストールする」をご参照ください。

    [データベースタイプ]

    バックアップするデータベースのタイプ。 デフォルト値: Oracle。

    [SID]

    ソース Oracle データベースの SID。 詳細については、「Oracle データベースの物理バックアップの準備」トピックの Oracle データベースの SID を取得する」セクションを参照してください。

    [データベース]

    データベースへの接続に使用される SQL*Plus コマンド。 SQL*Plus コマンドの形式は次のとおりです: <データベースユーザー名>/<パスワード>@<インスタンス名> as sysdba。 例: sys/password@orcl as sysdba

    説明

    / as sysdba と入力することもできます。 ただし、データベース環境で sysdba ユーザーのオペレーティングシステム認証が無効になっている場合、/ as sysdba コマンドを使用してデータベースに接続することはできません。 この場合は、<データベースユーザー名>/<パスワード>@<インスタンス名> as sysdba コマンドを入力します。

    [oracle Home]

    バックアップするデータベースのプログラムディレクトリ。 詳細については、「データベースクライアントのディレクトリを取得する」をご参照ください。

    説明

    このパラメータはオプションです。

    [クロスボーダーデータ転送に関するコンプライアンス保証]

    チェックボックスをオンにして、コンプライアンスのコミットメントを読み、同意します。

    [バックアップ宛先情報]

    [バックアップストレージタイプ]

    バックアップデータを保存するために使用されるストレージのタイプ。 有効な値:

    • [DBS ストレージ (推奨)]: バックアップデータは、Object Storage Service (OSS) バケットを作成する必要なく、データディザスタリカバリに保存されます。 データディザスタリカバリに保存されているデータの量に基づいて課金されます。 課金方法の詳細については、「ストレージ料金」をご参照ください。

    • ユーザー OSS: 事前に OSS コンソールでバケットを作成する必要があります。 詳細については、「バケットを作成する」をご参照ください。

    説明
    • この例では、[DBS ストレージ (推奨)] が選択されています。 [ユーザー向け OSS] を選択した場合は、[OSS バケット名] パラメータを構成する必要があります。 標準ストレージタイプのみがサポートされています。

    • 大量のデータを保存する場合は、料金を相殺するためにサブスクリプションストレージプランを購入することをお勧めします。 データディザスタリカバリのストレージプランは、従量課金よりも費用対効果が高くなります。

    [ストレージの暗号化]

    バックアップデータを暗号化するかどうかを指定します。 有効な値:

    • 内蔵暗号化ストレージ: 推奨。 データディザスタリカバリは、AES-256 を使用してデータを暗号化します。

      サーバー側暗号化機能は OSS で使用されます。 サーバー側暗号化が有効になっているバケットにオブジェクトをアップロードすると、OSS はオブジェクトを暗号化して保存します。 OSS から暗号化されたオブジェクトをダウンロードすると、OSS はオブジェクトを復号化し、復号化されたオブジェクトを返します。 詳細については、「サーバー側暗号化」をご参照ください。

    • 非暗号化ストレージ: バックアップデータは暗号化されません。

  5. [バックアップオブジェクトの編集] ステップでは、デフォルトで [インスタンス全体をバックアップ] が選択されています。 [次へ] をクリックします。

    説明

    データベース全体をバックアップすると、権限データとストアドプロシージャもバックアップされます。

  6. [バックアップ時間の構成] ステップで、次の表に示すパラメータを構成します。 次に、ページの右下隅にある [次へ] をクリックします。

    パラメータ

    説明

    [フルスケールバックアップ頻度]

    バックアップスケジュールの頻度。 有効な値: [定期バックアップ] および [単一バックアップ]

    [完全データバックアップの繰り返し]

    データディザスタリカバリ がバックアップスケジュールを実行する曜日。 1 つまたは複数の曜日を選択できます。 少なくとも 1 つの曜日を選択してください。

    [開始時刻]

    バックアップの開始時刻。 オフピーク時のポイントインタイムを指定することをお勧めします。 例: [01:00]

    説明

    次のバックアップの開始時刻に前の完全データバックアップが完了していない場合、データディザスタリカバリ は次のバックアップをスキップします。

    [増分バックアップ]

    増分バックアップを有効にするかどうかを指定します。

    説明

    増分バックアップを有効にする前に、バックアップするデータベースでバイナリロギング機能が有効になっていることを確認してください。 デフォルトでは、ApsaraDB RDS for MySQL データベースではバイナリロギング機能が有効になっています。 自己管理データベースを使用する場合は、手動でバイナリロギング機能を有効にする必要があります。

    このパラメータは、[フルスケールバックアップ頻度] パラメータを 定期的なバックアップ に設定した場合にのみ表示されます。

    [完全データバックアップの最大同時スレッド数]

    完全バックアップに使用できる同時スレッドの最大数。 このパラメータを構成して、バックアップ速度を調整できます。 たとえば、バックアップスレッドの数を減らして、データベースへの影響を最小限に抑えることができます。

    [バックアップネットワーク速度制限]

    ネットワーク帯域幅の制限。 ビジネス要件に基づいて制限を指定できます。 デフォルト値: 0。これは、ネットワーク帯域幅が制限されていないことを示します。

    [トランザクションログのバックアップ間隔]

    増分バックアップを実行する間隔。 データディザスタリカバリ は、構成に基づいて増分バックアップを実行します。 間隔を 10 分に設定すると、データディザスタリカバリ は 10 分ごとに増分バックアップを実行します。

    [バックアップ成功時にログを削除]

    自己管理データベースからバックアップされたアーカイブログファイルを自動的に削除するかどうかを指定します。 有効な値:

    • [有効]: データディザスタリカバリは、バックアップが成功した後、[アーカイブログの保存日数] パラメータで指定された期間より前にアーカイブされたログファイルを自己管理データベースから自動的に削除します。 アーカイブログの保存日数パラメータのデフォルト値: 7。このパラメータのデフォルト値を使用すると、データディザスタリカバリは、バックアップが成功した後、7 日前にアーカイブされたログファイルを自己管理データベースから自動的に削除します。

    • [無効]: データディザスタリカバリは、自己管理データベースからバックアップされたアーカイブログファイルを自動的に削除しません。

    [圧縮を有効にする]

    バックアップ中に圧縮を有効にするかどうかを指定します。 有効な値:

    • [有効]: 推奨。 ストレージ容量を削減するために、バックアップ中にデータが圧縮されます。

    • [無効]: バックアップ中にデータは圧縮されません。

    [バックアップセットモード]

    データベースのバックアップに使用されるメソッド。 有効な値:

    • [非侵入型ストリーミングバックアップ]: データディザスタリカバリは、Oracle System Backup to Tape (SBT) を使用してデータをバックアップします。 バックアップデータは、クラウドにストリーミングされる前に、仮想テープにバックアップセットとして保存されます。 このメソッドは必要なストレージ容量が少なく、ソースデータベースに悪影響を与えません。

    • [サンドボックスインスタンスのマウントバックアップ]: データディザスタリカバリは、RMAN ツールを使用してイメージコピーバックアップを実行します。 バックアップデータは、ディスクに保存されるのではなく、Filesystem in Userspace (FUSE) プロトコルを使用してストリーミングされ、Object Storage Service (OSS) に送信されます。 サンドボックス機能が有効になると、バックアップデータを数秒でマウントできます。

      説明

      バックアップタスクが正常に完了するように、サーバーに FUSE プロトコルをインストールする必要があります。

  7. ライフサイクルの設定 ステップで、[完全データバックアップのライフサイクルの構成] セクションで完全バックアップデータのライフサイクルを構成します。

    手順 6 で [増分バックアップ] パラメータを [有効] に設定した場合は、増分バックアップデータのライフサイクルを構成する必要があります。 バックアップデータのライフサイクルルールの詳細については、「バックアップセットのライフサイクルルールを管理するにはどうすればよいですか?」をご参照ください。

  8. 上記の構成が完了したら、ページの右下隅にある 事前チェックして開始する をクリックします。

  9. [事前チェックに合格しました] メッセージが表示されたら、[タスクの開始] をクリックします。

    説明
    • バックアップスケジュールの [ステータス][実行中] に変わると、バックアップスケジュールが有効になります。

    • バックアップスケジュールの開始時に例外またはエラーが発生した場合は、できるだけ早く例外またはエラーのトラブルシューティングを行ってください。 詳細については、「異常なバックアップスケジュールのエラーを修正するにはどうすればよいですか?」をご参照ください。 前のトピックで提供されているソリューションを使用しても問題が解決しない場合は、データディザスタリカバリ DingTalk グループ (ID: 35585947) のテクニカルサポートにお問い合わせください。

データのリストア

データディザスタリカバリ を使用すると、Oracle データベースを別のサーバー、ソースサーバー上の別のディレクトリ、またはソースサーバー上の元のディレクトリにリストアできます。

  1. DMS コンソール V5.0 にログインします。

  2. 上部のナビゲーションバーで、[セキュリティと仕様 (DBS)] > [データディザスタリカバリ (DBS)] > [バックアッププラン] を選択します。

    説明

    DMS コンソールをシンプルモードで使用している場合は、DMS コンソールの左上隅にある 2023-01-28_15-57-17.png アイコンにポインタを移動し、[すべての機能] > [セキュリティと仕様 (DBS)] > [データディザスタリカバリ (DBS)] > [バックアッププラン] を選択します。

  3. [バックアップスケジュール] ページで、管理するバックアップスケジュールを見つけ、[管理][操作] 列の をクリックします。

  4. バックアップタスクの設定 ページで、右上隅にある データベースの復元 をクリックします。

  5. 復元時点の設定 ステップで、次の表に示すパラメータを構成し、[次へ] をクリックします。

    セクション

    パラメータ

    説明

    該当なし

    復元タスク名

    リストアタスクの名前。 データディザスタリカバリ は、タスク名を自動的に生成します。 タスクを識別するのに役立つ名前を指定することをお勧めします。 タスク名は一意である必要はありません。

    復元時点

    [リストア可能な時間範囲]

    最初の完全バックアップセットが作成されたポイントインタイムから、最新の完全バックアップセットが作成されたポイントインタイムまでの時間範囲。 データベースは、この時間範囲内のポイントインタイムにリストアできます。

    [リストア先]

    ソースデータベースをリストアするポイントインタイム。 値は、[リストア可能な時間範囲] パラメータで指定された時間範囲内でなければなりません。

    説明
    • 増分バックアップ機能が有効になっている場合、データディザスタリカバリ を使用すると、最初の完全バックアップの完了から最後の増分バックアップの完了までのポイントインタイムにデータをリストアできます。

    • 増分バックアップ機能が無効になっている場合、データディザスタリカバリ を使用すると、完全バックアップが完了したポイントインタイムにデータをリストアできます。

    [宛先データベースの構成]

    [インスタンスリージョン]

    宛先サーバーのバックアップゲートウェイが存在するリージョン。

    [バックアップゲートウェイ]

    宛先サーバーのバックアップゲートウェイ。 バックアップゲートウェイのインストール方法の詳細については、「バックアップゲートウェイをインストールする」をご参照ください。

    [データベースタイプ]

    リストアするデータベースのタイプ。 デフォルト値: Oracle。

    [アドレス]

    リストアするデータベースへの接続に使用されるエンドポイント。 デフォルト値: localhost

    [ポート番号]

    リストアするデータベースへの接続に使用されるポート番号。 デフォルト値: 1521

    [SID]

    リストアするデータベースの SID。

    説明

    SID に基づいて、ORACLE_HOME/dbs ディレクトリにパラメータファイルをカスタマイズできます。 パラメータファイルが存在しない場合、データディザスタリカバリは、Oracle データベースをリストアするために使用できる最小限のパラメータファイルを自動的に作成します。

    [宛先ディレクトリ]

    データベースのリストアに使用されるディレクトリ。

    説明

    リストアのための十分な容量を確保するために、ソースインスタンスの [サイズ (GB 単位)] の少なくとも 1.3 倍、またはデータディザスタリカバリの完全バックアップセットのサイズの 5 ~ 6 倍を確保することをお勧めします。 データディザスタリカバリがバックアップを実行すると、データは圧縮されます。

    コンソールで完全バックアップセットのサイズを確認できます。 データディザスタリカバリコンソールにログインします。 左側の [ナビゲーションウィンドウ] で、[バックアップスケジュール] をクリックします。 [バックアップスケジュール] ページで、ソースデータベースのバックアップスケジュールを見つけ、バックアップスケジュールの名前をクリックします。 左側の [ナビゲーションウィンドウ] で、[バックアップタスク] > [完全データ] を選択します。 表示されるページで、完全バックアップセットのサイズを確認できます。 詳細については、「バックアップスケジュールを表示する」をご参照ください。

    [データベースプログラムディレクトリ]

    リストアするデータベースのプログラムディレクトリ。 この例では、このパラメータを ORACLE_HOME 変数で指定された絶対パスに設定します。

    [クロスボーダーデータ転送に関するコンプライアンス保証]

    チェックボックスをオンにして、コンプライアンスのコミットメントを読み、同意します。

  6. 復元オブジェクトの設定 ステップで、[リストアモード] パラメータを インスタンス全体の復元 に設定し、ページの右下隅にある 事前チェックして開始する をクリックします。

    説明

    物理バックアップから Oracle データベースをリストアするには、インスタンス全体をリストアする必要があります。

  7. 事前チェックに合格しました メッセージが 事前チェック ダイアログボックスに表示されたら、今すぐ起動する をクリックし、データベースが復元されるまで待ちます。

    説明

    データベースのリストアに必要な時間は、バックアップスケジュールの仕様とデータベースのサイズによって異なります。 仕様が高いほど、リストア速度は速くなります。 詳細については、「論理バックアップと物理バックアップのパフォーマンステスト」をご参照ください。

  8. (オプション) リストアされたデータベースにログインし、次の SQL 文を実行してデータベースを起動します:

    ALTER database OPEN RESETLOGS;

Oracle データベースがリストアされました。

よくある質問

Oracle データベースを同時に異なるリージョンにバックアップできますか?

データディザスタリカバリ のバックアップ機能は RMAN ツールに基づいて実装されており、RMAN ツールのバックアップメタデータ構造はクロスバックアップの形式をサポートしていません。 したがって、同時に異なるリージョンにデータをバックアップすることはできません。