Oracle® Fusion Middleware Oracle Entitlements Serverの管理 11gリリース2 (11.1.2.3.0) E67353-01 |
|
前 |
次 |
エンタープライズ・デプロイメント用のOracle Fusion Middleware障害時リカバリ・ソリューションでは、Oracle Data Guardを使用して、ストレージ・レプリケーション・テクノロジを使用します。このテクノロジは、スタンドアロン配布としてインストールされたOracle Entitlements Serverを含む、各種のOracle製品スイートのコンポーネントをサポートします。この章では、Oracle Entitlements ServerでOracle Data Guardを使用して、マルチサイト・デプロイメントでの障害リカバリ用にデータを同期するための設定方法について説明します。
この章では、次の項目について説明します。
注意: Oracle Entitlements Serverでマルチサイト・デプロイメントでの障害時リカバリ・ソリューションを設定する前に、Oracle Fusion Middlewareディザスタ・リカバリ・ガイドのOracle Fusion Middlewareの障害時リカバリ・ソリューションに関する情報を確認してください。 |
Oracle Databaseの障害保護はOracle Data Guardによって提供されます。マルチサイト・デプロイメントでは、データベースをプライマリ・サイトとスタンバイ・サイトの両方にインストールして構成します。このリリースでは、Oracle Entitlements Serverは、データベース・サービスの高可用性ソリューションとしてOracle Data Guardをサポートしています。Oracle Data Guardでは、本番データベース(プライマリ・データベース)の1つ以上の同期化されたレプリカ(スタンバイ・データベース)を作成および保持する機能が提供されます。Oracle Data Guardのスタンバイ・データベースは、読取り専用で開かれますが、Oracle Data Guardのプライマリ・データベースは、読取りと書込みの両方が可能です。Oracle Data Guardの構成の推奨事項の詳細は、『Oracle Fusion Middlewareディザスタ・リカバリ・ガイド』のOracle Identity Managementの推奨事項に関する項を参照してください。
マルチサイト・デプロイメントでは、Oracle Entitlements Server管理サーバーは、MAPI操作をサポートするために、Oracle Data Guardのプライマリ・データベースをポリシー・ストアに構成します。Oracle Entitlements Serverセキュリティ・モジュールは、ポリシー配布用に、プライマリ・データベースまたはスタンバイ・データベースの1つをポリシー・ストアに構成します。
Oracle Entitlements Server管理サーバーは、ポリシー問合せサービスを提供するために、読取り専用のOracle Data Guardスタンバイ・データベースにデプロイされます。Oracle Data Guardデータベースでロール・トランジション(スタンバイ・データベースがプライマリ・データベースになります)が発生した場合は、Oracle Entitlements Server管理サーバーは、WebLogic Serverを再起動することなく、新しいプライマリ・データベースで管理サービスを提供できます。
Oracle Entitlements Serverのマルチサイト・デプロイメントには、次のものが含まれます。
Oracle Entitlements Server管理コンソール: データ・センター全体のポリシー管理用の単一のマスター。
セキュリティ・モジュール: 次の場所に接続するSM
データの読取り用のローカル・サイト・データベース(マスターまたはスレーブ)。
データの書込み用のマスター・サイト・データベース(マスター)。
ポリシー・データ・レプリケーション: データ・レプリケーションのモード。
このリリースでは、次の構成が必要です。
常にマスターとして動作する1つのサイト。すべての書込み操作は、現在マスター・サイトとして構成されているポリシー・ストアに対して実行されます。
すべてのセキュリティ・モジュールは、制御プル・モードで構成されます。非制御モードおよび制御プッシュ・モードはサポートされません。
混合モードで構成されたポリシー・ストアはサポートされません。
IDMドメインのOracle Entitlements Server管理コンソールは、マルチサイト機能を利用できません。
Oracle Entitlements Serverは、スタンドアロン配布としてインストールされます。
図14-1に、マルチサイト・デプロイメントとして構成した場合のOracle Entitlements Serverコンポーネント間の関係を示します。
図に示すとおり、マルチサイト・デプロイメントでは次の関係が存在します。
ポリシー配布: セキュリティ・モジュールは、すべてのサイトで制御プル・モードで構成されます。スナップショットはマスター・サイトで管理サーバーによって生成され、Oracle Data Guardを使用してセカンダリ・サイトおよび3次サイトにレプリケートされます。セカンダリ・サイトおよび3次サイトのPDPは、ローカル・ポリシー・ストアからのスナップショットを取得します。
構成: PDPは、複数のJDBC URLで構成されます。プライマリJDBC URLは、ローカル・ポリシー・ストアに構成されます。ローカル・ポリシー・ストアへの接続に障害が発生した場合は、セカンダリJDBC URLへの接続が試みられます。これによって、障害発生時にもポリシー・ストアがアクセス可能になります。
SM ConfigUI: フェイルオーバー機能のサポートに必要なJDBC URLの構成に使用できます。
表14-1に、Oracle Data Guardを使用してマルチサイト・デプロイメントでの障害リカバリ用にデータを同期するためのOracle Entitlements Serverの構成での高レベル・タスクをリストします。
表14-1 障害時リカバリ・ソリューションの構成フロー
番号 | タスク | 情報 |
---|---|---|
1 |
Oracle Fusion Middlewareの障害時リカバリ・ソリューションについての情報の確認 |
Oracle Fusion Middlewareディザスタ・リカバリ・ガイド |
2 |
前提条件を実施したことを確認 |
|
Oracle Data Guardの構成 |
||
3 |
プライマリ・サーバー・サイトの構成 |
|
4 |
スタンバイ・サーバー・サイトの構成 |
|
5 |
ログ・ファイル転送をテストするためにプライマリ・サーバーからスタンバイ・サーバーへ強制的にスイッチオーバー |
|
6 |
Oracle Data Guard Brokerの構成 |
|
7 |
プライマリ・サーバーとスタンバイ・サーバー間の手動フェイルオーバーおよびスイッチオーバーのテスト |
14.5.5項「フェイルオーバーおよびスイッチオーバーのテスト」 |
8 |
Oracle ASMの仮想デバイスの構成 |
|
9 |
必要に応じて、スタンドアロン・サーバー用のOracle Grid Infrastructureをインストール |
|
10 |
Oracle Restartの構成 |
|
Oracle Entitlements Serverの構成 |
||
11 |
RCUを使用してOracle Entitlements ServerのOPSSデータベース・スキーマの作成 |
|
12 |
プライマリ・サーバーへのOracle Entitlements Server管理コンソールのインストール |
|
13 |
スタンバイ・サーバーへのOracle Entitlements Server管理コンソールのインストール |
|
14 |
マルチサイト・デプロイメント用のセキュリティ・モジュールの構成 |
|
Oracle Databaseがインストールされた2つのサーバー。11g R2 (11.1.2)は、Oracle Data Guardサポートを提供するために必要な最低バージョンです。
次の例で、プライマリ・サイトのサーバー名はprimary_host
です。スタンバイ・サイトのサーバー名はstandby_host
です。
プライマリ・サイトのサーバー(primary_host
)には稼働中のインスタンスがあります。この例では、データベース名および一意の名前はどちらもdb11g
です。
スタンバイ・サイトのサーバー(standby_host
)は、ソフトウェアのみのインストールです。この例で、データベース名はdb11g
で、データベースの一意の名前はdb11g_stby
です。
スタンバイ・データベースのDB_NAME
は、プライマリと同じですが、DB_UNIQUE_NAME
値は異なる値である必要があります。
primary_host
およびstandby_host
はどちらも、同じORACLE_HOME
ディレクトリおよび構造です。
これは制約ではありませんが、インストールを簡略化するためにお薦めします。
スタンドアロン・サーバー用の11gR2 (11.1.2) Oracle Grid Infrastructureが、primary_host
とstandby_host
の両方にインストールされています。
Oracle RestartとOracle Automatic Storage Management (Oracle ASM)の両方が必要であり、構成が必要です。これらはどちらも、スタンドアロン・サーバー用Oracle Grid Infrastructureのインストール時に含まれています。
この項には次のトピックが含まれます:
プライマリ・サーバーとして動作するデータベースをインストールするには、次の手順を実行します。
forced logging
を構成します。プライマリ・データベースがarchivelog
モードになっていることを確認します。noarchivelog
モードの場合は、archivelog
モードに変更し、forced logging
を有効化します。たとえば、次のように入力します。
sqlplus sys/welcome1 as sysdba select log_mode from v$database; shutdown immediate; startup mount; alter database archivelog; alter database open; alter database force logging;
DB_NAME
パラメータおよびDB_UNIQUE_NAME
パラメータの設定を確認します。この例では、どちらもプライマリ・データベースのdb11g
に設定されています。スタンバイ・データベースのDB_NAME
は、プライマリと同じですが、DB_UNIQUE_NAME
値は異なる値である必要があります。初期化パラメータをREDOログ適用に設定します。たとえば、次のように入力します。
show parameter db_name; show parameter db_unique_name; ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(db11g,db11g_stby)'; ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=db11g_stby NOAFFIRM ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=db11g_stby'; ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE; ALTER SYSTEM SET LOG_ARCHIVE_FORMAT='%t_%s_%r.arc' SCOPE=SPFILE; ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=5; ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE SCOPE=SPFILE; ALTER SYSTEM SET FAL_SERVER=db11g_stby; ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO;
データベースの停止たとえば、次のように入力します。
shutdown immediate; startup mount;
$ORACLE_HOME/network/admin/tnsnames.ora
ファイルに、プライマリ・データベースおよびスタンバイ・データベースの値を入力します。両方のサーバーに必要です。たとえば、次のように入力します。
db11g = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = primary_host)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = db11g.example.com) ) ) db11g_stby = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = standby_host)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = db11g.example.com) ) )
プライマリ・サーバーのlistener.ora
に次の値を設定します。
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = db11g_DGMGRL.example.com) (ORACLE_HOME = /scratch/example_user/app/example_user/product/11.2.0/dbhome_1) (SID_NAME = db11g) ) (SID_DESC = (GLOBAL_DBNAME = db11g_DGB.example.com) (ORACLE_HOME = /scratch/example_user/app/example_user/product/11.2.0/dbhome_1) (SID_NAME = db11g) ) (SID_DESC = (GLOBAL_DBNAME = db11g.example.com) (ORACLE_HOME = /scratch/example_user/app/example_user/product/11.2.0/dbhome_1) (SID_NAME = DB11G) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = primary.example.com)(PORT = 1521)) ) (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) ) ADR_BASE_LISTENER = /scratch/example_user/app/example_user ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON # line added by Agent
スタンバイ・データベース用の制御ファイルおよびパラメータ・ファイルを作成します。エントリがスタンバイ・データベースと関連するようにPFILEを修正します。たとえば、次のように入力します。
ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/tmp/db11g_stby.ctl'; CREATE PFILE='/tmp/initdb11g_stby.ora' FROM SPFILE; *.db_unique_name='db11g_stby' *.fal_server='db11g' *.log_archive_dest_2='SERVICE=db11g ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=db11g'
スタンバイ・サーバーを設定する前に、standby_hostにOracle Databaseが「ソフトウェアのみのインストール」オプションでインストールされていることを確認してください。
スタンバイ・サーバー(重複)として動作するデータベースをインストールするには、次の手順を実行します。
スタンバイ・サーバーに必要なディレクトリを作成し、プライマリ・サーバー(primary_host
)からスタンバイ・サーバー(standby_host
)にファイルをコピーします。この例で、データベース名はdb11g
で、データベースの一意の名前はdb11g_stby
です。
$ mkdir -p /scratch/example_user/app/example_user/oradata/db11g $ mkdir -p /scratch/example_user/app/example_user/fast_recovery_area/db11g
注意: ここで、Oracle Databaseバージョンによって、fast_recovery_area はflash_recovery_area の可能性があります。フォルダがfast_recovery_area と呼ばれているかflash_recovery_area と呼ばれているか、primary_hostでファイル構造を確認してください。 |
$ mkdir -p /scratch/example_user/app/example_user/admin/db11g/adump $ # Standby controlfile to all locations. $ scp example_user@primary_host:/tmp/db11g_stby.ctl /scratch/example_user/app/example_user/oradata/db11g/control01.ctl $ cp /scratch/example_user/app/example_user/oradata/db11g/control01.ctl /scratch/example_user/app/example_user/fast_recovery_area/db11g/control02.ctl $ # Parameter file. $ scp example_user@primary_host:/tmp/initdb11g_stby.ora /tmp/initdb11g_stby.ora $ # Remote login password file. $ scp example_user@primary_host:$ORACLE_HOME/dbs/orapwdb11g $ORACLE_HOME/dbs
次のエントリを含むようにリスナー構成ファイルlistener.ora
を編集します。
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = db11g.example.com) (ORACLE_HOME = /scratch/example_user/app/example_user/product/11.2.0/dbhome_1) (SID_NAME = db11g) ) (SID_DESC = (GLOBAL_DBNAME = db11g_stby_DGMGRL.example.com) (ORACLE_HOME = /scratch/example_user/app/example_user/product/11.2.0/dbhome_1) (SID_NAME = db11g) ) (SID_DESC = (GLOBAL_DBNAME = db11g_stby_DGB.example.com) (ORACLE_HOME = /scratch/example_user/app/example_user/product/11.2.0/dbhome_1) (SID_NAME = db11g) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = standby_host.example.com)(PORT = 1521)) ) (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) ) ADR_BASE_LISTENER = /scratch/example_user/app/example_user ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON # line added by Agent
リスナーがスタンバイ・サーバーで開始されることを確認します。
$ lsnrctl start
プライマリ・サーバーでスタンバイRedoログを作成し、スイッチオーバーできるようにプライマリ・データベースを構成します。たとえば、次のように入力します。
ALTER DATABASE ADD STANDBY LOGFILE ('/scratch/example_user/app/example_user/oradata/db11g/standby_redo01.log') SIZE 50M; ALTER DATABASE ADD STANDBY LOGFILE ('/scratch/example_user/app/example_user/oradata/db11g/standby_redo02.log') SIZE 50M; ALTER DATABASE ADD STANDBY LOGFILE ('/scratch/example_user/app/example_user/oradata/db11g/standby_redo03.log') SIZE 50M; ALTER DATABASE ADD STANDBY LOGFILE ('/scratch/example_user/app/example_user/oradata/db11g/standby_redo04.log') SIZE 50M;
DUPLICATE
コマンドを使用して、スタンバイを作成します。
一時init.ora
ファイルを使用して、スタンバイ・サーバーで補助インスタンスを開始します。たとえば、次のように入力します。
$ export ORACLE_SID=db11g $ sqlplus / as sysdba SQL> STARTUP NOMOUNT PFILE='/tmp/initdb11g_stby.ora';
TARGET
とAUXILLARY
の両方のインスタンスの完全な接続文字列を指定して、RMAN
に接続します。OS認証は使用しないでください。
$ rman TARGET sys/password@db11g AUXILIARY sys/password@db11g_stby
次のDUPLICATE
コマンドを実行します。
DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE DORECOVER SPFILE SET db_unique_name='db11g_stby' COMMENT 'Is standby' SET LOG_ARCHIVE_DEST_2='SERVICE=db11g ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=db11g' SET FAL_SERVER='db11g' COMMENT 'Is primary' NOFILENAMECHECK;
再起動します。
SHUTDOWN IMMEDIATE; STARTUP MOUNT; ALTER DATABASE OPEN READ ONLY; ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION; select status,instance_name,database_role,open_mode from v$database,v$instance;
2つのサイト間でログ・ファイルが転送されることを確認するために、プライマリ・サーバーからスタンバイ・サーバーに強制的にスイッチオーバーします。
2つのサイトでログ・ファイルの転送を確認するには、次の手順を実行します。
プライマリ・サーバーで、最新のアーカイブREDOログを確認し、ログ切替えを強制します。たとえば、次のように入力します。
ALTER SESSION SET nls_date_format='DD-MON-YYYY HH24:MI:SS'; SELECT sequence#, first_time, next_time FROM v$archived_log ORDER BY sequence#; ALTER SYSTEM SWITCH LOGFILE;
スタンバイ・サーバーで、新しいアーカイブREDOログが到着し、適用されたことを確認します。たとえば、次のように入力します。
ALTER SESSION SET nls_date_format='DD-MON-YYYY HH24:MI:SS'; SELECT sequence#, first_time, next_time, applied FROM v$archived_log ORDER BY sequence#;
Oracle Data Guard Brokerを構成するには、次の手順を実行します。
プライマリ・データベースおよびスタンバイ・データベースで、DMON
バックグラウンド・プロセスを開始します。
connect sys/welcome1@db11g as sysdba alter system set dg_broker_start=true; connect sys/welcome1@db11g_stby as sysdba alter system set dg_broker_start=true;
Oracle Data Guard Managerのラインモードを呼び出して構成します。たとえば、次のように入力します。
dgmgrl connect sys/welcome1@db11g create configuration myconfig as primary database is db11g connect identifier is db11g; add database db11g_stby as connect identifier is db11g_stby maintained as physical; enable configuration; show configuration;
MA保護モードに変更します。
edit database db11g set property LogXptMode=SYNC; edit database db11g_stby set property LogXptMode=SYNC; edit configuration set protection mode as maxavailability;
ファスト・スタート・フェイルオーバーでは、プライマリ・データベースが消失した場合、ブローカにより、事前に選択されたスタンバイ・データベースに自動的にフェイルオーバーできます。ファスト・スタート・フェイルオーバーでは、ターゲット・スタンバイ・データベースがプライマリ・データベース・ロールに迅速かつ確実にフェイルオーバーされます。このとき、手動手順を実行してフェイルオーバーを起動する必要はありません。ファスト・スタート・フェイルオーバーはブローカ構成でのみ使用でき、DGMGRL
またはEnterprise Managerによってのみ構成できます。
ファスト・スタート・フェイルオーバーを有効化するには、次の手順を実行します。
ファスト・スタート・フェイルオーバーを有効化します。
EDIT DATABASE db11g SET PROPERTY FastStartFailoverTarget = db11g_stby; EDIT DATABASE db11g_stby SET PROPERTY FastStartFailoverTarget = db11g; EDIT CONFIGURATION SET PROPERTY FastStartFailoverThreshold = 30;
注意: Editコマンドは、DGMGRLコンソールで実行してください。プライマリ・サーバーおよびスタンバイ・サーバーの両方において、SQL*Plusで次のSQLを実行します。 |
SQL> select flashback_on from v$database; SQL> alter database flashback on;
別のホストでオブザーバを起動します。
DGMGRL> connect sys/welcome1@db11g_stby DGMGRL> START OBSERVER; Turn on flashback by sqlplus
DGMGRLコンソールで次のコマンドを実行します。
ENABLE FAST_START FAILOVER;\
手動スイッチオーバーおよびフェイルオーバーをテストするには、次の手順を実行します。
スイッチオーバーおよびフェイルオーバーを次のようにテストします。
スイッチオーバーをテストするには、次を実行します。
dgmgrl>connect sys/welcome1@db11g dgmgrl>switchover to db11g_stby;
フェイルオーバーをテストするには、次を実行します。
dgmgrl>connect sys/oracle@db11g_stby dgmgrl>failover to db11g_stby;
障害をシミュレーションして、ファスト・スタート・フェイルオーバーをテストします。たとえば、次のように入力します。
障害をシミュレーションするために、現在のプライマリ・データベースを停止します。
SQL> connect sys/welcome1@db11g as sysdba SQL> shutdown abort
20秒間待機し、オブザーバによってファイルオーバーが開始されたことを確認します。
After 20 seconds has lapsed, The observer has initiated a failover. 00:37:13.65 Thursday, May 30, 2013 Initiating Fast-Start Failover to database "db11g_stby"... Performing failover NOW, please wait... Failover succeeded, new primary is "db11g_stby" 00:37:20.67 Thursday, May 30, 2013
新しいプライマリ・サーバーがdb11g_stby
であることを確認します。
DGMGRL> show configuration
Oracle ASMには仮想デバイスが必要です。losetup
コマンドを使用して、実際のディスク・デバイスのかわりに仮想デバイスを作成します。
rootでログインし、次の例のように、Oracle ASM用の仮想デバイスを作成します。
mkdir /scratch/example_user/asmdisks chown example_user:dba /asmdisks dd if=/dev/zero of=/scratch/example_user/asmdisks/_file_disk1 bs=1k count=100000 dd if=/dev/zero of=/scratch/example_user/asmdisks/_file_disk2 bs=1k count=100000 dd if=/dev/zero of=/scratch/example_user/asmdisks/_file_disk3 bs=1k count=100000 dd if=/dev/zero of=/scratch/example_user/asmdisks/_file_disk4 bs=1k count=100000 "/sbin/losetup /dev/loop1 /scratch/example_user/asmdisks/_file_disk1" "/sbin/losetup /dev/loop2 /scratch/example_user/asmdisks/_file_disk2" "/sbin/losetup /dev/loop3 /scratch/example_user/asmdisks/_file_disk3" "/sbin/losetup /dev/loop4 /scratch/example_user/asmdisks/_file_disk4" "/bin/raw /dev/raw/raw1 /dev/loop1" "/bin/raw /dev/raw/raw2 /dev/loop2" "/bin/raw /dev/raw/raw3 /dev/loop3" "/bin/raw /dev/raw/raw4 /dev/loop4" "chown example_user:dba /dev/raw/raw1" "chown example_user:dba /dev/raw/raw2" "chown example_user:dba /dev/raw/raw3" "chown example_user:dba /dev/raw/raw4" "chmod 660 /dev/raw/raw1" "chmod 660 /dev/raw/raw2" "chmod 660 /dev/raw/raw3" "chmod 660 /dev/raw/raw4"
Oracle RestartとOracle Automatic Storage Management (Oracle ASM)の両方が必要であり、構成する必要があります。これらはどちらも、スタンドアロン・サーバー・インストール用のOracle Grid Infrastructureに含まれています。
スタンドアロン・サーバー・インストール用のOracle Grid Infrastructureがprimary_host
とstandby_host
の両方にない場合は、『Oracle Databaseインストレーション・ガイド』の指示に従ってください。
Oracle Databaseの後にOracle Restartをインストールした場合は、srvctl
コマンドを使用してデータベース・コンポーネントをOracle Restartに登録する必要があります。続行するには、primary_hostおよびstandby_hostの両方にスタンドアロン・サーバー(Oracle Restart)のGrid Infrastructure 11gR2をインストールします。
注意: サービスの再起動によって次のことが適用されます。
|
データベースの後にOracle Restartがインストールされた場合にデータベース・コンポーネントを登録するには、プライマリ・サーバーとスタンバイ・サーバーの両方で次の手順を実行します。
データベースを追加し、ORACLE_HOME
がデータベース・ホームに設定されていることを確認します。たとえば、次のように入力します。
srvctl add database -d db11g -o $ORACLE_HOME -r PRIMARY srvctl add database -d db11g_stby -o $ORACLE_HOME -r PHYSICAL_STANDBY -s MOUNT
リスナーがデータベース・ホームから開始された場合は、ORACLE_HOME
がデータベース・ホームに設定されていることを確認して、リスナーを追加します。
srvctl add listener -o $ORACLE_HOME
Oracle BrokerのOracle通知サービス(ONS/eONS)を追加し、ORACLE_HOME
がOracle Grid Infrastructureホームに設定されていることを確認します。たとえば、次のように入力します。
srvctl add ons srvctl enable ons srvctl start ons srvctl status ons srvctl add eons srvctl enable eons srvctl start eons srvctl status eons
デフォルトでは、ローカル・クライアント接続用のONSリスニング・ポートは6100で、リモート・ホストからの接続用は6200です。
データベース・サービスを追加し、ORACLE_HOMEがデータベース・ホームに設定されていることを確認します。たとえば、次のように入力します。
プライマリ・データベース:
srvctl add service -d db11g -s manage.example.com -l PRIMARY -y AUTOMATIC -q FALSE -e NONE -m NONE -w 0 -z 0 srvctl add service -d db11g -s distribution.example.com -l PHYSICAL_STANDBY,PRIMARY -y AUTOMATIC -q FALSE -e NONE -m NONE -w 0 -z 0
スタンバイ・データベース:
srvctl add service -d db11g_stby -s manage.example.com -l PRIMARY -y AUTOMATIC -q FALSE -e NONE -m NONE -w 0 -z 0 srvctl add service -d db11g_stby -s distribution.example.com -l PHYSICAL_STANDBY,PRIMARY -y AUTOMATIC -q FALSE -e NONE -m NONE -w 0 -z 0
サービスの追加後に、Oracle Databaseを再起動します。
shutdown immediate; startup;
プライマリ・データベースでOracle Fusion Middlewareリポジトリ作成ユーティリティ(RCU)を実行します。終了後、OPSSスキーマはスタンバイ・データベースに伝播が可能になります。RCUの使用方法の詳細は、『Oracle Identity and Access Managementインストレーション・ガイド』のデータベース要件に関する項を参照してください。
Oracle Entitlements Server管理サーバーのインストール手順については、『Oracle Identity and Access Managementインストレーション・ガイド』の「Oracle Entitlements Serverのインストールと構成」を参照してください。
インストールの際に次の点に注意してください。
Weblogicドメインをインストールするためにconfig.sh
スクリプトを実行する場合は、GridLink
を選択してデータソースを作成します。
GridLinkデータソース用のリスナーを入力する場合は、第1リスナーとしてプライマリ・データベースを追加します。
configureSecurityStore.py
スクリプトを実行する場合は、-m create
オプションがパラメータに追加されていることを確認します。たとえば、次のように入力します。
MW_HOME/oracle_common/common/bin/wlst.sh MW_HOME/Oracle_IDM1/common/tools/configureSecurityStore.py -d /scratch/example_user/Oracle/Middleware/user_projects/domains/domainname/ -t DB_ORACLE -j cn=jpsroot -m create -p welcome1
HAフェイルオーバー・モードの操作をサポートするように、JPS構成ファイルを次のように編集します。
$MW_HOME/user_projects/domains/domainname/config/fmwconfig/jps-config.xml
opss-jdbc.xml
にデータソース・プロパティ用に構成されたGridlinkのJDBC URLは、WebLogic Serverで切替えに使用されます。jps-config.xml
ファイルを編集して、props.db.1
の下で次のプロパティ・エントリをコメント・アウトします。
jdbc.url jdbc.driver bootstrap.security.principal.map bootstrap.security.principal.key
$MW_HOME/user_projects/domains/domainname/config/fmwconfig/jps-config-jse.xml
を次のように編集します。
<property name="jdbc.url" value="jdbc:oracle:thin:@(DESCRIPTION_LIST = (LOAD _BALANCE = off) (FAILOVER = on)(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = primary.example.com)(PORT = 1521)))(CONNECT_DATA = (SERVICE_NAME = manage.example.com)))(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = standby.example.com)(PORT = 1521)))(CONNECT_DATA = (SERVICE_NAME = manage.example.com))))"/>
$MW_HOME/user_projects/domains/domainname/config/jdbc/opss-jdbc.xml
を次のように編集します。
<url>jdbc:oracle:thin:@(DESCRIPTION_LIST = (LOAD_BALANCE = off) (FAILOVER = on)(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = primary.example.com)(PORT = 1521)))(CONNECT_DATA = (SERVICE_NAME = manage.example.com)))(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = standby.example.com)(PORT = 1521)))(CONNECT_DATA = (SERVICE_NAME = manage.example.com))))</url>
セカンダリOracle Entitlements Server管理サーバーをインストールします。インストールの際に次の点に注意してください。
14.5.10項「プライマリ管理サーバーのインストール」の手順に従ってGridLinkデータソースを作成し、次を変更します。manage.example.com
のかわりにdistribution.example.com
を使用し、第1ホストはスタンバイ・データベースにします。
プライマリ・ドメインからEncryptionKey
をエクスポートします。たとえば、次のように入力します。
exportEncryptionKey(jpsConfigFile="/scratch/example_user/Oracle/Middleware/ user_projects/domains/domainname/config/fmwconfig/jps-config.xml",keyFilePath="/net/ standby_host/scratch/example_user/keydir",keyFilePassword="welcome1")
configureSecurityStore.py
スクリプトを実行する場合は、-m join
オプションが追加されていること、およびファーム名がプライマリ管理サーバーのインストール時に使用したものに設定されていることを確認します。たとえば、次のように入力します。
MW_HOME/oracle_common/common/bin/wlst.sh MW_HOME/Oracle_IDM1/common/tools/configureSecurityStore.py -d /scratch/example_user/Oracle/Middleware/ user_projects/domains/domainname/ -t DB_ORACLE -j cn=jpsroot -m join -f domainname -p welcome1 -k /net/standby_host/scratch/example_user/keydir -w welcome1 --create_diagnostic_data
HAフェイルオーバー・モードの操作をサポートするように、JPS構成ファイルを編集します。たとえば、次のように入力します。
$MW_HOME/user_projects/domains/domainname/config/fmwconfig/jps-config.xml
opss-jdbc.xml
にデータソース・プロパティ用に構成されたGridlinkのJDBC URLは、WebLogic Serverで切替えに使用されます。jps-config.xml
ファイルを編集して、props.db.1
の下で次のプロパティ・エントリをコメント・アウトします。
dbc.url jdbc.driver bootstrap.security.principal.map bootstrap.security.principal.key
$MW_HOME/user_projects/domains/domainname/config/fmwconfig/jps-config-jse.xml
を次のように編集します。
property name="jdbc.url" value="jdbc:oracle:thin:@(DESCRIPTION_LIST = (LOAD _BALANCE = off) (FAILOVER = on)(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = standby.example.com)(PORT = 1521)))(CONNECT_DATA = (SERVICE_NAME = distribution.example.com)))(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = primary.example.com)(PORT = 1521)))(CONNECT_DATA = (SERVICE_NAME = distribution.example.com))))"/>
$MW_HOME/user_projects/domains/domainname/config/jdbc/opss-jdbc.xml
を次のように編集します。
<url>jdbc:oracle:thin:@(DESCRIPTION_LIST = (LOAD_BALANCE = off) (FAILOVER = on)(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = standby.example.com)(PORT = 1521)))(CONNECT_DATA = (SERVICE_NAME = distribution.example.com)))(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = primary.example.com)(PORT = 1521)))(CONNECT_DATA = (SERVICE_NAME = distribution.example.com))))</url>
インストール後に、WebLogic Server Consoleを起動して、GridLinkデータソースのJDBC接続の第1ホストを、ローカルのstandby_host
に変更します。
マルチサイト環境で稼働する場合、セキュリティ・モジュールは制御プル・モードに構成する必要があります。
セキュリティ・モジュールを構成するには、smconfig.prpファイルでマルチサイトに関するパラメータを編集し、config.shを実行します。これを行うには、次の手順を実行します。
プライマリ・サイトのsmconfig.prp
ファイルを編集して、次の例のようなエントリを含めます。スタンバイ・サイトのsmconfig.prp
ファイルとは次のような違いがあります。
jdbc.url
プロパティは、SERVICE_NAME
をmanage.example.com
として参照します。
URLの第1ホストはプライマリ・ホストで、次にスタンバイ・ホストが続きます。
jdbc.url=jdbc:oracle:thin:@(DESCRIPTION_LIST = (LOAD_BALANCE = off) (FAILOVER = on)(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = primary-host.example.com)(PORT = 1521)))(CONNECT_DATA = (SERVICE _NAME = manage.example.com)))(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = standby-host.example.com)(PORT = 1521)))(CONNECT_DATA = (SERVICE_NAME = manage.example.com))))
スタンバイ・サイトのsmconfig.prp
ファイルを編集して、次の例のようなエントリを含めます。
# Policy distribution mode. oracle.security.jps.runtime.pd.client.policyDistributionMode=controlled-pull # Policy Store URL for DB policy store jdbc.url=jdbc:oracle:thin:@(DESCRIPTION_LIST = (LOAD_BALANCE = off) (FAILOVER = on)(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = standby-host.example.com)(PORT = 1521)))(CONNECT_DATA = (SERVICE _NAME = distribution.example.com)))(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = primary-host.example.com)(PORT = 1521)))(CONNECT_DATA = (SERVICE_NAME = distribution.example.com)))) # Primary Policy Store URL for Mutli-site Deployment oracle.security.jps.runtime.pd.client.multisite.primaryJdbcUrl=jdbc:oracle:th in:@(DESCRIPTION_LIST = (LOAD_BALANCE = off) (FAILOVER = on)(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = primary-host.example.com)(PORT = 1521)))(CONNECT_DATA = (SERVICE_NAME = manage.example.com)))(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = standby-host.example.com)(PORT = 1521)))(CONNECT_DATA = (SERVICE _NAME = manage.example.com)))) # Oracle Notification Servers for Mutli-site Deployment oracle.security.jps.runtime.pd.client.multisite.onsserver=nodes=primary-host. example.com:6200,standby-host.example.com:6200
マルチサイト構成を有効化するための-multisite
パラメータとともにconfig.sh
コマンドを使用して、ドメイン(プル・モード)を構成します。
WebLogic Serverドメインの場合:
config.sh -smType wls -smConfigId wlsPullDomain -serverLocation <MiddlewareHome>/wlsserver10.3 -multisite
Tomcatドメインの場合:
config.sh -smType tomcat -smConfigId tomcatSmPull -serverLocation /scratch/oesuser/tomcat7/ -multisite
primary JdbcURL
の入力が求められた場合は、次の例のような情報を指定します。
jdbc:oracle:thin:@(DESCRIPTION_LIST = (LOAD_BALANCE = off) (FAILOVER = on)(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = primary-host.example.com)(PORT = 1522)))(CONNECT_DATA = (SERVICE_NAME = manage.example.com)))(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = standby-host.example.com)(PORT = 1521)))(CONNECT_DATA = (SERVICE _NAME = manage.example.com))))
Onsserver
の入力が求められた場合は、次の例のような情報を指定します。
nodes=primary-host.example.com:6200,standby-host.example.com:6200