保護されたデータベースのバックアップおよびリカバリ設定の構成(コマンドライン)

通常のRMANコマンドを使用して、保護されたデータベースのバックアップおよびリカバリ設定を構成できます。これらの構成済設定は、後続のバックアップおよびリカバリ操作で使用されます。

この項には次のトピックが含まれます:

コマンドラインを使用した保護されたデータベースのバックアップ設定の構成

保護されたデータベースのバックアップ設定のデフォルト値はRMANによって割り当てられます。CONFIGUREコマンドを使用すると、保護されたデータベースのバックアップ要件に応じて、これらの設定を変更できます。

コマンドラインを使用して保護されたデータベースのバックアップ設定を構成するには:

  1. 「CLIを使用した保護されたデータベースとリカバリ・アプライアンスへの接続」の説明に従って、RMANを使用して保護されたデータベースにTARGETとして接続します。

    次のコマンドでは、RMANを起動し、オペレーティング・システム認証を使用して保護されたデータベースにターゲットとして接続します。

    % rman target /
    
  2. CONFIGUREコマンドを使用して、必要なバックアップ設定を構成します。

    構成可能なバックアップ設定は次のとおりです。

    • 高速リカバリ領域

    • リカバリ・アプライアンスのメディア・マネージャ

      リカバリ・アプライアンス・バックアップ・モジュールを指すRMAN SBTチャネルを構成します。

    • バックアップの最適化

  3. (オプション)保護されたデータベースのREDOトランスポート・サービスを設定するには、「リアルタイムREDOトランスポートの構成」の説明に従って、リアルタイムREDOトランスポートを構成します。

リアルタイム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.oraredo_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トランスポートを有効にするには:

  1. 保護されたデータベース・ユーザーがリカバリ・アプライアンスにバックアップを送信する際に使用する、リカバリ・アプライアンス・ユーザーが構成されていることを確認します。この同じユーザーが、REDOトランスポートにも使用されます。

    リカバリ・アプライアンス(およびREDOトランスポート)ユーザーの資格情報を含む、保護されたデータベースに、Oracleウォレットが作成されたことも確認します。このプロセスは、「保護されたデータベースでのOracleウォレットの作成」を参照してください。

    関連項目:

    リカバリ・アプライアンス・ユーザーが使用する仮想プライベート・カタログのアカウントの詳細は、『Zero Data Loss Recovery Appliance管理者ガイド』を参照してください

  2. 保護されたデータベースが次の条件を満たしていることを確認します。
    • ARCHIVELOGモードが有効になっていること

    • DB_UNIQUE_NAMEパラメータが設定されていること

  3. 保護されたデータベースに、初期化パラメータREMOTE_LOGIN_PASSWORDFILEおよびLOG_ARCHIVE_FORMATが設定されていることを確認します。
    REMOTE_LOGIN_PASSWORDFILE=exclusive
    LOG_ARCHIVE_FORMAT='log_%d_%t_%s_%r.arc'
    

    REMOTE_LOGIN_PASSWORDFILEの設定値は、exclusivesharedのどちらかです。

  4. SQL*Plusを起動し、SYSDBAまたはSYSBACKUP権限を持つユーザーとして保護されたデータベースに接続します。

    次のコマンドでは、オペレーティング・システム認証を使用して、保護されたデータベースにSYSDBA権限で接続します。

    % sqlplus / as sysdba
    
  5. LOG_ARCHIVE_CONFIG初期化パラメータをDG_CONFIGリストが含まれるように設定します。また、保護されたデータベースのDB_UNIQUE_NAMEも設定します。

    SYSDBA権限を持つユーザーとして保護されたデータベースに接続した場合、次のSQLコマンドを実行すると、db_unique_namehr_ptdbで、db_namehr_ptdbDB_UNIQUE_NAMEパラメータおよび LOG_ARCHIVE_CONFIGパラメータが保護されたデータベースに設定されます。

    ALTER SYSTEM SET DB_UNIQUE_NAME=hr_ptdb SCOPE=BOTH;
    ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(zdlra2,hr_ptdb)' SCOPE=BOTH;
    

    リカバリ・アプライアンス・データベースのDB_NAMEおよびDB_UNIQUE_NAMEzdlra2です。

    関連項目:

    DG_CONFIGリストの設定の詳細は、『Oracle Data Guard概要および管理』を参照してください。

  6. リカバリ・アプライアンス上のREDOステージング領域を指すようにアーカイブ・ログの保存先を構成します。

    アーカイブ・ログの保存先を構成するには、LOG_ARCHIVE_DEST_nパラメータ(nは1から31までの任意の数)の1つを設定します。REDOデータの格納先を指定するSERVICE属性を含める必要があります。この属性は、保護されたデータベースからのREDOストリームを格納するリカバリ・アプライアンス・データベースのネット・サービス名に設定します。

    次の例では、ネット・サービス名がbostonのリカバリ・アプライアンスにREDOデータを非同期にトランスポートするよう、保護されたデータベースを構成します。

    ALTER SYSTEM SET LOG_ARCHIVE_DEST_3='SERVICE=boston 
    VALID_FOR=(ALL_LOGFILES, ALL_ROLES) ASYNC DB_UNIQUE_NAME=zdlra2' SCOPE=BOTH;
    

    関連項目:

    LOG_ARCHIVE_DEST_nパラメータの設定の詳細は、『Oracle Databaseリファレンス』を参照してください。

  7. ステップ6で構成したアーカイブREDOログの保存先でロギングを有効にするには、LOG_ARCHIVE_DEST_STATE_nパラメータ(nは、ステップ6で指定したLOG_ARCHIVE_DEST_nパラメータで使用されている値と一致)を設定します。

    次のコマンドでは、LOG_ARCHIVE_DEST_3パラメータを使用して設定した保存先でアーカイブREDOロギングを有効にします。

    ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_3='ENABLE' SCOPE=BOTH;
    

    関連項目:

    LOG_ARCHIVE_DEST_STATE_nパラメータの設定の詳細は、『Oracle Databaseリファレンス』を参照してください。

  8. この保護されたデータベース用に作成されたリカバリ・アプライアンス・ユーザーにREDOトランスポートを設定します(ステップ1を参照)。

    次の例では、REDOトランスポート・ユーザーをravpc1に設定します。

    ALTER SYSTEM SET REDO_TRANSPORT_USER=ravpc1 SCOPE=BOTH;
    
  9. 保護されたデータベースを停止し、再起動します。
    SHUTDOWN IMMEDIATE;
    STARTUP;
    

    保護されたデータベースでサーバー・パラメータ・ファイルのかわりにパラメータ・ファイルが使用されている場合、保護されたデータベースを起動する前に、ステップ5から8で設定したパラメータをパラメータ・ファイルに追加してください。

関連項目:

保護されたデータベースでの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以前に適用されます。

  1. 安全性の高い外部パスワード・ストア(mkstore)を作成します。次のコマンドでは、ravpc1という名前のリカバリ・アプライアンスのユーザーの資格証明を格納するOracleウォレットを作成します。

    $ mkstore                         \
      -wrl $ORACLE_HOME/oracle/wallet \
      -createALO                      \
      -createCredential zdlra01ingest-scan.acme.com:1521/zdlra01:dedicated ravpc1
    

    参照: 保護されたデータベースでのOracleウォレットの作成

  2. リカバリ・アプライアンス・バックアップ・モジュールを指している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によって割り当てられた、保護されたデータベースのリカバリ設定のデフォルト値を変更するには、CONFIGUREコマンドを使用します。

コマンドラインを使用して保護されたデータベースのリカバリ設定を構成するには:

  1. RMANを使用して、保護されたデータベースにTARGETとして接続します。

    次のコマンドでは、RMANを起動し、オペレーティング・システム認証を使用して保護されたデータベースにターゲットとして接続します。

    % rman target /
    
  2. 「保護されたデータベースのリカバリ設定の概要」の説明に従って、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;
}