保護されたデータベースのバックアップおよびリカバリ設定の構成(コマンドライン)
通常のRMANコマンドを使用して、保護されたデータベースのバックアップおよびリカバリ設定を構成できます。これらの構成済設定は、後続のバックアップおよびリカバリ操作で使用されます。
この項には次のトピックが含まれます:
コマンドラインを使用した保護されたデータベースのバックアップ設定の構成
保護されたデータベースのバックアップ設定のデフォルト値はRMANによって割り当てられます。CONFIGUREコマンドを使用すると、保護されたデータベースのバックアップ要件に応じて、これらの設定を変更できます。
コマンドラインを使用して保護されたデータベースのバックアップ設定を構成するには:
関連項目:
-
バックアップの最適化の構成の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。
リアルタイムREDOトランスポートの構成
リアルタイムREDOトランスポートを構成すると、保護されたデータベースのREDOデータはリカバリ・アプライアンスに直接トランスポートされて格納されます。これにより、連続するアーカイブ・ログ・バックアップ間に存在する潜在的なデータ損失の期間が最小限に抑えられます。
保護されたデータベースのリアルタイムREDOトランスポートを構成するステップは1回かぎりです。設定すると、保護されたデータベースのREDOデータはリカバリ・アプライアンスへ非同期にトランスポートされます。
ノート:
-
REDOトランスポートに使用するユーザーは、リカバリ・アプライアンスにバックアップを送信するために構成したのと同じユーザーである必要があります。
-
保護されたデータベースのリアルタイムREDOトランスポート構成をクリアする場合、保護されたデータベースの正確な状態を維持するよう手動でREDOログ・スイッチに強制する必要があります。ログ・スイッチはリモート・サーバー・プロセス(RFS)を強制して、REDOデータのリカバリ・アプライアンスへの送信を停止します。
リアルタイムREDOトランスポートが機能するには、受信側データベースで物理ユーザーが作成されている必要があります。送信側インスタンスで、redo_transport_userを、REDOを受信するユーザーに設定します。
DataGuard以外の環境で、またはリカバリ・アプライアンスに対してREDOを送信するソース・データベースのみが存在する場合は、単にリカバリ・アプライアンス側でのredo_transport_userパラメータを、バックアップとREDOを受信する権限がありリカバリ・アプライアンス・データベース上の物理ユーザーである定義されているVPCユーザーに設定します。
DataGuard環境では、プライマリ・データベースによってスタンバイ・データベースにREDOが送信されているため、スタンバイ・データベースに、init.oraのredo_transport_userパラメータで指定されているのと同じ名前の物理ユーザーが存在する必要があります。
ノート:
redo_transport_userパラメータは、デフォルトでSYSアカウントに設定され、すべてのデータベースに存在します。そのため、プライマリ・データベース1つとスタンバイ・データベース1つのみの場合は、プライマリ・データベースでredo_transport_userを設定する必要はありません。SYSアカウントが使用されます。
リカバリ・アプライアンス環境も1つ以上あるData Guard環境では、VPCユーザーがSYS (またはスーパーユーザー権限)である必要はなく、redo_transport_userが、リカバリ・アプライアンス側で作成され定義されたVPCユーザーに設定されている必要があります。(これは、概念的にはdbms_ra.grant_db_accessに似ています。)プライマリ・データベースでは、リカバリ・アプライアンスへのログインにVPCユーザーが使用されているため、フィジカル・スタンバイ・データベースへのログインにもVPCユーザーが使用されています。ただし、デフォルトでは、VPCユーザーはフィジカル・スタンバイ・データベースに存在しません。これは、プライマリ・データベースに存在しないということでもあります。したがって、リアルタイムREDOをリカバリ・アプライアンスに対して構成する前に、まずプライマリ・データベースでVPCユーザーを作成して構成し、その情報がフィジカル・スタンバイ・データベースに適用されるようにする必要があります。また、ORAPWDファイル(リカバリ・アプライアンスで使用されるウォレットとは異なる)をプライマリからフィジカル・スタンバイにコピーする必要があります。これらの計画手順が完了したら、リカバリ・アプライアンスに対するREDOトランスポートの設定を続行できます。これらの手順の1つは、redo_transport_userパラメータをVPCユーザーに設定することです。これで、プライマリからスタンバイ、およびプライマリからリカバリ・アプライアンスへのREDOトランスポートでは、両方とも、ターゲット環境(スタンバイおよびリカバリ・アプライアンス)へのログインにそのVPCユーザーが使用されるようになります。
保護されたデータベースのリアルタイムREDOトランスポートを有効にするには:
関連項目:
-
REDOトランスポートがサポートされているOracle Databaseのリリースの詳細は、『Zero Data Loss Recovery Appliance管理者ガイド』を参照してください。
-
Oracle Data Guardが装備されているリカバリ・アプライアンス用にREDOトランスポートを構成する方法の詳細は、『Data Guard構成へのZero Data Loss Recovery Applianceのデプロイ』を参照してください。
保護されたデータベースでのOracleウォレットの作成
Oracleウォレットには、保護されたデータベースがリカバリ・アプライアンスとの認証に使用するリカバリ・アプライアンス・ユーザーの資格証明が格納されます。これらの同じ資格証明は、構成されていればバックアップとREDOの送信にも使用されます。リカバリ・アプライアンス・バックアップ・モジュールをインストールすると、Oracleウォレットは自動的に作成されます。ウォレットと必須エントリの追加は、手動で行うこともできます。
ノート:
保護されたデータベースのsqlnet.oraファイルには、Oracleウォレットの場所が含まれている必要があります。ウォレットの場所は通常、リカバリ・アプライアンス・バックアップ・モジュールのインストール時に、このファイルに自動的に追加されます。
ノート:
エンタープライズ・ユーザー・セキュリティ(EUS) WALLET_ROOT形式を使用するデータベースは、保護されたデータベースの構成ではサポートされていません。WALLET_LOCATIONのみがサポートされています。
複数のZDLRAの場合、単一のウォレットを一元的な場所に格納し、各ZDLRA参照上にsqlnet.oraファイルを用意してウォレットの場所を一元管理します。
ウォレットを複数のZDLRA用の一元化された場所に格納できない場合は、すべてのインスタンスにコピーする必要があります。最初のインスタンスにウォレットおよびマスター・キーを作成し、そのウォレットを他のインスタンスにコピーします。さらに、データベース・ウォレットを分離するために環境変数ORACLE_UNQNAMEを設定します。その後、UNIX / Linuxの場合、sqlnet.oraから次のように動的に参照できます。
WALLET_LOCATION = (SOURCE=(METHOD=FILE) (METHOD_DATA = (DIRECTORY=/etc/oracle/wallets/$ORACLE_UNQNAME/)))
Windowsベースのシステムでは、次のようにデータベースを動的に参照できます。
WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = E:\oracle\%ORACLE_UNQNAME%)))
Windowsに加えて、データベースORACLE_UNQNAME=<dbname>のWindowsレジストリ・キーを設定します。ただし、このレジストリ・キーはWindows上の1つのデータベースに対してしか設定できないため、このアプローチは現在、Windowsサーバー上でデータベースが1つしか実行されていない環境に制限されます。
例3-1 保護されたデータベースでのOracleウォレットの作成
次のコマンドでは、ravpc1という名前のリカバリ・アプライアンスのユーザーの資格証明を格納するOracleウォレットを作成します。
$ mkstore \ -wrl $ORACLE_HOME/oracle/wallet \ -createALO \ -createCredential zdlra01ingest-scan.acme.com:1521/zdlra01:dedicated ravpc1
ravpc1ユーザーのパスワードを要求された場合は入力します。ここで、zdlra01はリカバリ・アプライアンス・データベースのネット・サービス名です。mkstoreコマンドを実行する前に、ディレクトリ$ORACLE_HOME/oracle/walletが作成されている必要があります。
例3-2 複数のユーザー資格証明が含まれるOracleウォレットの作成
次のコマンドでは、保護されたデータベースのOracleウォレットに2組の資格証明を作成します。このシナリオの場合、ra_userは、通常のバックアップおよびリカバリ操作(さらに、有効な場合はリアルタイムREDO)の際にリカバリ・アプライアンスによっても使用され、データ同期の際にData Guardスタンバイ・データベースによっても使用されます。リカバリ・アプライアンスのサービス名はzdlra2で、Data Guard設定のプライマリ・データベースのサービス名はchicagoです。
$ mkstore \ -wrl $ORACLE_HOME/oracle/wallet \ -createALO \ -createCredential chicagoingest-scan.acme.com:1521/chicago:dedicated ra_user \ -createCredential zdlra02ingest-scan.acme.com:1521/zdlra02:dedicated ra_user
プロンプト表示されたら、ra_userのパスワードを入力します。mkstoreコマンドを実行する前に、ディレクトリ$ORACLE_HOME/oracle/walletが作成されている必要があります。
VPCユーザー資格証明用のOracle Walletの構成
他のタスク間でのSBT操作のためのVPCユーザー資格証明用にOracle Walletを構成できます。外部パスワード・ストアを作成して、RMAN SBTチャネルを構成してください。
この情報は、RA 21.1以前に適用されます。
-
安全性の高い外部パスワード・ストア(mkstore)を作成します。次のコマンドでは、
ravpc1という名前のリカバリ・アプライアンスのユーザーの資格証明を格納するOracleウォレットを作成します。$ mkstore \ -wrl $ORACLE_HOME/oracle/wallet \ -createALO \ -createCredential zdlra01ingest-scan.acme.com:1521/zdlra01:dedicated ravpc1 -
リカバリ・アプライアンス・バックアップ・モジュールを指している
SBT_LIBRARYパラメータを使用して、RMAN SBTチャネルを構成します。共有ライブラリlibra.soの完全パスが指定されています。RA_WALLETパラメータは、この保護されたデータベースとリカバリ・アプライアンスとの認証に使用する資格証明が格納されているOracleウォレットの場所を表します。ra-scanはリカバリ・アプライアンスのSCANで、zdlra5はリカバリ・アプライアンスのメタデータ・データベースのサービス名です。CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/u01/app/oracle/product/11.2.0.4.0/dbhome_1/lib/libra.so, ENV=(RA_WALLET=location=file:/u01/app/oracle/product/11.2.0.4.0/dbhome_1/dbs/zdlra credential_alias=ra-scan:1521/zdlra5:dedicated)' FORMAT '%U_%d';
コマンドラインを使用した保護されたデータベースのリカバリ設定の構成
RMANによって割り当てられた、保護されたデータベースのリカバリ設定のデフォルト値を変更するには、CONFIGUREコマンドを使用します。
コマンドラインを使用して保護されたデータベースのリカバリ設定を構成するには:
リカバリ・アプライアンスのバックアップおよびリカバリ操作でのRMANチャネルの使用方法
リカバリ・アプライアンスとの間でバックアップをやり取りするには、リカバリ・アプライアンス・バックアップ・モジュールに対応するRMAN SBT (テープへのシステム・バックアップ)チャネルを使用する必要があります。
保護されたデータベースの操作にRMANチャネルを使用する場合、次の方法を使用できます。
リカバリ・アプライアンスで使用するRMAN SBTチャネルの構成
リカバリ・アプライアンスで使用するRMAN SBTチャネルを構成するには、RMAN CONFIGUREコマンドを使用します。保護されたデータベースにチャネルを構成すると、その保護されたデータベースでのバックアップ、リストアおよびメンテナンスのすべての操作に適用可能な永続設定が作成されます。構成済の設定は、特定の操作でALLOCATEコマンドを使用して明示的に削除、変更またはオーバーライドされるまで有効なままです。
例3-3では、リカバリ・アプライアンスで使用するRMAN SBTチャネルを構成します。これを構成した後は、リカバリ・アプライアンス・バックアップ・モジュールに対応するSBTチャネルをバックアップまたはリカバリ操作ごとに明示的に割り当てる必要はありません。
例3-3 リカバリ・アプライアンスで使用するRMANチャネルの構成
この例では、リカバリ・アプライアンス・バックアップ・モジュールを指しているSBT_LIBRARYパラメータを使用して、RMAN SBTチャネルを構成します。共有ライブラリlibra.soの完全パスが指定されています。RA_WALLETパラメータは、この保護されたデータベースとリカバリ・アプライアンスとの認証に使用する資格証明が格納されているOracleウォレットの場所を表します。ra-scanはリカバリ・アプライアンスのSCANで、zdlra5はリカバリ・アプライアンスのメタデータ・データベースのサービス名です。
CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/u01/app/oracle/product/11.2.0.4.0/dbhome_1/lib/libra.so, ENV=(RA_WALLET=location=file:/u01/app/oracle/product/11.2.0.4.0/dbhome_1/dbs/zdlra credential_alias=ra-scan:1521/zdlra5:dedicated)' FORMAT '%U_%d';
リカバリ・アプライアンスで使用するRMAN SBTチャネルの割当て
リカバリ・アプライアンスへのバックアップまたはリカバリ・アプライアンスからのリカバリに使用するRMAN SBTチャネルを割り当てるには、RMAN ALLOCATEコマンドを使用します。特定の操作では、操作前にRMAN SBTチャネルを明示的に割り当てることにより、CONFIGUREコマンドで設定済の永続構成をオーバーライドできます。ALLOCATEコマンドとその他のコマンドをRUNブロックで囲みます。
例3-4では、リカバリ・アプライアンスで使用するRMAN SBTチャネルを割り当ててから、アーカイブREDOログを含む保護されたデータベースの全体バックアップを作成します。
例3-4 リカバリ・アプライアンスで使用するRMANチャネルの割当て
この例では、リカバリ・アプライアンス・バックアップ・モジュールの完全パスを指定するSBT_LIBRARYパラメータを使用して、RMAN SBTチャネルを割り当てます。ENV設定では、リカバリ・アプライアンス・バックアップ・モジュールで使用する構成パラメータを指定します。ra-scanはリカバリ・アプライアンスのSCANで、zdlra5はリカバリ・アプライアンスのメタデータ・データベースのサービス名です。
RUN
{
ALLOCATE CHANNEL c1 DEVICE TYPE sbt_tape
PARMS='SBT_LIBRARY=/u01/app/oracle/product/12.1.0.2/dbhome_1/lib/libra.so,
ENV=(RA_WALLET=location=file:/u01/app/oracle/product/12.1.0.2/dbhome_1/dbs
credential_alias=ra-scan:1521/zdlra5:dedicated)' FORMAT '%U_%d';
BACKUP INCREMENTAL LEVEL 1 DATABASE PLUS ARCHIVELOG;
}