E Recovery Managerを使用したスタンバイ・データベースの作成
このトピックでは、Oracle Recovery Managerを使用してスタンバイ・データベースを作成する方法を説明します。
E.1 前提条件
RMANを使用してスタンバイ・データベースを作成する前に、データベース複製について理解している必要があります。
DUPLICATE
コマンドを使用してRMANでスタンバイ・データベースを作成するので、DUPLICATE
コマンド・エントリについても理解している必要があります。
また、RMANを使用してスタンバイ・データベースを作成する前に、スタンバイ・データベースの作成方法も理解しておいてください。
関連項目:
-
バックアップを実行する方法の詳細は、Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイドを参照してください
-
RMANの
DUPLICATE
コマンドの詳細は、Oracle Databaseバックアップおよびリカバリ・リファレンスを参照してください。
E.2 RMANを使用したスタンバイ・データベースの作成の概要
RMANを使用してスタンバイ・データベースを作成する目的および基本概念については、この項を参照してください。
E.2.1 RMANを使用したスタンバイ・データベースの作成の目的
プライマリ・データベースのバックアップからスタンバイ・データベースを作成するには、手動で行うか、RMANのDUPLICATE
コマンドを使用します。
プライマリ・データベースのバックアップからスタンバイ・データベースを作成するには、手動で行うか、RMANのDUPLICATE
コマンドを使用します。RMANを使用してスタンバイ・データベースを作成すると、手動による作成と比べて次のメリットがあります。
-
プライマリ・データベースで現在使用しているファイルをコピーしてスタンバイ・データベースを作成できます。バックアップは必要ありません。
-
プライマリ・データベースのバックアップをスタンバイ・サイトにリストアしてスタンバイ・データベースを作成できます。したがって、スタンバイ・データベースの作成中にプライマリ・データベースが影響を受けることはありません。
-
Oracle Managed Files(OMF)などのファイルやディレクトリ構造の名前の変更が自動化されます。
-
アーカイブREDOログ・ファイルをバックアップからリストアされ、スタンバイ・データベースとプライマリ・データベースが同期化されるようにメディア・リカバリが実行されます。
E.2.2 RMANを使用したスタンバイ・データベースの作成の基本概念
RMANを使用してスタンバイ・データベースを作成する手順は、複製データベースの作成とほぼ同じです。
スタンバイ・データベース固有の問題に対処するために、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』で説明されている複製手順を変更する必要があります。
DUPLICATE
コマンドを使用してスタンバイ・データベースを作成するには、ターゲットとしてプライマリ・データベースに接続し、FOR STANDBY
オプションを指定する必要があります。スタンバイ・データベースに接続してスタンバイ・データベースを追加作成することはできません。RMANは、制御ファイルをリストアおよびマウントして、スタンバイ・データベースを作成します。RMANではプライマリ・データベースの制御ファイルの既存のバックアップを使用できるので、スタンバイ・データベース専用に制御ファイルのバックアップを作成する必要はありません。
FOR
STANDBY
OPTION
を指定せずにDUPLICATE
で作成した複製データベースと異なり、スタンバイ・データベースには新しいDBIDが設定されません。したがって、スタンバイ・データベースをリカバリ・カタログに登録しないでください。
E.2.2.1 アクティブ・データベース複製とバックアップベース複製
スタンバイ・データベースの作成にRMANを使用する場合は、アクティブ複製とバックアップベース複製のどちらかを選択する必要があります。
FROM ACTIVE DATABASE
を指定すると、RMANはデータファイルをプライマリ・データベースからスタンバイ・データベースに直接コピーします。プライマリ・データベースをマウントまたはオープンする必要があります。
FROM ACTIVE DATABASE
を指定しないと、RMANはバックアップベース複製を実行します。プライマリ・データファイルのバックアップがスタンバイ・データベースにリストアされます。スタンバイ・データベースの作成およびリカバリに必要なバックアップおよびアーカイブREDOログ・ファイルはすべて、スタンバイ・ホストのサーバー・セッションでアクセスできる必要があります。SET UNTIL
コマンドを実行する場合を除いて、RMANは最新のデータファイルをリストアします。
E.2.2.2 RMAN環境におけるDB_UNIQUE_NAMEの値
FOR STANDBY
オプションを指定せずにDUPLICATE
コマンドを使用して作成された複製データベースと異なり、スタンバイ・データベースには新しいDBIDが設定されません。
Oracle Data Guard環境でRMANを使用する場合、リカバリ・カタログに接続する必要があります。リカバリ・カタログには、環境内のすべてのプライマリ・データベースとスタンバイ・データベースに関するメタデータを格納できます。スタンバイ・データベースは、リカバリ・カタログに明示的に登録しないでください。
Oracle Data Guard環境内のデータベースは、初期化パラメータ・ファイルのDB_UNIQUE_NAME
パラメータによって一意に識別する必要があります。Oracle Data Guard環境でRMANを正常に動作させるには、同じDBIDを持つすべてのデータベース間でDB_UNIQUE_NAME
が一意である必要があります。
関連項目:
Oracle Data Guard環境でのRMAN操作の概要は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。
E.2.2.3 スタンバイ・データベースのリカバリ
デフォルトで、RMANはスタンバイ・データベースの作成後、リカバリを実行しません。
RMANはスタンバイ・データベースをマウントしたままにしますが、スタンバイ・データベースを手動または管理リカバリ・モードには設定しません。RMANは接続を切断し、スタンバイ・データベースのメディア・リカバリを実行しません。
RMANでスタンバイ・データベースの作成後にリカバリを行う場合、リカバリに対してスタンバイ制御ファイルが使用可能である必要があります。次の条件を満たしている必要があります。
-
スタンバイ・データベースのリカバリ終了時刻は、スタンバイ制御ファイルのチェックポイントSCN以上である必要があります。
-
スタンバイ制御ファイルのチェックポイントSCNが含まれているアーカイブREDOログ・ファイルは、リカバリ用にスタンバイ・サイトから使用可能である必要があります。
これらの条件を満たしていることを確認する方法として、プライマリ・データベースに制御ファイルをバックアップ後、ALTER
SYSTEM
ARCHIVE
LOG
CURRENT
文を実行します。この文は、プライマリ・データベースのオンラインREDOログ・ファイルをアーカイブします。その後、最新のアーカイブREDO・ログ・ファイルをRMANでバックアップするか、またはアーカイブREDOログ・ファイルをスタンバイ・サイトに移動します。
DUPLICATE
コマンドのDORECOVER
オプションを使用して、RMANでスタンバイ・データベースをリカバリするように指定します。RMANは、スタンバイ・データベース・ファイルの作成後に次のステップを実行します。
-
RMANはメディア・リカバリを開始します。アーカイブREDOログ・ファイルを必要とするリカバリで、そのログ・ファイルがディスクにない場合、RMANはバックアップのリストアを試みます。
-
RMANは、指定された時間、システム変更番号(SCN)またはログ・ファイル順序番号にスタンバイ・データベースをリカバリします。そのいずれも指定されていない場合は、最新の生成済アーカイブREDOログ・ファイルにリカバリします。
-
RMANは、メディア・リカバリの完了後、スタンバイ・データベースをマウントしたままにしますが、スタンバイ・データベースを手動または管理リカバリ・モードには設定しません。
E.2.2.3.1 スタンバイ・データベースREDOログ・ファイル
RMANは、スタンバイ・データベースでスタンバイREDOログ・ファイルを自動的に作成します。
ログ・ファイルは作成後、スタンバイ・データベースによってログ・ファイルの通常のルールに従って管理およびアーカイブされます。
バックアップベース複製を使用した場合、スタンバイ・データベースでスタンバイREDOログ・ファイルに名前を付けるときの唯一のオプションは、スタンバイ制御ファイルで指定されるログ・ファイルのファイル名です。スタンバイでのログ・ファイル名をプライマリのファイル名と異なる名前にする必要がある場合は、スタンバイ初期化パラメータ・ファイルでLOG_FILE_NAME_CONVERT
を設定して、スタンバイREDOログのファイル名を指定する方法を選択できます。
スタンバイ・データベースでスタンバイREDOログ・ファイルのファイル名を指定する際、次の制限事項に注意してください。
-
プライマリ・データベースおよびスタンバイ・データベースでログ・ファイルに異なるネーミング規則を使用する場合、スタンバイREDOログ・ファイルには
LOG_FILE_NAME_CONVERT
パラメータを使用して名前を付ける必要があります。 -
スタンバイREDOログ・ファイルの名前の変更には、
SET
NEWNAME
またはCONFIGURE
AUXNAME
コマンドを使用できません。 -
スタンバイREDOログ・ファイルのファイル名の指定には、
DUPLICATE
コマンドのLOGFILE
句を使用できません。 -
スタンバイ・データベースでのスタンバイREDOログ・ファイル名をプライマリREDOログ・ファイル名と同じ名前にする場合、
DUPLICATE
コマンドのNOFILENAMECHECK
句を指定する必要があります。指定しない場合、スタンバイ・データベースが異なるホスト上で作成されていても、RMANによりエラーが発生します。
E.2.2.4 スタンバイ・データベースのパスワード・ファイル
アクティブ・データベース複製を使用すると、スタンバイ・データベースのパスワード・ファイルはターゲット・データベースのパスワード・ファイルの完全コピーである必要があるため、RMANは常にパスワード・ファイルをスタンバイ・ホストにコピーします。
アクティブ・データベース複製を使用すると、スタンバイ・データベースのパスワード・ファイルはターゲット・データベースのパスワード・ファイルの完全コピーである必要があるため、RMANは常にパスワード・ファイルをスタンバイ・ホストにコピーします。その場合、PASSWORD FILE
句は必要ありません。補助インスタンスの既存のパスワード・ファイルはすべて上書きされます。バックアップベース複製では、Oracle Data Guardによるログの送信のために、プライマリで使用されているパスワード・ファイルをスタンバイにコピーする必要があります。
E.3 DUPLICATEコマンドを使用したスタンバイ・データベースの作成
スタンバイ・データベースの作成手順は、基本的にRMANの複製手順と同じです。
RMAN複製手順の詳細は、Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイドを参照してください。
E.3.1 アクティブ・データベース複製を使用したスタンバイ・データベースまたは遠隔同期インスタンスの作成
スタンバイ・データベースまたは遠隔同期インスタンスのいずれかを作成するには、アクティブ・データベース複製を使用できます。
アクティブ・データベース複製によるスタンバイ・データベースの作成
DUPLICATE
を使用してプライマリ・データベースのアクティブなファイルからスタンバイ・データベースを作成するには、FOR STANDBY
とFROM ACTIVE DATABASE
の両方のオプションを指定します。DORECOVER
などの他のオプションも指定できます。次に例を示します。DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE DORECOVER;
アクティブ・データベース複製による遠隔同期インスタンスの作成
DUPLICATE
コマンドを使用して、プライマリ・データベースでアクティブなファイルから遠隔同期インスタンスを作成することもできます。このためには、コマンドラインでSTANDBY
のかわりにFARSYNC
を使用します(DORECOVER
オプションは指定しないでください。遠隔同期インスタンスには許可されていません)。次に例を示します。 DUPLICATE TARGET DATABASE FOR FARSYNC FROM ACTIVE DATABASE;
アクティブ・データベース複製を使用してスタンバイ・データベースまたは遠隔同期インスタンスを作成するステップ
次のステップでアクティブ・データベース・ファイルからスタンバイ・データベースを作成しますが、これらのステップを使用してアクティブ・データベース・ファイルから遠隔同期インスタンスを作成することもできます。このステップでは、スタンバイ・ホスト(または遠隔同期インスタンス)およびプライマリ・データベース・ホストのディレクトリ構造が同じであることを前提にしています。
E.3.2 バックアップベース複製によるスタンバイ・データベースの作成
スタンバイ・データベースまたは遠隔同期インスタンスのいずれかを作成するには、バックアップベース複製を使用できます。
バックアップベース複製によるスタンバイ・データベースの作成
FOR STANDBY
を指定しますが、FROM ACTIVE DATABASE
は指定しません。DORECOVER
などの他のオプションも指定できます。次に例を示します。DUPLICATE TARGET DATABASE FOR STANDBY BACKUP LOCATION '+DATA/BACKUP' DORECOVER;
バックアップベース複製による遠隔同期インスタンスの作成
DUPLICATE
コマンドを使用してData Guard遠隔同期インスタンスを作成するためにバックアップベース複製を使用することもできます。このためには、コマンドラインでSTANDBY
のかわりにFARSYNC
を使用します(DORECOVER
オプションは指定しないでください。遠隔同期インスタンスには許可されていません)。次に例を示します。 DUPLICATE TARGET DATABASE FOR FARSYNC BACKUP LOCATION '+DATA/BACKUP';
バックアップからスタンバイ・データベースまたは遠隔同期インスタンスを作成するステップ:
次のステップでバックアップからスタンバイ・データベースを作成しますが、これらのステップを使用してバックアップから遠隔同期インスタンスを作成することもできます。このステップでは、スタンバイ・ホスト(または遠隔同期インスタンス)およびプライマリ・データベース・ホストのディレクトリ構造が同じであることを前提にしています。