バックアップおよびREDOフェイルオーバーのレプリケーションの構成
プライマリ・リカバリ・アプライアンスおよび代替リカバリ・アプライアンスを構成した後、代替アプライアンスからプライマリ・アプライアンスへのレプリケーションの設定に類似したタスクを実行します。このシナリオでは、代替アプライアンスはアップストリーム・ロールを持ち、プライマリ・アプライアンスはダウンストリーム・ロールを持ちます。
タスク1: 代替リカバリ・アプライアンスでのOracleウォレットの構成
代替リカバリ・アプライアンスで、mkstore
ユーティリティを使用してOracle自動ログイン・ウォレットを作成し、「タスク1: プライマリ・リカバリ・アプライアンスでのVPCユーザー・アカウントおよびレプリケーション・ユーザー・アカウントの作成」で作成したレプリケーション・ユーザーの資格証明を追加します。代替リカバリ・アプライアンスは、プライマリ・リカバリ・アプライアンスへのログイン時にこれらの資格証明が必要となります。
代替リカバリ・アプライアンスで自動ログイン・ウォレットを構成するには:
-
次のコマンドを実行して、
/dbfs_repdbfs/REPLICATION
ディレクトリにOracleウォレットを作成します。mkstore -wrl /dbfs_repdbfs/REPLICATION -createALO
mkstore
ユーティリティにより、cwallet.sso
という名前のファイルが指定した場所に作成されます。 -
次のコマンドを実行して、レプリケーション・ユーザー資格証明を追加します。
mkstore -wrl wallet_location -createCredential serv_name rep_user pwd
プレースホルダは次のように定義されています。
-
wallet_location
は、前のステップでウォレットを作成したディレクトリです。 -
serv_name
は、Oracleネットワーク上でプライマリ・リカバリ・アプライアンスを識別するためにEZ接続記述子で使用するOracleネットワーク・サービス名です。 -
rep_user
は、レプリケーション・ユーザー・アカウントのユーザー名です。このユーザーは、「タスク1: プライマリ・リカバリ・アプライアンスでのVPCユーザー・アカウントおよびレプリケーション・ユーザー・アカウントの作成」で作成されました。レプリケーション・ユーザーは代替では作成されません。 -
pwd
は、レプリケーション・ユーザーrep_user
のセキュア・パスワードです。
たとえば、次のコマンドは、ポート
1522
およびデータベース名rapri
を使用するネット・サービス名rapribrf-scan.acme.com
と、レプリケーション・ユーザー名repuser_from_alternate
の資格証明を追加します。mkstore -wrl /dbfs_repdbfs/REPLICATION -createCredential \ "rapribrf-scan.acme.com:1522/rapri" "repuser_from_alternate" "pwd"
-
-
次のコマンドを実行して、このユーザーに資格証明が適切に追加されたことを確認します。
mkstore -wrl /dbfs_repdbfs/REPLICATION -listCredential Oracle Secret Store Tool : Version 12.1.0.1 Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved. List credential (index: connect_string username) 1: rapribrf-scan.acme.com:1522/rapri repuser_from_alternate
結果にパスワードは表示されません。
タスク2: 代替リカバリ・アプライアンスでのレプリケーション・サーバー構成の作成
DBMS_RA.CREATE_REPLICATION_SERVER
を実行して、この代替リカバリ・アプライアンスが停止後にバックアップを転送するプライマリ・リカバリ・アプライアンスにレプリケーション・サーバー構成を作成します。
このタスクでは、次のことを想定しています。
-
raprimary_rep
というレプリケーション・サーバー構成を作成します。 -
代替リカバリ・アプライアンスで、レプリケーション・アカウント
repuser_from_alternate
を使用してプライマリ・リカバリ・アプライアンスにログインします。このアカウントは、「タスク1: プライマリ・リカバリ・アプライアンスでのVPCユーザー・アカウントおよびレプリケーション・ユーザー・アカウントの作成」で作成されました。 -
構成では、「タスク1: 代替リカバリ・アプライアンスでのOracleウォレットの構成」で作成したOracleウォレットに格納されているネット・サービス名
rapribrf-scan.acme.com:1522/rapri
を使用します。 -
Oracleウォレットは
/dbfs_repdbfs/REPLICATION
に格納されています。 -
すべてのリカバリ・アプライアンスに事前インストールされているリカバリ・アプライアンス・バックアップ・モジュールのファイル名は
/u01/app/oracle/product/12.1.0.2/dbh1/lib/libra.so
です。このモジュールは、SBTメディア管理ライブラリとして機能します。RMANは、リカバリ・アプライアンスにバックアップするためのチャネルを割当てまたは構成する際に、このモジュールを参照します(「リカバリ・アプライアンス・レプリケーションのための保護されたデータベースの構成」を参照)。
レプリケーション・サーバー構成を作成するには:
-
SQL*PlusまたはSQL Developerで、
RASYS
として代替リカバリ・アプライアンスのメタデータ・データベースに接続します。 -
プライマリ・リカバリ・アプライアンスに対して
DBMS_RA.CREATE_REPLICATION_SERVER
プロシージャを実行します。次の例では、プライマリ・リカバリ・アプライアンスに
raprimary_rep
というレプリケーション・サーバー構成を作成します。BEGIN DBMS_RA.CREATE_REPLICATION_SERVER ( replication_server_name => 'raprimary_rep', sbt_so_name => '/u01/app/oracle/product/12.1.0.2/dbh1/lib/libra.so', catalog_user_name => 'RASYS', wallet_alias => 'rapribrf-scan.acme.com:1522/rapri', wallet_path => 'file:/dbfs_repdbfs/REPLICATION'); END;
-
レプリケーション・サーバー構成の作成を確認します。
replication_server_name
は大文字に変換されて、格納されます。したがって、名前の問合せも大文字にする必要があります。たとえば、次の問合せを実行します。
SELECT COUNT(*) should_be_one FROM RA_REPLICATION_SERVER WHERE REPLICATION_SERVER_NAME = 'RAPRIMARY_REP'; SHOULD_BE_ONE ------------- 1
構成が正しく作成された場合、戻り値は
1
です。
タスク3: 代替リカバリ・アプライアンスのバックアップおよびREDOフェイルオーバーの保護ポリシーとの関連付け
レプリケーション・サーバー構成を保護ポリシーに割り当てることで、代替リカバリ・アプライアンスが停止後にバックアップを転送するプライマリ・リカバリ・アプライアンスを指定します。
このタスクでは、次のことを想定しています。
-
「タスク2: 代替リカバリ・アプライアンスでのレプリケーション・サーバー構成の作成」で作成した
raprimary_rep
というレプリケーション・サーバー構成を使用します。 -
レプリケーション・サーバー構成を、「タスク1: 代替リカバリ・アプライアンスでのバックアップおよびREDOフェイルオーバーのための保護ポリシーの作成」で作成した保護ポリシー
alt_brf
に追加します。
レプリケーション・サーバー構成をバックアップおよびREDOフェイルオーバー保護ポリシーに関連付けるには:
-
リカバリ・アプライアンス管理者として代替リカバリ・アプライアンスのメタデータ・データベースに接続していることを確認します。
-
バックアップおよびREDOフェイルオーバー保護ポリシーとレプリケーション・サーバー構成に対して、
DBMS_RA.ADD_REPLICATION_SERVER
プロシージャを実行します。たとえば、次のPL/SQLプログラムを実行します。
BEGIN DBMS_RA.ADD_REPLICATION_SERVER ( replication_server_name => 'raprimary_rep', protection_policy_name => 'alt_brf'); END;
関連項目: