12 Oracle Directory Servicesコンポーネントの高可用性の構成

この章では、アクティブ/アクティブ構成における高可用性のためのOracle Directory Services製品の構成について説明します。

12c Oracle Directory Services製品について

次の表は、Oracle Identity Management製品の要約です。これらの製品は、12cのスイートレベルのインストール・プログラムを使用してインストールできます。

表12-1 12c Identity Managementコンポーネントおよび製品スイート

製品 説明 製品スイート
Oracle Internet Directory 分散したユーザー、ネットワーク構成およびその他のリソースに関する情報をすばやく取得して集中管理できるLDAP Version 3対応のサービスです。 Oracle Identity Management PlatformおよびDirectory Services Suite
Oracleディレクトリ統合プラットフォーム Oracle Directory Integration Platformは、様々なディレクトリとバックエンド・ディレクトリ間のデータ同期を可能にするJ2EEアプリケーションです。Oracle Directory Integration Platformには、他のエンタープライズ・リポジトリとの同期ソリューションのデプロイを可能とするサービスとインタフェースが含まれています。 Oracle Identity Management PlatformおよびDirectory Services Suite
Oracle Directory Service Manager Oracle Internet DirectoryのGUI。Oracle Directory Services Managerでは、Webベースのフォームやテンプレートを使用できるため、Oracle Virtual DirectoryとOracle Internet Directoryの管理および構成が簡素化されます。Oracle Directory Services Managerは、Oracle Enterprise Manager Fusion Middleware Control、または独自のURLから使用できます。 Oracle Identity Management PlatformおよびDirectory Services Suite

Oracle Internet Directoryのインストールの詳細は、『Oracle Fusion Middleware Oracle Internet Directoryのインストールと構成』インストールの準備に関する項を参照してください

Oracle Directory Servicesの高可用性構成の前提条件

この項では、Oracle Directory Servicesの高可用性構成を設定する前に完了する必要のある前提条件のステップについて説明します。

Oracleホームの要件

Identity ManagementコンポーネントのOracleホームは、すべてのノードで同一である必要があります。

たとえば、
/u01/app/oracle/product/fmw/idm
Node1上のOracleホームとして選択した場合、次に
/u01/app/oracle/product/fmw/idm
すべての後続ノードでOracleホームとして選択する必要があります。

データベースに関する前提条件

いくつかのOracle Identity Managementコンポーネントでは、サポートされているデータベースおよびスキーマが存在している必要があります。

データベースが動作保証されているかどうかを確認するか、または動作保証されたデータベースをすべて表示するには、動作保証ドキュメント(http://www.oracle.com/technology/software/products/ias/files/fusion_certification.html)の、動作保証されたデータベースに関する項を参照してください。

データベースのバージョンを調べるには、次の問合せを実行します。
SQL>select version from sys.product_component_version where product like 'Oracle%'

データベース・リポジトリのインストールと構成について

高可用性データベースを使用してメタデータ・リポジトリを格納することをお薦めします。

可用性を最大にするために、Oracle Real Application Cluster (Oracle RAC) データベースの使用をお薦めします。データベースでは、データ記憶域にOracle自動ストレージ管理を使用することをお薦めします。Oracle ASMを使用する場合、ベスト・プラクティスはOracle Managed Filesも使用することです。

Oracle ASMを使用する場合、Oracle ASMを独自のOracleホームにインストールし、次の2つのディスク・グループを用意します。
  • データベース・ファイル用のグループ。

  • フラッシュ・リカバリ領域用のグループ。

Oracle Clusterware

『Oracle Real Application Clustersインストレーション・ガイドfor Linux and UNIX Systems』を参照してください。

自動ストレージ管理

『Oracle Real Application Clustersインストレーション・ガイドfor Linux and UNIX Systems』を参照してください。

インストーラを実行するときは、「構成の選択」ページで「自動ストレージ管理の構成」を選択して、個別の自動ストレージ管理ホームを作成します。

Real Application Clusters

『Oracle Real Application Clustersインストレーション・ガイドfor Linux and UNIX Systems』を参照してください。

Oracle Fusion Middlewareコンポーネントの多くでは、インストールの前にデータベース内にスキーマがある必要があります。リポジトリ作成ユーティリティ(RCU)を使用して、既存のデータベースにコンポーネント・スキーマを作成します。高可用性環境では、これらのスキーマを作成して、Oracle RACデータベースにロードする必要があります。

Oracle Fusion Middleware 12cメタデータ用データベースの構成

Oracle Identity Managementの高可用性環境のデプロイのネットワークの前提条件が必要です。

次の特性を持つOracle Fusion Middleware 12cメタデータを格納するOracle Real Application Clustersデータベースを作成します。

  • バックアップとリカバリを容易にするためにアーカイブ・ログ・モードになっている必要があります。

  • オプションでフラッシュバックを有効化する必要があります。

  • ALT32UTF8キャラクタ・セットで作成されている必要があります。

静的なPROCESSES初期化パラメータの値は、Oracle Internet Directoryに対して500以上にする必要があります。この値は、リポジトリ作成ユーティリティによってチェックされます。

この値をチェックするには、次のようにSQL*PlusでSHOW PARAMETERコマンドを使用します。

prompt> sqlplus "sys/password as sysdba"
SQL> SHOW PARAMETER processes

パラメータの値を変更する一般的な方法の1つとして、次のようなコマンドを使用し、データベースの停止および再起動をしてパラメータを有効化する方法があります。

prompt> sqlplus "sys/password as sysdba"
SQL> ALTER SYSTEM SET PROCESSES=500 SCOPE=SPFILE;

パラメータ値の変更に使用する方法は、パラメータが静的であるか動的であるかと、データベースがパラメータ・ファイルとサーバー・パラメータ・ファイルのどちらを使用するかによって異なります。

関連項目:

この章で使用するデータベースの例

この章のOracle Directory Servicesの構成例で使用されているデータベースを示します。

表12-2 アイデンティティ管理で使用されるデータベースの構成例

コンポーネント データベース・サービス名 データベース・インスタンス名

Oracle Internet Directory

oid.example.com

oiddb1、oiddb2

Oracleディレクトリ統合プラットフォーム

oid.example.com

oiddb1、oiddb2

Oracle Directory Service Manager

該当なし

該当なし

データベース・サービスの構成

クライアント・アプリケーションがデータベースへの接続に使用するデータベース・サービスは、Oracle Enterprise Manager Cluster Managed Services Pageを使用して作成することをお薦めします。

SQL*Plusを使用して、Oracle RACデータベースを構成し、次の指示に従ってOracle Internet Directoryのフェイルオーバーを自動化することもできます。次の各コマンドは、クラスタ内の1つのノードにのみ実行してください。
  1. CREATE_SERVICEサブプログラムは、データベース・サービスの作成、および高可用性通知の有効化とサーバー側の透過的アプリケーション・フェイルオーバー(TAF)設定の構成の両方に使用します。
    prompt> sqlplus "sys/password as sysdba"
    
    SQL> EXECUTE DBMS_SERVICE.CREATE_SERVICE
    (SERVICE_NAME => 'idm.example.com',
    NETWORK_NAME => 'idm.example.com',
    AQ_HA_NOTIFICATIONS => TRUE, 
    FAILOVER_METHOD => DBMS_SERVICE.FAILOVER_METHOD_BASIC, 
    FAILOVER_TYPE => DBMS_SERVICE.FAILOVER_TYPE_SELECT, 
    FAILOVER_RETRIES => 5, FAILOVER_DELAY => 5);

    EXECUTE DBMS_SERVICEコマンドは、1行で入力する必要があります。

  2. サービスをデータベースに追加し、srvctlを使用してインスタンスに割り当てます。
    prompt> srvctl add service -d idmdb -s idm -r idmdb1,idmdb2
  3. srvctlを使用してサービスを開始します。
    prompt> srvctl start service -d idmdb -s  idm

データベースにサービスが存在している場合は、高可用性通知が有効化され、サーバー側の透過的アプリケーション・フェイルオーバー(TAF)の設定が適切に構成されていることを確認します。DBMS_SERVICEパッケージを使用して、高可用性通知がアドバンスト・キューイング(AQ)を経由するようにサービスを変更するには、次のようにAQ_HA_NOTIFICATIONS属性をTRUEに設定し、サーバー側のTAFの設定を構成します。

prompt> sqlplus "sys/password as sysdba"

SQL> EXECUTE DBMS_SERVICE.MODIFY_SERVICE
(SERVICE_NAME => 'idm.example.com',
AQ_HA_NOTIFICATIONS => TRUE,
FAILOVER_METHOD => DBMS_SERVICE.FAILOVER_METHOD_BASIC, 
FAILOVER_TYPE => DBMS_SERVICE.FAILOVER_TYPE_SELECT, 
FAILOVER_RETRIES => 5, FAILOVER_DELAY => 5);

EXECUTE DBMS_SERVICEコマンドは、1行で入力する必要があります。

関連項目:

  • 『Oracle Real Application Clusters管理およびデプロイメント・ガイド』のOracle Enterprise Manager、PL/SQLおよびSRVCTLによるサービスの管理に関する項

  • 『Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス』のDBMS_SERVICEに関する項

透過的アプリケーション・フェイルオーバーの確認

Oracle Internet Directoryプロセスの起動後、V$SESSION_VIEWのFAILOVER_TYPE、FAILOVER_METHOD、およびFAILED_OVER列を問い合せて、接続されているクライアントおよびそのTAFステータスを取得できます。

たとえば、次のSQL文を使用して、TAFが正しく構成されていることを検証します。
SELECT MACHINE, FAILOVER_TYPE, FAILOVER_METHOD, FAILED_OVER, COUNT(*)
FROM V$SESSION
GROUP BY MACHINE, FAILOVER_TYPE, FAILOVER_METHOD, FAILED_OVER;

フェイルオーバー前の出力は次のようになります。

MACHINE              FAILOVER_TYPE FAILOVER_M  FAI   COUNT(*)
-------------------- ------------- ---------- ---- ----------
oidhost1             SELECT        BASIC       NO          11
oidhost1             SELECT        BASIC       NO           1

フェイルオーバー後の出力は次のようになります。

MACHINE              FAILOVER_TYPE FAILOVER_M  FAI   COUNT(*)
-------------------- ------------- ---------- ---- ----------
oidhost2             SELECT        BASIC       NO          11
oidhost2             SELECT        BASIC       NO           1
ロード・バランサの仮想サーバー名とポートの構成

Oracle Identity Managementの高可用性環境をデプロイするためのロード・バランサおよび仮想サーバー名に対するネットワークの前提条件があります。

ロード・バランサ

Oracle Identity Managementソフトウェア・スタック内のコンポーネントを高可用性構成にデプロイする場合は、すべてのコンポーネントにハードウェア・ロード・バランサが必要です。

ハードウェア・ロード・バランサには、次の機能が必要です。

  • 仮想ホスト名を介した実サーバー・プールへのトラフィックのロード・バランシング機能: クライアントは、仮想ホスト名を使用して(実ホスト名を使用するかわりに)、サービスにアクセスします。ロード・バランサは、リクエストをプールのサーバーにロード・バランスできるようになります。

  • ポート変換の構成: ロード・バランサには、1つのポートで受信した受信リクエストを別のポートで実行されているサーバー・プロセスにルーティングできるポート変換機能が必要です。たとえば、ポート80で受信したリクエストをポート7777にルーティングできます。

  • プロトコル変換: ロード・バランサには、異なるプロトコルを実行するシステム間のプロトコル変換機能が必要です。これにより、発行元デバイスとターゲット指定されたホストに関連付けられているネイティブ・プロトコル・スタックが異なる場合も、あるネットワークに接続しているユーザーが別のネットワーク上のホストにアクセスできます。たとえば、HTTPSリクエストを受信して、HTTPリクエストを送信することができます。

    この機能は推奨されますが、必須ではありません。

  • SSLアクセラレーション: SSLアクセラレーションは、SSLトランザクションで実行され、プロセッサを集中的に使用する公開キー暗号化アルゴリズムを、ハードウェア・アクセラレータにオフロードする方法です。

    この機能は推奨されますが、必須ではありません。

  • ポート(HTTP、HTTPS、LDAP、LDAPS)の監視

  • 仮想サーバーとポートの構成外部ロード・バランサの仮想サーバー名とポートを構成する機能。さらに、仮想サーバー名とポートは次の要件を満たしている必要があります。

    ロード・バランサには複数の仮想サーバーを構成できる必要があります。各仮想サーバーに対し、ロード・バランサには2つ以上のポートでトラフィック管理を構成できることが必要です。たとえば、Oracle Internet Directoryクラスタでは、LDAPおよびLDAPSトラフィック用の仮想サーバーとポートでロード・バランサを構成する必要があります。

    仮想サーバー名は、IPアドレスに関連付けられていて、DNSの一部である必要がある。クライアントは、仮想サーバー名を介してロード・バランサへアクセスできる必要があります。

  • ノード障害を検出し、障害が発生したノードへのトラフィックのルーティングをすぐに停止する機能。

  • リソースの監視/ポートの監視/プロセス障害検出

    ロード・バランサは、サービスおよびノードの障害を通知などの方法を通じて検出し、障害が発生したノードへの非Oracle Netトラフィックの送信を停止できる必要があります。ロード・バランサに障害の自動検出機能がある場合は、それを使用する必要があります。

  • フォルト・トレラント・モード

    ロード・バランサをフォルト・トラレント・モードに構成することを強くお薦めします。

  • その他

    トラフィックの転送先となるバックエンド・サービスが使用不可の場合に、すぐにコール元クライアントに戻るようロード・バランサの仮想サーバーを構成しておくことをお薦めします。これは、クライアントのマシンのTCP/IP設定に基づくタイムアウトの後、自ら接続解除するクライアントに対して好ましい構成です。

  • スティッキーなルーティング機能

    CookieまたはURLに基づいたコンポーネントへのスティッキーな接続を維持する機能

次の表は、Oracle Identity Managementの高可用性環境で外部ロード・バランサに使用する仮想サーバー名を示しています。

表12-3 外部ロード・バランサの仮想サーバー名

コンポーネント 仮想サーバー名
Oracle Internet Directory oid.example.com
Oracle Directory Services Managerコンソール admin.example.com
仮想サーバー名

高可用性デプロイメントのために仮想サーバー名を設定する必要があります。仮想サーバー名に対応するIPアドレスが設定されていることと、仮想サーバー名がドメイン・ネーム・システム(DNS)に登録されていることを確認します。Oracle Fusion Middlewareを実行するコンピュータでは、これらの仮想サーバー名を解決できる必要があります。

oid.example.com

この仮想サーバーは、ディレクトリ層のOracle Internet DirectoryサーバーへのすべてのLDAPトラフィックのアクセス・ポイントとして機能します。SSLポートおよび非SSLポートの両方へのトラフィックが構成されます。クライアントは、SSLの場合はアドレスoid.example.com:636、非SSLの場合はoid.example.com:389を使用してこのサービスにアクセスします。

OIDHOST1およびOIDHOST2上のOracle Internet Directoryプロセスのハートビートを監視します。OIDHOST1またはOIDHOST2上でOracle Internet Directoryプロセスが停止した場合、あるいはいずれかのホストで障害が発生した場合、ロード・バランサは障害が発生していないコンピュータへのLDAPトラフィックのルーティングを継続する必要があります。

Oracle Internet Directoryの高可用性

この項では、Oracle Internet Directoryの概要、およびOracle Internet Directoryの高可用性環境の設計とデプロイ方法について説明します。

Oracle Internet Directoryコンポーネント・アーキテクチャについて

Oracle Internet Directoryは、Directory Integration Platform、Oracle Directory Services Manager、JPSなどのOracleコンポーネント、およびOracle以外のコンポーネントから使用可能なLDAPストアです。これらのコンポーネントは、LDAPまたはLDAPSプロトコルを使用してOracle Internet Directoryに接続します。

Oracleディレクトリ・レプリケーション・サーバーはLDAPを使用して、Oracleディレクトリ(LDAP)サーバー・インスタンスと通信します。データベースとの通信には、すべてのコンポーネントでOCI/Oracle Net Servicesを使用します。Oracle Directory Services Managerとコマンド行ツールは、LDAPを介してOracleディレクトリ・サーバーと通信します。

Oracle Internet Directoryのノードは、同じディレクトリ・ストアに接続された1つ以上のディレクトリ・サーバー・インスタンスで構成されます。ディレクトリ・ストア、つまりディレクトリ・データのリポジトリは、Oracle Databaseになります。

Oracle Internet Directoryのノードには次の主要な要素が組み込まれています。

表12-4 Oracle Internet Directoryのノード

要素 説明

Oracleディレクトリ・サーバー・インスタンス

LDAPサーバー・インスタンスまたはディレクトリ・サーバー・インスタンスとも呼ばれ、特定のTCP/IPポートでリスニングする単一のOracle Internet Directoryディスパッチャ・プロセスを介して、ディレクトリ・リクエストに応答します。1つのノードに、異なるポートでリスニングする複数のディレクトリ・サーバー・インスタンスを設定できます。

Oracleディレクトリ・レプリケーション・サーバー

レプリケーション・サーバーとも呼びます。別のOracle Internet Directoryシステムにあるレプリケーション・サーバーに対する変更の追跡と送信を行います。1つのノードのレプリケーション・サーバーは、1つに限られます。レプリケーション・サーバーを構成するかどうかは選択できます。同一データベースを使用するOracle Internet Directoryに複数のインスタンスがある場合、そのうちの1つのみがレプリケーションを実行できます。これは、Oracle Internet Directoryインスタンスが複数のノードに存在する場合も同様です。

レプリケーション・サーバー・プロセスは、Oracle Internet Directory内のプロセスです。レプリケーションが構成されている場合にのみ実行されます。

Oracle Internet Directoryのレプリケーションの詳細は、「高可用性を最大化するIdentity Managementの構成」を参照してください。

Oracle Databaseサーバー

ディレクトリ・データを格納します。ディレクトリ専用のデータベースとすることを強くお薦めします。データベースは、ディレクトリ・サーバー・インスタンスと同じノードに置くことができます。

OIDモニター(OIDMON)

LDAPサーバー・プロセスおよびレプリケーション・サーバー・プロセスを開始、モニターおよび終了します。oidctl、ノード・マネージャなどのプロセス管理コマンドを呼び出す場合、またはFusion Middleware Controlを使用してサーバー・インスタンスを起動または停止する場合は、このプロセスによってコマンドが解釈されます。

また、OIDMONはサーバーをモニターし、異常な理由で実行が停止した場合に再起動させます。

OIDMONは、OIDLDAPDのデフォルト・インスタンスを起動します。OIDCTLコマンドを使用してOIDLDAPDのデフォルト・インスタンスが停止された場合、OIDMONがそのインスタンスを停止します。ノード・マネージャによって(startComponent.shを使用して)OIDMONが再起動された場合、OIDMONはデフォルト・インスタンスを再起動します。

すべてのOIDモニター・アクティビティはファイルDOMAIN_HOME/servers/OID/logs/oid1/oidmon-xxxx.logにログインされます。このファイルはOracle Internet Directoryサーバー・ファイル・システムにあります。

OID制御ユーティリティ(OIDCTL)

Oracle Internet Directoryサーバーの表にメッセージ・データを配置して、OIDモニターと通信します。このメッセージ・データには、各Oracleディレクトリ・サーバー・インスタンスの実行に必要な構成パラメータが含まれます。通常は、レプリケーション・サーバーを起動および停止するためにのみ、コマンド行から使用されます。

Oracle Internet Directoryコンポーネントの特性

Oracle Internet Directoryは、OracleのLDAPストアであり、データベースを永続ストアとして使用するCベースのコンポーネントです。これはステートレスなプロセスで、すべてのデータと構成情報の大部分をバックエンド・データベースに格納します。データベースへの接続には、Oracle Net Servicesを使用します。

ランタイム・プロセス

Oracle Internet Directoryには、次のランタイム・プロセスがあります。

  • OIDLDAPD: Oracle Internet Directoryのメイン・プロセスです。OIDLDAPDは、ディスパッチャ・プロセスとサーバー・プロセスで構成されます。ディスパッチャ・プロセスは、起動時にOIDLDAPDサーバー・プロセスを作成します。各OIDLDAPDディスパッチャ・プロセスには、リクエストを受信するための固有のSSLポートおよび非SSLポートがあります。デフォルトでは、各OIDインスタンスにはディスパッチャとサーバー・プロセスが1つずつあります。1つのインスタンスに作成されるサーバー・プロセスの数は、orclserverprocs属性によって制御されます。

  • OIDMON: OIDMONは、Oracle Internet Directoryインスタンスのプロセス制御を行います。このプロセスは、Oracle Internet Directoryの起動、停止および監視を行います。OIDMONは起動時にOIDLDAPDディスパッチャ・プロセスを作成し、インスタンスにレプリケーションが構成されている場合はレプリケーション・サーバー・プロセスも作成します。

  • レプリケーション・サーバー・プロセス: Oracle Internet Directory内のプロセスで、レプリケーションが構成されている場合にのみ実行されます。レプリケーション・サーバー・プロセスは、起動時にOIDMONによって作成されます。

  • ノード・マネージャ: ノード・マネージャは、Oracle Internet Directoryを含むOracle Fusion Middlewareのシステム・コンポーネントをモニターするデーモン・プロセスです。

    ノード・マネージャは、OIDMONを直接、起動、停止、再起動、および監視します。サーバー・プロセスを直接起動または停止することはありません。

プロセスのライフサイクル

ノード・マネージャは、デーモン・プロセスOIDMON (ORACLE_HOME/bin/oidmon)を直接、起動、停止、再起動およびモニターします。OIDMONは、Oracle Internet Directoryインスタンスのプロセス制御を行います。

プロセス・ステータス表

Oracle Internet Directoryのプロセス情報は、ODSデータベース・ユーザー・スキーマのODS_PROCESS_STATUS表で管理されます。OIDMONは、指定された間隔で表の内容を読み取り、その表の内容が伝える目的に従って動作します。この間隔は、OIDMON起動時に使用されたスリープ・コマンド・ラインの引数の値によって制御されます。デフォルト値は10秒です。

Oracle Internet Directoryの起動と停止

Oracle Internet Directoryインスタンスは、システム・コンポーネント管理スクリプト、startComponent.shおよびstopComponent.shを使用して起動および停止できます。

プロセスの起動

Oracle Internet Directoryの起動プロセスは次のとおりです。

  1. 起動コマンドを受信すると、ノード・マネージャは、適切な引数を使用してoidmon startコマンドを発行します。

  2. 次に、OIDMONは、ODS_PROCESS_STATUS表のstate値が1または4で、かつノード・マネージャによって設定されている環境パラメータとCOMPONENT_NAME、INSTANCE_NAME値が一致する、すべてのOracle Internet Directoryサーバー・インスタンスを起動します。

プロセスの停止

Oracle Internet Directoryの停止プロセスは次のとおりです。

  1. 停止コマンドを受信すると、ノード・マネージャは、oidmon stopコマンドを発行します。

  2. 環境パラメータCOMPONENT_NAME、およびINSTANCE_NAMEと合致するODS_PROCESS_STATUS表の行ごとに、oidmon stopコマンドは、OIDMON、OIDLDAPDおよびOIDREPLDプロセスを中断し、状態を4に更新します。

モニタリング

ノード・マネージャは、サーバー・プロセスを直接モニターしません。ノード・マネージャはOIDMONをモニターし、OIDMONはサーバー・プロセスをモニターします。イベントは次のとおりです。

  • ノード・マネージャを使用してOIDMONを起動すると、ノード・マネージャはOIDMONを起動し、OIDMONが稼働中であることを確認します。

  • なんらかの理由でOIDMONが停止すると、ノード・マネージャによって再起動されます。

  • OIDMONは、Oracle Internet Directoryディスパッチャ・プロセス、LDAPサーバー・プロセスおよびレプリケーション・サーバー・プロセスのステータスをモニターし、このステータスをノード・マネージャで使用できるようにします。

リクエスト・フロー

Oracle Internet Directory (OID)プロセスが起動すると、クライアントはLDAPまたはLDAPSプロトコルを使用してOIDにアクセスします。OIDインスタンスの起動時に、実行中の他のインスタンスへの影響はありません

Oracle Internet Directoryリスナー/ディスパッチャは、起動時に構成された数のサーバー・プロセスを起動します。サーバー・プロセスの数は、インスタンス固有の構成エントリのorclserverprocs属性によって制御されます。orclserverprocsのデフォルト値は1です。OIDでは複数のサーバー・プロセスによって、マルチ・プロセッサ・システムのメリットが得られます。

OIDディスパッチャ・プロセスは、OIDサーバー・プロセスへのLDAP接続をラウンドロビン方式で送信します。各サーバーに受け入れられるLDAP接続の最大数は、デフォルトでは1024です。この数は、次の形式の識別名を持つインスタンス固有の構成エントリの属性orclmaxldapconnsを変更することで増やすことができます。

cn=componentname,cn=osdldapd,cn=subconfigsubentry

各サーバー・プロセスからのデータベース接続は、インスタンス構成パラメータORCLMAXCCおよびORCLPLUGINWORKERSに設定された値に応じてサーバーの起動時に作成されます。各サーバーで作成されるデータベース接続の数は、ORCLMAXCC + ORCLPLUGINWORKERS + 2と等しくなります。OIDのサーバー・プロセスはOracle Net Servicesを介してOracle Databaseサーバーと通信します。Oracle Net Servicesリスナー/ディスパッチャは、リクエストをOracle Databaseに中継します。詳細は、『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』を参照してください。

構成アーティファクトについて

記憶域の配置にはDB接続文字列が必要です。TNSNAMES.ORAはDOMAIN_HOME/configに保存されます。ウォレットはDOMAIN_HOME/config/fmwconfig/components/OID/adminに保存されます(DB ODSユーザー・パスワードはウォレットに格納されます)。

外部依存性

Oracle Internet Directoryでは、データと同様に構成情報の格納にもOracle Databaseを使用します。この情報の格納にはODSスキーマを使用します。

Oracleディレクトリ・レプリケーション・サーバーはLDAPを使用して、Oracleディレクトリ(LDAP)サーバー・インスタンスと通信します。データベースとの通信には、すべてのコンポーネントでOCI/Oracle Net Servicesを使用します。Oracle Directory Services Managerとコマンド行ツールは、LDAPを介してOracleディレクトリ・サーバーと通信します。

Oracle Internet Directoryのログ・ファイル

Oracle Internet Directoryのログ・ファイルは、次のディレクトリにあります。

DOMAIN_HOME/servers/OID/logs/InstanceName/

表は、Oracle Internet Directoryのプロセスとログ・ファイル名、およびプロセスの場所を示しています。

表12-5 Oracle Internet Directoryのプロセス・ログ・ファイルの場所

プロセス ログ・ファイルの場所

ディレクトリ・サーバー(oidldapd)

DOMAIN_HOME/servers/OID/logs/InstanceName/oidldapd00sPID-XXXX.log。ここで、

00はインスタンス番号です(デフォルトは00)。

sはサーバーを表します。

PIDはサーバー・プロセス識別子です。

XXXXは、0000からorclmaxlogfilesconfiguredまでの数値です。orclmaxlogfilesconfigured値に達すると、再び0000から開始されます。この開始時にはファイルは0バイトに切り捨てられます。

DOMAIN_HOME/servers/OID/logs/InstanceName/oidstackInstNumberPID.log

LDAPディスパッチャ(oiddispd)

DOMAIN_HOME/servers/OID/logs/InstanceName/oiddispd00-XXXX.log。ここで、

00はインスタンス番号です(デフォルトは00)。

XXXXは、0000からorclmaxlogfilesconfiguredまでの数値です。

OIDモニター(OIDMON)

DOMAIN_HOME/servers/OID/logs/InstanceName/oidmon-XXXX.log。ここで、

XXXXは、0000からorclmaxlogfilesconfiguredまでの数値です。

ディレクトリ・レプリケーション・サーバー(oidrepld)

DOMAIN_HOME/servers/OID/logs/InstanceName/oidrepld-XXXX.log。ここで、

XXXXは、0000からorclmaxlogfilesconfiguredまでの数値です。

ログ・ファイルを使用したOracle Internet Directoryのトラブルシューティングの詳細は、「Oracle Internet Directoryの高可用性のトラブルシューティング」を参照してください。

Oracle Internet Directoryの高可用性の概念の理解

この項では、Oracle Internet Directoryを2ノードのクラスタ構成による高可用性で使用する場合の概要について説明します。

前提条件の詳細は、「Oracle Internet Directoryの前提条件」を、2ノードのクラスタ構成を設定するには、「Oracle Internet Directoryの高可用性の構成ステップ」を参照してください。

Oracle Internet Directoryの高可用性アーキテクチャ

Oracle Internet Directoryクラスタ構成のアクティブ/アクティブ構成における高可用性アーキテクチャについて確認します。

図12-1は、Oracle Internet Directoryクラスタ構成のアクティブ/アクティブ構成における高可用性アーキテクチャを示しています。

図12-1 Oracle Internet Directoryクラスタ構成の高可用性アーキテクチャ

図12-1の説明が続きます
「図12-1 Oracle Internet Directoryクラスタ構成の高可用性アーキテクチャ」の説明

図12-1は、クラスタ構成の高可用性アーキテクチャのディレクトリ層のOracle Internet Directory (OID)を示しています。クラスタ化はインストール時に設定されます。ロード・バランシング・ルーターによって、LDAPクライアント・リクエストが2つのOIDインスタンスにルーティングされます(この2つのインスタンスは、OIDHOST1OIDHOST2上にあり、クラスタ化されています)。

Oracle RACデータベースをセキュリティ・メタデータ・リポジトリとして使用しているOIDインスタンスの接続には、透過的アプリケーション・フェイルオーバー(TAF)が使用されます。Oracle RACデータベースは、TNSNAMES.ORAに構成されます。高可用性イベント通知は、Oracle RACインスタンスが使用不可となった場合の通知に使用されます。

クラスタの起動と停止

「クラスタ構成」で、ノード・マネージャ(startComponent.shおよびstopComponent.shコマンド)は各OIDインスタンスを起動します。起動時にOIDへの影響はありません。OIDの起動時に新しいデータベース接続が作成されます。

ノード・マネージャを使用してクラスタを停止すると(stopComponent.shコマンド)、OIDは、データベースとの接続を切断し、OIDサーバーが停止します。

クラスタワイドの構成変更(OID)

Oracle Internet Directoryを高可用性構成にデプロイする場合は、そのクラスタのすべてのOracle Internet Directoryインスタンスが同じデータベースを共有します。いずれかのOracle Internet DirectoryノードのOracle Directory Integration Platformに加えられた変更は、クラスタ内のすべてのOracle Internet Directoryインスタンスに自動的に伝播されます。

ディレクトリ同期プロファイル

デフォルトのOracle Internet Directoryマルチマスター・レプリケーション環境では、任意のOracle Internet Directoryノード上のディレクトリ統合プロファイルへの変更は、他のOracle Internet Directoryノードへは自動的にレプリケートされません。変更は、1次ノードから2次ノードに対して定期的に手動でコピーする必要があります。これにより、1次ノードで問題が発生した場合、2次ノードでディレクトリ同期プロファイルを実行できます。

Oracle Directory Integration Platformではパラメータorcllastappliedchangenumberが使用されます。ディレクトリ同期プロファイルのlastchangenumber属性に指定した値は、Oracle Directory Integration Platformが実行されているディレクトリ・サーバーによって異なります。アクティブ/アクティブ構成のOracle Directory Integration Platformでは、すべてのインスタンスのlastchangenumber属性を手動で更新する必要があります。

1次Oracle Internet Directoryノードと2次ノード間でディレクトリ・プロビジョニング・プロファイルを同期する手順:

  1. 1次ノードで、ldifwriteコマンドを使用して、このコンテナからエントリのLDIFダンプを作成します。
    cn=subscriber profiles,cn=changelog subscriber,cn=oracle internet directory
  2. LDIFダンプを2次ノードにコピーします。

  3. ldapaddコマンドを使用して、2次ノードにプロファイルを追加します。

エクスポート・プロファイルをターゲット・ノードにコピーした後、lastchangenumber属性をターゲット・ノードの値で更新する必要があります。値を更新する手順は次のとおりです。

  1. 同期プロファイルを無効化します。

  2. ldapsearchコマンドを使用して、ターゲット・ノードでlastchangenumber属性の値を取得します。

  3. ldapsearchを使用して、プロファイル・エントリのLDIFダンプを取得します。

  4. ldapaddを使用して、他の管理対象サーバー・インスタンスにプロファイルを追加します。

  5. Oracle Directory Integration Platformの管理コンソールに移動し、プロファイルを選択します。「編集」を選択します。「詳細」タブを選択して、「編集して維持」を選択します。lastchangenumber属性の値を入力します。プロファイルを保存します。

  6. 同期プロファイルを有効化します。

ディレクトリ・プロビジョニング・プロファイル

デフォルトのOracle Internet Directoryマルチマスター・レプリケーション環境では、Oracle Directory Integration Platformは1次Oracle Internet Directoryと同じ場所にインストールされます。この項の情報とステップは、マルチマスター・レプリケーションが設定されている場合にのみ適用できます。

プライマリ・ノードに障害が発生した場合、そのノードにあるすべてのプロファイルに対するイベント伝播は停止します。イベントはキューに入れられ、1次ノードの停止中にも失われることはありませんが、どのアプリケーションにもイベントは伝播されません。バージョン1.0および2.0のプロファイルで、1次ノードが停止した場合でもイベントの伝播が継続されることを保証するには、ディレクトリ・プロビジョニング・プロファイルを他の2次ノードにコピーする必要があります。

ただし、アプリケーションがインストールされた直後からOracle Internet Directoryでユーザー変更が行われる前に、ディレクトリ・プロビジョニング・プロファイルを1次ノードから任意の2次ノードにコピーします。

1次ノードと2次ノード間でディレクトリ・プロビジョニング・プロファイルを同期する手順:

  1. 1次ノードで、ldifwriteコマンドを使用してこのコンテナからエントリのLDIFダンプを作成します。

    cn=provisioning profiles,cn=changelog subscriber,cn=oracle internet directory
  2. LDIFダンプを2次ノードにコピーします。

  3. ldapaddコマンドを使用して、2次ノードにプロファイルを追加します。

障害からの保護および予想される動作

この項では、OIDクラスタ構成における様々な障害からの保護について説明します。

Oracle Internet Directoryプロセスの障害

OIDMONは、OIDプロセスを監視します。OIDプロセスが停止すると、OIDMONが再起動を試行します。

ノード・マネージャはOIDMONをモニターします。OIDMONが停止すると、ノード・マネージャがOIDMONを再起動します。

OIDプロセスを再起動できない場合は、フロントエンドのロード・バランシング・ルーターによってクラスタ構成内のOIDインスタンスの障害が検出され、障害が発生していないインスタンスにLDAPトラフィックがルーティングされます。障害が発生した場合、LDAPクライアントによってトランザクションが再試行されます。トランザクションの途中でインスタンスに障害が発生した場合は、そのトランザクションはデータベースにコミットされません。障害が発生したインスタンスが再起動すると、ロード・バランシング・ルーターによってこれが検出され、すべてのインスタンスにリクエストがルーティングされます。

クラスタ構成内のOIDインスタンスが停止すると、ロード・バランシング・ルーターによってこれが検出され、障害が発生していないインスタンスにリクエストがルーティングされます。

2ノードのクラスタ構成で一方のOIDインスタンスに障害が発生した場合(またはインスタンスをホストするコンピュータの一方に障害が発生した場合)は、ロード・バランシング・ルーターによって、障害が発生していないOIDインスタンスにクライアントがルーティングされます。

障害発生時に予想されるクライアント・アプリケーションの動作

ロード・バランサを介してOIDクライアントへのルーティングが継続されるため、通常、Oracle Internet Directoryサーバーの障害はOIDクライアントに対して透過的です。通常、外部ロード・バランサはOIDプロセスのヘルス・チェックを実行するように構成されます。プロセスが利用不可であることをロード・バランサが検出する前にリクエストが受信されると、クライアント・アプリケーションでエラーを受信することがあります。クライアント・アプリケーションが再試行した場合、ロード・バランサは、これを正常なOIDインスタンスにルーティングし、リクエストは正常に行われます。

OIDのアクティブ/アクティブ構成では、フェイルオーバー時にLDIFファイルを介してldapadd操作を実行していると、ロード・バランサ・ホストとポートを介して実行している場合でも、この操作がエラーになることがあります。これは、OIDが一瞬停止するためです。ほとんどのアプリケーションには、固定回数の接続を再試行する機能があるためこの問題は発生しません。

外部依存性の障害

この項では、OIDに利用できるデータベース障害からの保護について説明します。

デフォルトでは、OIDのORACLE_INSTANCEで構成されたtnsnames.oraファイルによって、OIDからデータベースへの接続はOracle RACデータベース・インスタンス間でロード・バランシングされることが保証されます。たとえば、OIDインスタンスが4つのデータベース接続を確立した場合、各データベース・インスタンスに対して接続が2つ確立されます。

Oracle Internet Directoryは、データベースの高可用性イベント通知を使用してデータベースのノード障害を検出し、障害が発生していないノードへフェイルオーバーします。

透過的アプリケーション・フェイルオーバー(TAF)が構成されている場合は、データベース・インスタンスの障害発生時に、OIDが正常に稼働しているデータベース・インスタンスにデータベース接続をフェイルオーバーし、これにより、フェイルオーバー時に行われていたLDAPの検索操作が継続されます。

TAFと高可用性イベント通知の両方が構成されている場合は、フェイルオーバーにはTAFが使用され、高可用性イベント通知は、イベントの記録にのみ使用されます。高可用性イベント通知は、OIDLDAPDログ・ファイルに記録されます。

Oracle Internet Directoryには、失効したデータベース接続を検出するメカニズムもあり、これにより、データベースへの再接続が可能になります。

いずれのデータベース・インスタンスも使用できない状態が長く続いた場合は、OIDのLDAPおよびREPLの各プロセスは自動的に停止します。ただし、OIDMONとノード・マネージャ、データベース・インスタンスの可用性に対してpingを継続し、データベースが使用可能になると、OIDMONによってOIDのプロセス(LDAPとREPL)が自動的に再起動されます。

すべてのデータベース・インスタンスが停止している場合でも、OIDMONは実行を継続し、oid_instanceStatus(instanceName = 'instance-name')コマンドによってOIDLDAPDインスタンスの停止が示されます。データベース・インスタンスが利用可能になると、OIDMONは構成されているすべてのOIDインスタンスを再起動します。

OIDのアクティビティに起因するデータベースのフェイルオーバーはすべて、OIDMONログ・ファイルに記録されます。

Oracle Internet Directoryの前提条件

この項では、OIDの高可用性アーキテクチャを設定するための前提条件について説明します。

Oracle Internet Directoryノード間での時間の同期

高可用性環境でOIDを設定する前に、個々のOIDノードの時間が同期されていることを確認する必要があります。

グリニッジ標準時を使用して全ノードの時間を同期し、ノード間で250秒を超える差異が発生しないようにします。

OIDモニターが2つのノード間で250秒を超える時間の差異を検出すると、遅れているノードのOIDモニターがそのノード上のすべてのサーバーを停止します。この問題を修正するには、遅れているノードの時間を正しい時間に同期させます。OIDモニターは、システム時間の変更を自動的に検出し、そのノードのOIDサーバーを起動します。

2つ以上のノードがある場合は同様の動作が続きます。たとえば、3つのノードがあり、1つ目のノードが2つ目のノードより150秒進み、2つ目のノードは3つ目のノードより150秒進んでいるとします。この場合、3つ目のノードは最初のノードから300秒遅れているため、OIDモニターは時間が同期するまで3つ目のノードのサーバーを起動しません。

Oracle Internet Directory用のロード・バランサの仮想サーバー名

OIDを高可用性構成でデプロイする場合は、OIDインスタンスのフロントエンドに外部ロード・バランサを使用して、各種OIDインスタンス間のリクエストをロード・バランシングすることをお薦めします。

「ロード・バランサの仮想サーバー名とポートの構成」を参照してください。

Oracle Internet Directoryの高可用性の構成ステップ

WebLogic Serverドメインの一部としてOracle Internet Directoryの高可用性構成をデプロイできます。

OIDをクラスタ・デプロイメント内に設定することをお薦めします(クラスタ化されたOIDインスタンスは、同じOracle RACデータベース・リポジトリにアクセスします)。

Oracle Fusion Middlewareコンポーネントのインストール

この章では、Oracle Identity Management用にOracle WebLogic Server (WL_HOME)およびOracleホーム(ORACLE_HOME)に必要なバイナリをインストールする方法について説明します。

設定プロセスを開始する前に、リリース・ノートを読んで、インストールとデプロイメントに関して追加の考慮事項がないか確認することを強くお薦めします。

Oracle WebLogic Serverをインストールします。

この項では、Oracle WebLogic Serverをインストールする手順を説明します。

最新バージョンのOracle Fusion Middlewareとともに使用するOracle WebLogic Serverのバージョンは、『Oracle Fusion Middlewareインストレーション・プランニング・ガイド』インストール開始点の概要に関する項を参照してください。
『Oracle Fusion Middleware Oracle WebLogic Serverインストレーション・ガイド』インストールの前提条件に関する項の説明に従って、システム、パッチ、カーネルおよびその他の要件が満たされていることを確認します。
Oracle WebLogic Serverインストーラを起動して、次のステップに従います。
  1. 「ようこそ」画面で、「次へ」をクリックします。
  2. 「インストール場所を選択」画面で、WebLogic Serverをインストールするフォルダを参照して移動します。
    「次へ」をクリックします
  3. 「インストール・タイプ」画面で、「Fusion Middlewareインフラストラクチャ」を選択します。
  4. 「前提条件チェック」画面で、「次へ」をクリックします。
  5. 「インストール・サマリー」画面に、インストール対象として選択したコンポーネントの一覧と、それらをインストールするために使用されるディスク領域の概算値が表示されます。
    「インストール」をクリックします。
  6. 「インストールの進行状況」で「次へ」をクリックします。
  7. 「インストール 完了」画面で「終了」をクリックします。
Oracle Internet Directoryのインストール

この項では、Oracle Internet Directoryをインストールする手順を説明します。

システム、パッチ、カーネルなどの要件が満たされていることを確認します。これらの一覧は、『Oracle Fusion Middleware Oracle Identity Managementインストレーション・ガイド』インストールの準備に関する項にあります。

注意:

OIDのインストールに使用されているORACLE_HOMEがWebLogicサーバーのインストールに使用されたORACLE_HOMEと同じであることを確認します。

Linuxプラットフォームで、/etc/oraInst.locファイルが存在している場合には、その内容が正しいことを確認します。具体的には、インベントリ・ディレクトリが正しいこと、およびそのディレクトリに対する書込み権限が付与されていることを確認します。/etc/oraInst.locファイルが存在していない場合には、このステップをスキップします。

Oracle Fusion Middlewareコンポーネント用のインストーラを起動します。

インストールを開始する前に、次の環境変数が設定されていないことを確認してください。

  • LD_ASSUME_KERNEL

「インベントリ・ディレクトリの指定」画面で、次の操作を行います。

  • HOME/oraInventoryと入力します。ここで、HOMEはインストールを実行するユーザーのホーム・ディレクトリです(これが推奨場所です)。

  • インストールを実行するユーザーのOSグループを入力します。「次へ」をクリックします。

UNIXのインストールの場合は、画面の手順に従ってrootとしてcreateCentralInventory.shを実行します。

「OK」をクリックします。

次の手順を実行します。

  1. Oracle Internet Directory 12cインストーラを起動します。

  2. 「ようこそ」画面で、「次へ」をクリックします。

  3. 「自動更新」画面で「自動更新をスキップ」を選択し、「次へ」をクリックします。

  4. 「インストール場所」画面で、Oracle Internet Directoryをインストールするフォルダを参照して移動します。「次へ」をクリックします

    注意:

    OIDのインストールに使用されているORACLE_HOMEがWeblogicサーバーのインストールに使用されたORACLE_HOMEと同じであることを確認します。
  5. 「インストール・タイプ」画面で、要件に基づき、いずれかのオプションを選択します。「スタンドアロンOracle Internet Directory Server (WebLogic Serverとは切り離して管理)」または「同じ場所に配置されたOracle Internet Directory Server (WebLogic Server経由で管理)」「次へ」をクリックします。

  6. 「JDKの選択」画面で、jdk8フォルダを参照して選択し、「次へ」をクリックします。

  7. 「前提条件のチェック」で、すべての前提条件が満たされ、警告がないことを確認します。「次へ」をクリックします。

  8. 「インストール・サマリー」画面で「インストール」をクリックします。

  9. 「終了」をクリックします。

RCUを使用したリポジトリへのOracle Internet Directoryスキーマの作成

この項では、リポジトリ作成ユーティリティ(RCU)を使用してリポジトリにスキーマを作成する手順について説明します。

RCUを実行し、RACデータベース・リポジトリにアイデンティティ管理スキーマを作成する手順:
  1. 次のコマンドを実行します。
    ORACLE_HOME/oracle_common/bin/rcu &
  2. 「ようこそ」画面で、「次へ」をクリックします。
  3. 「リポジトリの作成」画面で、「リポジトリの作成」および「システム・ロードおよび製品ロード」を選択して、コンポーネント・スキーマを既存のデータベースにロードします。

    「次へ」をクリックします。

  4. 「データベース接続の詳細」画面で、既存のデータベースの接続情報を次のように入力します。
    • データベース・タイプ: Oracle Database
    • 接続文字列の書式: いずれかを選択します
      • 接続パラメータ: このオプションはすべての接続パラメータ(すなわち、ホスト、ポートおよびサービス名)を様々なUI要素で別個に受け入れるインタフェースを提供します。

      • 接続文字列: このオプションは1つの文字列ですべてのパラメータを受け入れます。この文字列は、次のいずれかの形式で指定できます。

        <host>:<port>/serviceまたは<host>:<port>:<SID>または(DESCRIPTION=(ADDRESS=(host=host_name)(protocol=protocol_name)(port=port_number))(CONNECT_DATA=(SERVICE_NAME=service_name)))

    • ホスト名: データベースを実行しているコンピュータの名前。Oracle RACデータベースの場合は、VIP名またはノード名を指定します。例: INFRADBHOST1-VIPまたはINFRADBHOST2-VIP
    • ポート: データベースのポート番号。例: 1521
    • サービス名: データベースのサービス名。例: oid.example.com
    • ユーザー名: SYS
    • パスワード: SYSユーザーのパスワード
    • ロール:SYSDBA
  5. 「次へ」をクリックします。
  6. 「コンポーネントの選択」画面で、新しい接頭辞を作成して、このデプロイメントに関連するコンポーネントを選択します。

    接頭辞の新規作成: idm(「コンポーネント」フィールドで「アイデンティティ管理」(Oracle Internet Directory - ODS)しか選択していない場合は、接頭辞の入力はオプションです)

    コンポーネント: 「アイデンティティ管理」(Oracle Internet Directory - ODS)を選択します。Identity Managementコンポーネントの選択時に、Oracle Internet Directoryに依存するデフォルトのコンポーネントの一部は自動的に選択されます。

    「次へ」をクリックします。

  7. 「スキーマ・パスワード」画面で、主要なスキーマ・ユーザーおよび補助スキーマ・ユーザーを作成するためのパスワードを入力します。

    「次へ」をクリックします。

  8. 「表領域のマップ」画面で、コンポーネントの表領域を選択します。選択したコンポーネントのデフォルトの表領域が表示されます。「次へ」をクリックします
  9. 「サマリー」画面で「作成」をクリックします。
  10. 「完了サマリー」画面で「閉じる」をクリックします。
WebLogicドメインを使用したOracle Internet Directoryの構成

この構成では、1つ目のホストと2つ目のホストにOIDとWebLogic Serverドメインが構成されます。2つ目のホストのOIDインスタンスは、1つ目のホストで作成されたドメインに参加します。

Oracle Identity Managementのインストーラによって割り当てられるOracle Internet Directoryのコンポーネント名

構成ウィザードを使用してOIDを構成する場合、インストーラがOIDインスタンスに割り当てるデフォルトのインスタンスはoid1です。この名前を変更することはできません。

このOIDインスタンスのインスタンス固有の構成エントリは、cn=oid1, cn=osdldapd, cn=subconfigsubentryです。

別のコンピュータ上で2つ目のOIDのインストールを実行し、そのOIDインスタンスで1つ目のインスタンスと同じデータベースを使用する場合、インストーラは、同じOracleデータベースを使用する他のコンピュータにすでにインストールされているOIDインスタンスを検出し、2つ目のOIDインスタンスにはコンポーネント名oid2を割り当てます。

2つ目のOIDインスタンスのインスタンス固有の構成エントリは、cn=oid2, cn=osdldapd, cn=subconfigsubentryです。cn=oid2, cn=osdldapd, cn=subconfigsubentryというエントリ内のプロパティに変更を加えても、1つ目のインスタンス(oid1)は影響を受けません。

さらに別のコンピュータ上に3つ目のOIDがインストールされ、このインスタンスでも、前の2つのインスタンスと同じデータベースを使用する場合、インストーラは3つ目のOIDインスタンスにコンポーネント名oid3を割り当て、同じデータベースを使用する別のホストの追加のインスタンスにも、このような方法でコンポーネント名が割り当てられます。

すべてのOIDインスタンスで共有される構成は、cn=dsaconfig, cn=configsets,cn=oracle internet directoryです。このエントリに変更が加えられた場合は、OIDのすべてのインスタンスに影響します。

OIDHOST1でのOracle Internet Directoryの構成

スキーマ・データベースが実行中であり、RCUを使用してODSデータベース・スキーマをシードしてあることを確認してから、次のステップに従ってOIDHOST1上のOIDインスタンスを構成します。

  1. システム、パッチ、カーネルなどの要件が満たされていることを確認します。これらの一覧は、『Oracle Fusion Middleware Oracle Identity Managementインストレーション・ガイド』インストールの準備に関する項にあります。
  2. 「Oracle Fusion Middlewareコンポーネントのインストール」で説明しているように、Oracle Identity ManagementソフトウェアがOIDHOST1上にインストールされ、アップグレードされていることを確認します。
  3. 使用しているオペレーティング・システムに対して次のコマンドを発行して、ポート3060と3131がコンピュータ上の他のサービスに使用されていないことを確認します。ポートが使用されていなければ、コマンドを実行しても出力は何も返されません。
    UNIXの場合:
    netstat -an | grep LISTEN | grep ":3060" 
    netstat -an | grep LISTEN | grep ":3131" 
    Windowsの場合:
    netstat -an | findstr "LISTEN" | findstr ":3060"
    netstat -an | findstr "LISTEN" | findstr ":3131"
  4. ポートが使用されている(コマンドを実行するとポートを識別する戻り値が表示される)場合は、そのポートを解放する必要があります。
    1. UNIXの場合:
      /etc/servicesファイルでポート3060と3131のエントリを削除して、サービスまたはコンピュータを再起動します。netstat -anpコマンドを使用して、これらのポートを使用する既存のプロセスをチェックすることもできます。
    2. Windowsの場合:
      これらのポートを使用しているコンポーネントを停止します。
  5. ORACLE_HOME/oracle_common/common/bin/config.shディレクトリから構成ウィザードを起動します。

    UNIXでは、コマンド./config.shを発行します。

    Windowsでは、config.exeをダブルクリックします。

  6. 「ドメインの作成」画面で、「新規ドメインの作成」を選択し、ドメインの場所を指定します。「次へ」をクリックします。
  7. 「テンプレート」画面で、Oracle Internet Directory(コロケート) - 12.2.1.3.0 [oid]テンプレートを選択します。選択したすべての依存性テンプレートは保持します。「次へ」をクリックします。
  8. 「管理者アカウント」画面で、WebLogicユーザー・パスワードを指定して、「次へ」をクリックします。
  9. 「ドメイン・モードおよびJDK」画面の「ドメイン・モード」フィールドで「本番」を選択し、JDK8ベース・インストールを選択します。「次へ」をクリックします。
  10. 「データベース構成タイプ」画面で、データベース接続パラメータを指定します。スキーマの所有者フィールドの値をDEV_STBから必要に応じて関連する接頭辞(<PREFIX_STB>)に変更し、「RCU構成の取得」をクリックして、「次へ」をクリックします。
  11. 「コンポーネント・データソース」画面で、「次へ」をクリックします。
  12. 「JDBCテスト」画面で、接続テストが成功した後で、「次へ」をクリックします。
  13. 「拡張構成」画面で、「管理サーバー」「ノード・マネージャ」「トポロジ」を選択します。「次へ」をクリックします。
  14. 「管理サーバー」画面で、「リスニング・アドレス」を、必要に応じてホスト名およびリスニング・ポートに更新します。「次へ」をクリックします。
  15. 「ノード・マネージャ・タイプ」画面で、「ノード・マネージャ資格証明」を指定して、「次へ」をクリックします。
  16. Managerサーバーで、この画面をスキップして、「次へ」をクリックします。
  17. 「クラスタ」画面でスキップして、「次へ」をクリックします。
  18. 「サーバー・テンプレート」画面でスキップして、「次へ」をクリックします。
  19. 「Coherenceクラスタ」画面でスキップして、「次へ」をクリックします。
  20. 「マシン」画面で、デフォルトのマシン名oidhost1は変更しないでください。「リスニング・アドレス」を適切なホスト名に更新します。必要に応じて、「ノード・マネージャ・リスニング・ポート」は変更できます。このポート番号はnodemanager.propertiesファイル内のものと同じ値である必要があります。新しいマシンを名前oidhost2で追加し、「リスニング・アドレス」をOIDHOST2を指す適切なホスト名に更新します。必要に応じて、リスニング・ポートを必要なポート値に変更します。
  21. 「サーバーのマシンへの割当」画面で、oidhost1を選択し、AdminServeroidhost1に割り当てます。「次へ」をクリックします。
  22. 「仮想ターゲット」画面で、「次へ」をクリックします。
  23. 「パーティション」画面で、「次へ」をクリックします。
  24. 「構成のサマリー」画面で、「作成」をクリックします。
  25. 管理サーバーを起動します。
  26. ノード・マネージャを起動します。
  27. ORACLE_HOME/oracle_common/common/bin/wlst.shディレクトリから、wlst.shを実行し、次のコマンドを実行します。
    connect('weblogic','<password>', 't3://<admin-host>:<admin-port>')
    oid_setup(orcladminPassword='<desired-password>', odsPassword='ODS-schema-password")
    oid_createInstance(instanceName='oid2', machine='oidhost2',port='oid-non-ssl-port',sslPort='oid-ssl-port', host='hostname-of-OIDHOST2')
    exit()
  28. 次に示すように、ORACLE_HOME/oracle_common/common/bin/pack.shディレクトリから、pack.shコマンドを実行します。
    pack.sh -domain=<DOMAIN_HOME_LOCATION> -template=./base_domain.jar -template_name=base_domain -managed=true 
    
OIDHOST2でのOracle Internet Directoryの構成

OIDリポジトリが実行されていることを確認してから、次のステップに従ってOIDHOST2上のOIDインスタンスを構成します。

  1. システム、パッチ、カーネルなどの要件が満たされていることを確認します。これらの一覧は、『Oracle Fusion Middleware Oracle Identity Managementインストレーション・ガイド』インストールの準備に関する項にあります。
  2. 「Oracle Fusion Middlewareコンポーネントのインストール」の説明に従ってOracle Identity ManagementソフトウェアがOIDHOST2にインストールされ、アップグレードされていることを確認します
  3. OIDHOST1では、OIDにポート3060と3131が使用されています。OIDHOST2のOIDインスタンスにも同じポートを使用する必要があります。したがって、 ポート3060および3131がOIDHOST2上のサービスによって使用されていないことを確認するために、使用しているオペレーティング・システムに応じて次のコマンドを実行します。ポートが使用されていなければ、コマンドを実行しても出力は何も返されません。
    UNIXの場合:
    netstat -an | grep LISTEN | grep ":3060" 
    
    netstat -an | grep LISTEN | grep ":3131" 
    Windowsの場合:
    netstat -an | findstr "LISTEN" | findstr ":3060"
    
    netstat -an | findstr "LISTEN" | findstr ":3131"
  4. ポートが使用されている(コマンドを実行するとポートを識別する戻り値が表示される)場合は、そのポートを解放する必要があります。
    UNIXの場合:

    /etc/servicesファイルでポート3060と3131のエントリを削除して、サービスまたはコンピュータを再起動します。netstat -anpコマンドを使用して、これらのポートを使用する既存のプロセスをチェックすることもできます。

    Windowsの場合:

    これらのポートを使用しているコンポーネントを停止します。

  5. ORACLE_HOME/oracle_common/commonディレクトリから、unpack.shコマンドを使用してドメインを作成します。OIDHOST1に作成された圧縮済ドメインのjarファイルを使用します。
    unpack.sh -template=./base_domain.jar -domain=<ORACLE_HOME>/user_projects/domains/base_domain
  6. DOMAIN_HOME/binディレクトリから、ノード・マネージャを起動します。
    ./startNodeManager.sh 
    
  7. DOMAIN_HOME/binディレクトリから、startComponent.shスクリプトを実行して、oid2インスタンスを起動します。AdminServerが設定されたOIDHOST1マシンからスクリプトを実行します。OIDHOST2からではありません。
    • ./startComponent.sh oid2
    • oid2もOIDHOST1またはOIDHOST2のいずれかから、WLSTコマンドnmStart()を使用して起動できます
      nmStart(erverName='oid2', serverType='OID')
      

Oracle Internet Directoryの高可用性の検証

ldapbindコマンドライン・ツールを使用して、各OIDインスタンスとLDAP仮想サーバーに接続できることを確認します。ldapbindツールを使用すると、サーバーに対してクライアントを認証するかどうかを判断できます。

注意:

ldapbindコマンドを使用する前に設定が必要な環境変数の一覧は、『Oracle Fusion Middleware Oracle Identity Managementリファレンス』環境の構成に関する項を参照してください。

非SSLの場合:

ldapbind -h oidhost1.example.com -p 3060 -D "cn=orcladmin" -q
ldapbind -h oidhost2.example.com -p 3060 -D "cn=orcladmin" -q
ldapbind -h oid.example.com -p 3060 -D "cn=orcladmin" -q

注意:

-qオプションを指定すると、ユーザーにパスワードの入力が求められます。LDAPツールでは、環境変数LDAP_PASSWORD_PROMPTONLYがTRUEまたは1に設定されている場合、-w passwordおよび-P passwordの各オプションが無効になるよう変更されています。この機能をできるかぎり使用してください。

SSLの場合:

ldapbind -h oidhost1.example.com -p 3131 -D "cn=orcladmin" -q -U 1
ldapbind -h oidhost2.example.com -p 3131 -D "cn=orcladmin" -q -U 1
ldapbind -h oid.example.com -p 3131 -D "cn=orcladmin" -q -U 1

-Uは、SSL認証モードの指定に使用されるオプション引数です。SSL認証モードに有効な値は次のとおりです。

  • 1 = 認証不要

  • 2 = 一方向認証が必要。このオプションを使用する場合は、ウォレットの場所(-W "file:/home/my_dir/my_wallet")およびウォレットのパスワード(-P wallet_password)も指定する必要があります。

  • 3 = 双方向認証が必要。このオプションを使用する場合は、ウォレットの場所(-W "file:/home/my_dir/my_wallet")およびウォレットのパスワード(-P wallet_password)も指定する必要があります。

ldapbindコマンドの詳細は、Oracle Fusion Middleware Oracle Identity Managementリファレンスldapbindに関する項 を参照してください。

OIDに対するSSLの設定の詳細は、『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』Secure Sockets Layer (SSL)の構成に関する項を参照してください。

次の場所のWebLogic Server管理コンソールにアクセスします。

http://oidhost1.example.com:7001/console

Oracle Enterprise Manager Fusion Middlewareコンソール

http://oidhost1.example.com:7001/em

Oracle Internet Directoryのフェイルオーバーおよび予想される動作

この項では、Oracle Internet DirectoryおよびOracle RACのフェイルオーバーの実行方法について説明します。

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

Oracle Internet Directoryのフェイルオーバーの実行

ここでは、Oracle Internet Directoryのフェイルオーバーの実行の後のステップについて説明します。

次の例では、OIDHOST2へのフェイルオーバーの実行方法とOIDサービスのステータスのチェック方法について説明します。
  1. OIDHOST1で、次のWLSTコマンドを使用して、OIDインスタンスを停止します。
    shutdown(name='instance-name')
  2. OIDHOST2で、ロード・バランシング・ルーターを使用して、OIDのステータスをチェックします。

    注意:

    ldapbindコマンドを使用する前に設定が必要な環境変数の一覧は、『Oracle Fusion Middleware Oracle Identity Managementリファレンス』の環境の構成に関する項を参照してください。
    ldapbind -h oid.example.com -p 3060 -D "cn=orcladmin" -q

    注意:

    前述の-qオプションを指定すると、パスワードの入力が求められます。LDAPツールでは、環境変数LDAP_PASSWORD_PROMPTONLYがTRUEまたは1に設定されている場合、-w passwordおよび-P passwordの各オプションが無効になるよう変更されています。この機能をできるかぎり使用してください。
Oracle RACフェイルオーバーの実行

orclfailoverenabled属性は、Oracle Internet Directoryプロセスのフェイルオーバーを構成する構成エントリ("cn=configset,cn=oidmon,cn=subconfigsubentry")です。この属性は、OIDモニターが存続ノードで失敗したプロセスを開始するまでのフェイルオーバー時間を分数で指定します。デフォルトのフェイルオーバー時間は5分です。ゼロ(0)の値は、Oracle Internet Directoryプロセスを別のノードにフェイルオーバーしないことを指定します。

Oracle RACフェイルオーバーを実行するには、次のステップを実行します。
  1. srvctlコマンドを使用して、データベース・インスタンスを停止します。
    srvctl stop instance -d db_unique_name -i inst_name_list
  2. srvctlコマンドを使用して、データベース・インスタンスのステータスを確認します。
    srvctl status database -d db_unique_name -v
  3. Oracle Internet Directoryのステータスを確認します。

    注意:

    ldapbindコマンドを使用する前に設定が必要な環境変数の一覧は、『Oracle Fusion Middleware Oracle Identity Managementリファレンス』環境の構成に関する項を参照してください。
    ldapbind -h oid_host1 -p 3060 -D "cn=orcladmin" -q
    ldapbind -h oid_host2 -p 3060 -D "cn=orcladmin" -q
    ldapbind -h oid.example.com -p 3060 -D "cn=orcladmin" -q

    注意:

    前述の-qオプションを指定すると、ユーザーのパスワードの入力が求められます。LDAPツールでは、環境変数LDAP_PASSWORD_PROMPTONLYがTRUEまたは1に設定されている場合、-w passwordおよび-P passwordの各オプションが無効になるよう変更されています。この機能をできるかぎり使用してください。

Oracle Internet Directoryの高可用性のトラブルシューティング

この項では、OIDの高可用性の問題のトラブルシューティングに役立つ情報について説明します。

  • OIDのログ・ファイルは次のディレクトリにあります。

    DOMAIN_HOME/servers/OID/logs/InstanceName

  • トラブルシューティングの際に調査するログ・ファイルの順序は次のとおりです。

    1. oidmon-xxx.log

    2. oiddispd01-xxxx.log

    3. oidldapd01s-xxxx.log

  • この項では、高可用性に関連するエラー・メッセージの一部とその意味を示します。

    エラー: ログ・ファイルにORA-3112、ORA-3113エラーがあります

    原因: データベース・ノードのいずれかが停止し、障害が発生していないノードにOIDが再接続します。

    処置: データベース・ノードの停止、またはOracleプロセスの停止の原因を確認します。

    エラー: フェイルオーバーしています...ログ・ファイルでスタンバイしてください

    原因: OIDサーバーがOracleプロセスからデータベース・ノードのいずれかが停止したことを知らせる通知を受信しました。OIDは障害が発生していないノードに接続します。

    • フェイルオーバーが正常完了すると、次のメッセージが表示されます。

      フェイルオーバーが終了しました...サービスを再開しています

    • フェイルオーバーが失敗すると、次のようなエラーが表示されます。

    • 10回試行しましたが、フェイルオーバー機能を終了しています
    • 無効なフェイルオーバー・イベント:

    • セッションのDBパラメータを設定できないため、フェイルオーバーを強制終了しました

  • 高可用性イベント通知が有効な場合は、次のようなメッセージが表示されます。

    HA Callback Event
    Thread Id: 8
    Event type: 0
    HA Source: OCI_HA_INSTANCE
    Host name: dbhost1
    Database name: orcl
    Instance name: orcl1
    Timestamp: 14-MAY-09 03.25.24 PM -07:00
    Service name: orcl.example.com
    HA status: DOWN - TAF Capable
  • TAFが無効な場合、HAステータスは

    「DOWN」と表示されます。

処置: データベース・ノードが停止した原因を確認します。

エラー: ノード1とノード2の間で250秒以上の時間差異が検出されました.

原因: 2つのノード間の時間に差異があります。

処置: システム時間を同期します。

エラー: ノード=%が構成された%d回までに応答しませんでした。フェイルオーバーしています...

原因: OIDノード(oidmon)のいずれかが応答しません。

処置: ノードが稼働中か、またはOIDMONプロセスが実行中であるかを確認します。

Oracle Internet Directoryの高可用性に関するその他の問題

この項では、高可用性環境のOracle Internet Directoryに関する問題について説明します。

この項では、高可用性環境のOracle Internet Directoryに関する問題について説明します。

「Oracle Internet Directoryで使用されるODSスキーマのパスワードの変更」を参照してください

Oracle Internet Directoryで使用されるODSスキーマのパスワードの変更

OIDHOST1 (AdminServerがインストール済)からOracle Internet Directory Database Password Utility (oidpasswd)を使用すると、OIDデータベースのスキーマ・パスワード(データベースのODSユーザーのパスワード)を変更できます。しかし、ODSスキーマのパスワードは、各ホストのDOMAIN_HOMEの下のパスワード・ウォレットに保存されます。Weblogicドメイン・フレームワークにより、これはOIDHOST1からその他のすべてのホストに自動的に伝播されます。

ODSデータベース・ユーザー・パスワードを変更するには、いずれかのOIDノードから次のコマンドを呼び出します。

oidpasswd connect=database-connection-string change_oiddb_pwd=true

Oracle Directory Integration Platformの高可用性

この項では、Oracle Directory Integration Platform(ODIP)の高可用性環境の設計とデプロイについて説明します。

Oracle Directory Integration Platformコンポーネント・アーキテクチャの理解

Oracle Directory Integration Platformは、アプリケーションやディレクトリ(サード・パーティのLDAPディレクトリなど)と、Oracleバックエンド・ディレクトリ(Oracle Internet Directory、Oracle Unified DirectoryおよびOracle Directory Server Enterprise Edition)との統合を可能にするJ2EEアプリケーションです。

注意:

Oracle Directory Integration Platformは、このリリースでのOracle Directory Server Enterprise Editionの高可用性モードはサポートしません。

Oracle Directory Integration Platformアーキテクチャの詳細は、『Oracle Fusion Middleware Oracle Directory Integration Platformの管理』Oracle Directory Integration Platformの概要に関する項を参照してください。

Oracle Directory Integration Platformの高可用性の概念の理解

この項では、Oracle Directory Integration Platformの高可用性の概念について説明します。

Oracle Directory Integration Platformの高可用性アーキテクチャ(OIDバックエンド)について

Oracle Directory Integration Platformの高可用性アーキテクチャとバックエンド・ディレクトリとしてのOracle Internet Directoryについて説明します。

図12-2 高可用性アーキテクチャでのOracle Directory Integration PlatformとOracle Internet Directory (バックエンド・ディレクトリ)

この図では、高可用性アーキテクチャでのOracle Directory Integration PlatformとOracle Internet Directory (バックエンド・ディレクトリ)について説明しています。

図12-2では、接続ディレクトリ1と接続ディレクトリ2が相互に情報をレプリケートします。ロード・バランシング・ルーターによって、接続ディレクトリにリクエストがルーティングされます。

アプリケーション層には、コンピュータODIPHOST1ODIPHOST2があります。

ODIP1ODIP2は、接続ディレクトリと通信する必要がある場合はロード・バランサを経由します。

ODIPHOST1では、次のインストールが実行されます。

  • Oracle Directory Integration Platformインスタンスは、管理対象サーバーにインストールされます(ODIP1)。

  • クォーツ・スケジューラは、デフォルトでODIP1にインストールされます。これは、WebLogicマルチ・データ・ソースを使用してOracle RACデータベースに接続します。クォーツ・スケジューラは、実際の作業を実行するEJBを起動し、EJBがジョブに失敗した場合は、ジョブに失敗のマークを付け、後で別のEJBで実行されるよう再スケジュールします。

  • 管理サーバーがインストールされています。通常の運用時は、これがアクティブ管理サーバーになります。

ODIPHOST2では、次のインストールが実行されます。

  • Oracle Directory Integration Platformインスタンスは、管理対象サーバーにインストールされます(ODIP2)。

  • クォーツ・スケジューラは、デフォルトでODIP2にインストールされます。クォーツ・スケジューラは、WebLogicマルチ・データ・ソースを使用してOracle RACデータベースに接続します。

  • 管理サーバーがインストールされています。通常の運用時は、これがパッシブ管理サーバー・インスタンスになります。ODIPHOST1の管理サーバーが使用できなくなった場合は、この管理サーバーをアクティブにします。

ODIPHOST1およびODIPHOST2管理対象サーバーのOracle Directory Integration Platformインスタンスはクラスタとして構成されます。

ロード・バランサは、バックエンド・ディレクトリOIDHOST1およびOIDHOST2用に設定されます。ロード・バランサは、OIDHOST1またはOIDHOST2のいずれかにリクエストをルーティングします。

注意:

RACデータベースを使用する場合、マルチ・データ・ソースがOracle Directory Integration Platformとともに使用され、RAC障害からインスタンスを保護します。
クラスタの起動と停止について

デフォルトで、WebLogic Serverはアプリケーションを開始、停止およびモニターし、Oracle Directory Integration Platformは基盤となるクラスタの高可用性機能を利用します。ハードウェアなどの障害が発生した場合は、障害発生ノードの処理の再開が可能な他のクラスタ・ノードがこのセッション状態を使用できます。

ノード・マネージャは、WebLogic Serverを監視します。障害発生時には、ノード・マネージャによってWebLogic Serverが再起動されます。

『Oracle Fusion Middleware Oracle WebLogic Serverノード・マネージャの管理』一般的なノード・マネージャの構成に関する項を参照してください。

クラスタワイドの構成変更(OID)

Oracle Internet Directoryを高可用性構成にデプロイする場合は、そのクラスタのすべてのOracle Internet Directoryインスタンスが同じデータベースを共有します。いずれかのOracle Internet DirectoryノードのOracle Directory Integration Platformに加えられた変更は、クラスタ内のすべてのOracle Internet Directoryインスタンスに自動的に伝播されます。

ディレクトリ同期プロファイル

デフォルトのOracle Internet Directoryマルチマスター・レプリケーション環境では、任意のOracle Internet Directoryノード上のディレクトリ統合プロファイルへの変更は、他のOracle Internet Directoryノードへは自動的にレプリケートされません。変更は、1次ノードから2次ノードに対して定期的に手動でコピーする必要があります。これにより、1次ノードで問題が発生した場合、2次ノードでディレクトリ同期プロファイルを実行できます。

Oracle Directory Integration Platformではパラメータorcllastappliedchangenumberが使用されます。ディレクトリ同期プロファイルのlastchangenumber属性に指定した値は、Oracle Directory Integration Platformが実行されているディレクトリ・サーバーによって異なります。アクティブ/アクティブ構成のOracle Directory Integration Platformでは、すべてのインスタンスのlastchangenumber属性を手動で更新する必要があります。

1次Oracle Internet Directoryノードと2次ノード間でディレクトリ・プロビジョニング・プロファイルを同期する手順:

  1. 1次ノードで、ldifwriteコマンドを使用して、このコンテナからエントリのLDIFダンプを作成します。
    cn=subscriber profiles,cn=changelog subscriber,cn=oracle internet directory
  2. LDIFダンプを2次ノードにコピーします。

  3. ldapaddコマンドを使用して、2次ノードにプロファイルを追加します。

エクスポート・プロファイルをターゲット・ノードにコピーした後、lastchangenumber属性をターゲット・ノードの値で更新する必要があります。値を更新する手順は次のとおりです。

  1. 同期プロファイルを無効化します。

  2. ldapsearchコマンドを使用して、ターゲット・ノードでlastchangenumber属性の値を取得します。

  3. ldapsearchを使用して、プロファイル・エントリのLDIFダンプを取得します。

  4. ldapaddを使用して、他の管理対象サーバー・インスタンスにプロファイルを追加します。

  5. Oracle Directory Integration Platformの管理コンソールに移動し、プロファイルを選択します。「編集」を選択します。「詳細」タブを選択して、「編集して維持」を選択します。lastchangenumber属性の値を入力します。プロファイルを保存します。

  6. 同期プロファイルを有効化します。

ディレクトリ・プロビジョニング・プロファイル

デフォルトのOracle Internet Directoryマルチマスター・レプリケーション環境では、Oracle Directory Integration Platformは1次Oracle Internet Directoryと同じ場所にインストールされます。この項の情報とステップは、マルチマスター・レプリケーションが設定されている場合にのみ適用できます。

プライマリ・ノードに障害が発生した場合、そのノードにあるすべてのプロファイルに対するイベント伝播は停止します。イベントはキューに入れられ、1次ノードの停止中にも失われることはありませんが、どのアプリケーションにもイベントは伝播されません。バージョン1.0および2.0のプロファイルで、1次ノードが停止した場合でもイベントの伝播が継続されることを保証するには、ディレクトリ・プロビジョニング・プロファイルを他の2次ノードにコピーする必要があります。

ただし、アプリケーションがインストールされた直後からOracle Internet Directoryでユーザー変更が行われる前に、ディレクトリ・プロビジョニング・プロファイルを1次ノードから任意の2次ノードにコピーします。

1次ノードと2次ノード間でディレクトリ・プロビジョニング・プロファイルを同期する手順:

  1. 1次ノードで、ldifwriteコマンドを使用してこのコンテナからエントリのLDIFダンプを作成します。

    cn=provisioning profiles,cn=changelog subscriber,cn=oracle internet directory
  2. LDIFダンプを2次ノードにコピーします。

  3. ldapaddコマンドを使用して、2次ノードにプロファイルを追加します。

Oracle Directory Integration Platformの高可用性アーキテクチャ(OUDバックエンド)について

この項では、Oracle Directory Integration Platformの高可用性アーキテクチャとバックエンド・ディレクトリとしてのOracle Unified Directory (OUD)について説明します。

図12-3 高可用性アーキテクチャでのOracle Directory Integration PlatformとOracle Unified Directory (バックエンド・ディレクトリ)

この図では、高可用性アーキテクチャでのOracle Directory Integration PlatformとOracle Unified Directory (バックエンド・ディレクトリ)について説明しています。

図12-3では、接続ディレクトリ1と接続ディレクトリ2が相互に情報をレプリケートします。ロード・バランシング・ルーターによって、接続ディレクトリにリクエストがルーティングされます。

アプリケーション層には、コンピュータODIPHOST1ODIPHOST2があります。

ODIPHOST1では、次のインストールが実行されます。

  • Oracle Directory Integration Platformインスタンスは、管理対象サーバーにインストールされます(ODIP1)。ODIP1は、接続ディレクトリと通信する必要がある場合は、接続ディレクトリ用のロード・バランサを経由します。

  • クォーツ・スケジューラがインストールされています。これは、バックエンド・ディレクトリ用のロード・バランサを経由します。

  • 管理サーバーがインストールされています。通常の運用時は、これがアクティブ管理サーバーになります。

ODIPHOST2では、次のインストールが実行されます。

  • ODIPインスタンスは、管理対象サーバーにインストールされます(ODIP2)。ODIP2は、接続ディレクトリと通信する必要がある場合は、接続ディレクトリ用のロード・バランサを経由します。

  • クォーツ・スケジューラがインストールされています。これは、バックエンド・ディレクトリ用のロード・バランサを経由します。

  • 管理サーバーがインストールされています。通常の運用時は、これがパッシブ管理サーバー・インスタンスになります。ODIPHOST1の管理サーバーが使用できなくなった場合は、この管理サーバーをアクティブにします。

ODIPHOST1およびODIPHOST2管理対象サーバーのOracle Directory Integration Platformインスタンスはクラスタとして構成されます。

ロード・バランサは、バックエンド・ディレクトリOUDHOST1およびOUDHOST2用に設定されます。ロード・バランサは、OUDHOST1またはOUDHOST2のいずれかにリクエストをルーティングします。

クラスタワイドの構成変更(OUD)

Oracle Unified Directoryはクラスタワイドの構成変更をサポートします。同じレプリケーション・トポロジの一部であるOracle Unified Directoryインスタンスはすべて、同じ内容を共有します。いずれかのOracle Unified DirectoryノードのOracle Directory Integration Platformに加えられた変更は、レプリケーション・トポロジ内のすべてのOracle Unified Directoryインスタンスに自動的に伝播されます。

障害からの保護および予想される動作

この項では、Oracle Directory Integration Platformのアクティブ/アクティブ・クラスタにおける様々な障害からの保護について説明します

プロセスの障害について

高可用性環境では、Oracle Directory Integration Platformアプリケーションを、少なくとも2つのWebLogicインスタンスで構成されるクラスタにデプロイします。

Oracle Directory Integration Platformアプリケーションはデフォルトで、基盤となるWebLogicクラスタの高可用性機能を利用します。Oracle Directory Integration Platformをデプロイするときに、クォーツ・スケジューラはクラスタリング・オプションを使用して起動します。スケジューラは、ノードの負荷に応じて、クラスタ内の利用可能なノードのいずれかでジョブを実行します。1つ以上のノードでハードウェアなどの障害が発生すると、クォーツ・スケジューラは利用可能なノードでジョブを実行します。

また、ノード・マネージャは、WebLogic Serverを監視します。障害発生時には、ノード・マネージャによってWebLogic Serverが再起動されます。

Oracle Directory Integration Platformアプリケーション内では、クォーツ・スケジューラによって、実際の処理を行うプロビジョニングまたは同期化EJBが起動されます。クォーツ・スケジューラによってEJBが起動されるとただちに、そのEJBにはジョブ実行中のタグが付けられます。EJBがジョブに失敗した場合は、クォーツ・スケジューラはジョブに失敗のマークを付け、後で別のEJBで実行されるよう再スケジュールします。

Oracle Directory Integration Platform Server構成の更新について

バックエンド・サーバーにアクセスできない、またはロード・バランサ経由でアクセスできない場合、Oracle Directory Integration Platformフェイルオーバーは透過的ではありません。

このシナリオでは、バックエンド・ディレクトリに接続するための情報が各Oracle Directory Integration Platformインスタンスにローカルのため、手動による操作が必要です。

manageDIPServerConfigユーティリティを実行して、Oracle Directory Integration Platformインスタンスに対する、Oracleバックエンド・ディレクトリ(Oracle Internet DirectoryおよびOracle Unified Directory)のhostおよびportパラメータを更新する必要があります。

『Oracle Fusion Middleware Oracle Directory Integration Platformの管理』manageDIPServerConfig Utilityに関する項を参照してください。

外部依存性の障害について

Oracle Directory Integration Platformの起動時には、バックエンド・リポジトリ、Oracle Internet Directory、Oracle Unified Director、資格証明ストア・フレームワーク、およびWebLogic管理対象サーバーが使用可能である必要があります。

これらの要素のいずれかが使用できない場合は、起動できません。

Oracle Directory Integration Platformの高可用性の構成

Oracle Internet DirectoryまたはOracle Unified Directoryをバックエンド・ディレクトリとして使用するように、Oracle Directory Integration Platformの高可用性を構成することができます。

Oracle Internet Directoryバックエンド・サーバーの高可用性の構成
Oracle Directory Integration (OID)の高可用性を構成する前に

Oracle Directory Integration Platformの高可用性とバックエンド・ディレクトリとしてOracle Internet Directoryを構成する前に、次のことを実行します。

  • 「Oracle Internet Directoryの高可用性の構成ステップ」の説明に従って、Oracle Internet Directoryの高可用性が構成されていることを確認します。

  • Oracle WebLogic ServerおよびOracle Directory Integration Platformはすべてのノード(ODIPHOST1およびODIPHOST2)でインストールされます。

ODIPHOST1でのOracle Directory Integration Platformの構成(OID)
ODIPHOST1でOracle Directory Integration Platformを構成する手順:
  1. <MW_HOME>/oracle_common/common/bin/config.shスクリプト(UNIXの場合)または<MW_HOME>\oracle_common\common\bin\config.cmd(Windowsの場合)を実行して、構成ウィザードを起動します。

    「構成タイプ」画面が表示されます。

  2. 「構成タイプ」画面で、「新規ドメインの作成」を選択し、ドメインのフルパスを入力するか、「参照」ボタンを使用してドメインがあるディレクトリに移動します。「次へ」をクリックします。

    「テンプレート」画面が表示されます。

  3. 「テンプレート」画面で、「製品テンプレートを使用してドメインを作成」が選択されていることを確認してから、Oracle Directory Integration Platform - 12.2.1.3.0 [dip]を選択します。

    注意:

    Oracle Directory Integration Platform - 12.2.1.3.0 [dip]オプションを選択した場合、次のコンポーネントは自動的に選択されます。

    • Oracle Enterprise Manager 12.2.1.3.0 [em]

    • Oracle JRF - 12.2.1.3.0[oracle_common]

    • Weblogic Coherence Cluster Extension 12.2.1.3 [wlserver]

    「次へ」をクリックします。

    クリックすると「アプリケーションの場所」画面が表示されます。

  4. 「参照」をクリックして、ドメインに関連付けられているアプリケーションを格納するディレクトリのフルパスを指定します。

    「次へ」をクリックします。

    「管理者アカウント」画面が表示されます。

  5. ドメインに対するデフォルトのWebLogic管理者アカウントにユーザー名とパスワードを指定します。
    パスワードは8文字以上の長さで、数字または特殊文字を1つ以上含む必要があります。パスワードを確認して、「次へ」をクリックします。
    次の手順でWebLogicドメインの起動または再起動に必要となるため、これらの詳細をメモしておいてください。
    「ドメイン・モードおよびJDK」画面が表示されます。
  6. ドメイン・モードとJava Development Kit (JDK)を指定します。
    1. 「ドメイン・モード」フィールドで、「本番」を選択します。

      注意:

      ドメインとして「本番」モードを選択する場合、ノード・マネージャにはランダムなユーザー名とパスワードが割り当てられます。WebLogic Server管理コンソールを使用して、パスワードをリセットします。

    2. デフォルトのJDKの場所として、Oracle Hotspotを受け入れます。
    3. 「次」をクリックします。
    「データベース構成タイプ」画面が表示されます。
  7. 「RCUデータ」を選択します。このオプションでは、構成ウィザードに対して、データベースのサービス表(STB)スキーマに接続し、ドメインの構成に必要なスキーマのスキーマ情報を自動的に取得するように指示します。

    注意:

    Oracle Internet Directoryに必要なデータベース・スキーマを作成したことを確認します。『Oracle Fusion Middleware Oracle Internet Directoryのインストールと構成』データベース・スキーマの作成に関する項を参照してください。

    「RCUデータ」の選択後、次を行います。

    1. 「ホスト名」フィールドに、データベースをホストしているサーバーの名前を入力します。
    2. 「DBMS/サービス」フィールドにサービス・タイプ・ドライバを選択した場合は、データベースDBMS名またはサービス名を入力します。
    3. データベースがリスニングするポート番号を入力します。
    4. データベースのサービス表スキーマに接続するためのユーザー名とパスワードを入力します。
    5. 「RCU構成の取得」をクリックしてスキーマ情報を取得します。スキーマ情報を正常に取得したら、「次へ」をクリックして、続行します。
    「JDBCコンポーネント・スキーマ」画面が表示されます。
  8. 入力された値が、すべてのスキーマについて適切であることを確認し、「次へ」をクリックします。

    注意:

    1つ以上のスキーマをOracle RACマルチ・データ・ソース・スキーマに変換するには、そのスキーマの名前の横のチェック・ボックスを選択し、「RACマルチ・データ・ソースへ変換」オプションを選択します。終了したら、「次」をクリックします。「次へ」をクリックすると、「Oracle RACマルチ・データ・ソース・コンポーネント・スキーマ」画面が表示されます。

    『Oracle Fusion Middleware構成ウィザードによるWebLogicドメインの作成』Oracle RACマルチ・データ・ソース・コンポーネント・スキーマに関する項を参照してください。

    「JDBCコンポーネント・スキーマ・テスト」画面が表示されます。
  9. 「選択された接続のテスト」をクリックして、構成したテスト・データソース接続をテストします。
    「ステータス」列に示される緑色のチェック・マークは、テストが成功したことを表します。問題が発生した場合は、この画面の「接続結果ログ」セクションに示されるエラー・メッセージを確認し、問題を修正してから接続テストを再試行してください。

    「拡張構成」画面が表示されます。

  10. ドメイン構成を完了するには、次のオプションを選択します。
    • 管理サーバー: 管理サーバーのリスニング・アドレスを適切に構成するために必要です。
    • ノード・マネージャ: ノード・マネージャの構成に必要です。
    • トポロジ: 管理対象サーバーとクラスタを構成し、マシンを構成して管理対象サーバーをマシンにターゲット設定するために必要です。

    「次へ」をクリックします。

    「管理サーバー」画面が表示されます。

  11. デフォルトの設定を受け入れるか、または「管理サーバー」の設定を変更します。

    「次へ」をクリックします。

    「ノード・マネージャ」画面が表示されます。

  12. 「ノード・マネージャ」画面を使用して、ドメインに適用可能なノード・マネージャ構成を選択し、「次へ」をクリックします。
    「管理対象サーバー」画面が表示されます。
  13. 「追加」をクリックし、ODIPHOST1およびODIPHOST2に対しそれぞれ1つの管理対象サーバーを作成します。

    表12-6 ODIPHOST1上の管理対象サーバー

    名前 リスニング・アドレス リスニング・ポート

    wls_ods1

    odipHost1.example.com

    7005

    表12-7 ODIPHOST2上の管理対象サーバー

    名前 リスニング・アドレス リスニング・ポート

    wls_ods2

    odipHost2.example.com

    7005

    「次へ」をクリックします。

    「クラスタ」画面が表示されます。

  14. 「追加」をクリックし、「クラスタ名」フィールドにodip_clusterを入力して、ODIPHOST1およびODIPHOST2の管理対象サーバーに対するクラスタを構成します。

    「次へ」をクリックします。

    「サーバー・テンプレート」画面が表示されます。

  15. 「次へ」をクリックすると、「動的サーバー」画面が表示されます。

    「次へ」をクリックします。

    「サーバーのクラスタへの割当」画面が表示されます。

  16. 「サーバーのクラスタへの割当」画面を使用して、wls_ods1wls_ods2管理対象サーバーをodip_clusterに割り当てます。「サーバー」リスト・ボックスには管理対象サーバーのみが表示されます。管理サーバーは、クラスタに割り当てることができないので、リストに表示されません。

    「サーバー」リスト・ボックスで管理対象サーバーの名前を選択し、右矢印をクリックします。管理対象サーバーの名前が「サーバー」リスト・ボックスから削除され、「クラスタ」リスト・ボックスのターゲット・クラスタ名の下に追加されます。

    管理対象サーバーの名前が「サーバー」リスト・ボックスから削除され、「クラスタ」リスト・ボックスのターゲット・クラスタ名の下に追加されます。

    「次へ」をクリックし、「マシン」画面が表示されるまで、「次へ」をクリックし続けます。

  17. 「マシン」または「UNIXマシン」タブをクリックしてから、「追加」をクリックして次のマシンを追加します。

    表12-8 マシン

    名前 ノード・マネージャのリスニング・アドレス ノード・マネージャのリスニング・ポート

    odip_1

    odipHost1.example.com

    5556

    odip_2

    odipHost2.example.com

    5556

    「次へ」をクリックします。

    「サーバーのマシンへの割当」画面が表示されます。

  18. 「「サーバーのマシンへの割当」を使用して、各マシンにWebLogic Serverインスタンスを割り当てます。
    1. 「マシン」リスト・ボックスで、odip_1マシンを選択します。
    2. 「サーバー」リスト・ボックスでwls_ods1インスタンスを選択し、右矢印をクリックします。
      wls_ods1インスタンスの名前が、「サーバー」リスト・ボックスから削除され、「マシン」リスト・ボックスのターゲット・マシンの名前の下に追加されます。
    3. これらのステップを繰り返して、odip_2マシンをwls_ods2管理対象サーバーに割り当てます。

    「サーバー」リスト・ボックスで管理対象サーバーの名前を選択し、右矢印をクリックします。管理対象サーバーの名前が「サーバー」リスト・ボックスから削除され、「クラスタ」リスト・ボックスのターゲット・クラスタ名の下に追加されます。

    管理対象サーバーの名前が「サーバー」リスト・ボックスから削除され、「クラスタ」リスト・ボックスのターゲット・クラスタ名の下に追加されます。

    「次へ」をクリックし、「構成のサマリー」画面が表示されるまで、「次へ」をクリックし続けます。

  19. 「構成のサマリー」画面の各アイテムを確認し、その情報が正しいことを検証します。
    変更するには、「戻る」ボタンをクリックするか、ナビゲーション・ペインの画面を選択していずれかの画面に戻ります。ドメイン作成は、「作成」をクリックするまで開始されません。
    新しいWebLogicドメイン(base_domainなど)が、Oracle Directory Integration PlatformおよびFusion Middleware Controlをサポートするために<MW_HOME>\user_projects\domainsディレクトリに作成されます(Windowsの場合)。UNIXでは、ドメインは<MW_HOME>/user_projects/domainsディレクトリに作成されます。
Oracle Internet Directory (OIDHOST1)に対するOracle Directory Integration Platformの構成

OIDHOST1インスタンス上のOracle Internet Directoryに対しOracle Directory Integration Platformを構成する必要があります。

ステップは次のとおりです。
  1. dipConfiguratorコマンドを実行し、OIDHOST1に対するOracle Directory Integration Platform (ODIPHOST1)を構成します。詳細は、『Oracle Fusion Middleware Oracle Directory Integration Platformの管理』Oracle Internet Directoryに対するOracle Directory Integration Platformの構成に関する項を参照してください。

    注意:

    • RACデータベースを使用している場合、RACデータベースのURLをdbconfigfileファイルのdipConfiguratorプロパティに対し指定することをお薦めします。

    • Oracle Internet Directoryに対して構成されている暗号スイートがOracle Directory Integration Platformで使用できない、または再構成されていない場合、Oracle Fusion MiddlewareシステムMBeanブラウザを使用して、これらのスイートをOracle Directory Integration Platformに追加する必要があります。『Oracle Fusion Middleware Oracle Directory Integration Platformの管理』Oracle Internet Directoryに対し構成された暗号スイートのOracle Directory Integration Platformへの追加に関する項を参照してください。

  2. manageDIPServerConfigコマンドを実行して、クラスタを調整します。
    ./manageDIPServerConfig set -host ODIPHOST1.example.com -port 7005 -wlsuser weblogic -attribute ClusterCheckInInterval -value 30000
    
    ./manageDIPServerConfig set -host ODIPHOST1 -port 7005 -wlsuser weblogic -attribute RefreshInterval -value 120
  3. manageDIPServerConfigコマンドを実行し、TCPロード・バランサを使用するようにOracle Directory Integration Platformを再構成します。

    LB_HOSTは、ロード・バランサのIPアドレスで、いずれかのバックエンド・インスタンスにリダイレクトするように構成する必要があります。

    ./manageDIPServerConfig set -host ODIPHOST1 -port 7005 -wlsuser weblogic -attribute BackendHostPort -value LB_HOST:LB_PORT
ODIPHOST2でのOracle Directory Integration Platformの構成(OID)
Oracle Internet Directoryバックエンド・ディレクトリに対しODIPHOST2でOracle Directory Integration Platformを構成する必要があります。
  1. 次のpackコマンドをODIPHOST1で実行し、テンプレート・パックを作成します。
    cd MW_HOME/oracle_common/common/bin
    ./pack.sh -managed=true -domain=MW_HOME/user_projects/domains/domainName -template=dipdomain.jar -managed=true -template_name="dipdomain"
  2. 前のステップで作成したテンプレート・ファイルをODIPHOST1からODIPHOST2にコピーします。UNIXプラットフォームでの例:
    scp dipdomain.jar user@ODIPHOST2:MW_HOME/oracle_common/common/bin
  3. ODIPHOST2で次を実行します。
    1. unpackコマンドを実行し、伝播されたテンプレートを解凍します。
      cd MW_HOME/oracle_common/common/bin
      ./unpack.sh -domain=MW_HOME/user_projects/domains/domains/domainName -template=dipdomain.jar -overwrite_domain=true
    2. wls_ods2管理対象サーバーを起動および停止します。
      MW_HOME/user_projects/domains/domainName/bin/startManagedWebLogic.sh wls_ods2 http://ODIPHOST1:ODIPHOST1ADMINPORT
      MW_HOME/user_projects/domains/domainName/bin/stopManagedWebLogic.sh wls_ods2 http://ODIPHOST1:ODIPHOST1ADMINPORT
      
    3. wls_ods2dip-config.xmlファイルをwls_ods1dip-config.xmlで上書きします。
      cp MW_HOME/user_projects/domains/DOMAIN_NAME/config/fmwconfig/servers/wls_ods1/applications/DIP_12.2.1.3.0/configuration/dip-config.xml 
       MW_HOME/user_projects/domains/DOMAIN_NAME/config/fmwconfig/servers/wls_ods2/applications/DIP_12.2.1.3.0/configuration/dip-config.xml
    4. startNodeManager.cmdコマンド(Windowsの場合)、startNodeManager.shコマンド(UNIXの場合)を実行して、ノード・マネージャを起動します。
      MW_HOME/user_projects/domains/DOMAIN_NAME/bin/startNodeManager.sh
    5. wls_ods2管理対象サーバーを起動します。
      MW_HOME/user_projects/domains/DOMAIN_NAME/bin/startManagedWebLogic.sh wls_ods2 http://ODIPHOST1:ODIPHOST1ADMINPORT
Oracle Unified Directoryバックエンド・サーバーの高可用性の構成

次のステップを使用して、Oracle Directory Integration Platformの高可用性のためにOracle Unified Directory (バックエンド・ディレクトリ)を構成します。

Oracle Directory Integration (OUD)の高可用性を構成する前に

Oracle Directory Integration Platformの高可用性とバックエンド・ディレクトリとしてOracle Unified Directoryを構成する前に、次のことを実行します。

  • 必ずOracle Unified Directoryをインストールし、『Oracle Fusion Middleware Oracle Unified Directoryのインストール』Oracle Unified Directoryソフトウェアのインストールに関する項を参照してください。

    グラフィカル・ユーザー・インタフェース(GUI)またはコマンド行インタフェース(CLI)を使用してOracle Unified Directoryサーバー・インスタンスを設定する場合、DIPで有効にするオプションを必ず選択して、Oracle Directory Integration Platformでサーバー・インスタンスを有効にしてください。

  • Oracle Unified Directoryが高可用性のために構成されていることを確認します。『Oracle Fusion Middleware Oracle Unified Directoryの管理』Oracle Unified Directoryの高可用性デプロイメントの理解に関する項を参照してください。

  • Oracle Directory Integration Platform用のOracle Unified Directory接尾辞を作成済みであることを確認します。『Oracle Fusion Middleware Oracle Directory Integration Platformの管理』Oracle Unified Directory接尾辞の作成に関する項を参照してください。

  • 変更ログが有効であることを確認します。『Oracle Fusion Middleware Oracle Directory Integration Platformの管理』外部変更ログの有効化に関する項を参照してください。

  • Oracle WebLogic ServerおよびOracle Directory Integration Platformはすべてのノード(ODIPHOST1およびODIPHOST2)でインストールされます。

ODIPHOST1でのOracle Directory Integration Platformの構成(OUD)
バックエンド・ディレクトリとしてOracle Unified Directoryに対しODIPHOST1にOracle Directory Integration Platformを構成するには、次のようにします。
  1. <MW_HOME>/oracle_common/common/bin/config.shスクリプト(UNIXの場合)または<MW_HOME>\oracle_common\common\bin\config.cmd(Windowsの場合)を実行して、構成ウィザードを起動します。

    「構成タイプ」画面が表示されます。

  2. 「構成タイプ」画面で、「新規ドメインの作成」を選択し、ドメインのフルパスを入力するか、「参照」ボタンを使用してドメインがあるディレクトリに移動します。「次へ」をクリックします。

    「テンプレート」画面が表示されます。

  3. 「テンプレート」画面で、「製品テンプレートを使用してドメインを作成」が選択されていることを確認してから、Oracle Directory Integration Platform - 12.2.1.3.0 [dip]を選択します。

    注意:

    Oracle Directory Integration Platform - 12.2.1.3.0 [dip]オプションを選択した場合、次のコンポーネントは自動的に選択されます。

    • Oracle Enterprise Manager 12.2.1.3.0 [em]

    • Oracle JRF - 12.2.1.3.0[oracle_common]

    • Weblogic Coherence Cluster Extension 12.2.1.3 [wlserver]

    「次へ」をクリックします。

    クリックすると「アプリケーションの場所」画面が表示されます。

  4. 「参照」をクリックして、ドメインに関連付けられているアプリケーションを格納するディレクトリのフルパスを指定します。

    「次へ」をクリックします。

    「管理者アカウント」画面が表示されます。

  5. ドメインに対するデフォルトのWebLogic管理者アカウントにユーザー名とパスワードを指定します。
    パスワードは8文字以上の長さで、数字または特殊文字を1つ以上含む必要があります。パスワードを確認して、「次へ」をクリックします。
    次の手順でWebLogicドメインの起動または再起動に必要となるため、これらの詳細をメモしておいてください。
    「ドメイン・モードおよびJDK」画面が表示されます。
  6. ドメイン・モードとJava Development Kit (JDK)を指定します。
    1. 「ドメイン・モード」フィールドで、「本番」を選択します。

      注意:

      ドメインとして「本番」モードを選択する場合、ノード・マネージャにはランダムなユーザー名とパスワードが割り当てられます。WebLogic Server管理コンソールを使用して、パスワードをリセットします。

    2. デフォルトのJDKの場所として、Oracle Hotspotを受け入れます。
    3. 「次」をクリックします。
    「データベース構成タイプ」画面が表示されます。
  7. 「RCUデータ」を選択します。このオプションでは、構成ウィザードに対して、データベースのサービス表(STB)スキーマに接続し、ドメインの構成に必要なスキーマのスキーマ情報を自動的に取得するように指示します。

    注意:

    Oracle Internet Directoryに必要なデータベース・スキーマを作成したことを確認します。『Oracle Fusion Middleware Oracle Internet Directoryのインストールと構成』データベース・スキーマの作成に関する項を参照してください。

    「RCUデータ」の選択後、次を行います。

    1. 「ホスト名」フィールドに、データベースをホストしているサーバーの名前を入力します。
    2. 「DBMS/サービス」フィールドにサービス・タイプ・ドライバを選択した場合は、データベースDBMS名またはサービス名を入力します。
    3. データベースがリスニングするポート番号を入力します。
    4. データベースのサービス表スキーマに接続するためのユーザー名とパスワードを入力します。
    5. 「RCU構成の取得」をクリックしてスキーマ情報を取得します。スキーマ情報を正常に取得したら、「次へ」をクリックして、続行します。
    「JDBCコンポーネント・スキーマ」画面が表示されます。
  8. 入力された値が、すべてのスキーマについて適切であることを確認し、「次へ」をクリックします。

    注意:

    1つ以上のスキーマをOracle RACマルチ・データ・ソース・スキーマに変換するには、そのスキーマの名前の横のチェック・ボックスを選択し、「RACマルチ・データ・ソースへ変換」オプションを選択します。終了したら、「次」をクリックします。「次へ」をクリックすると、「Oracle RACマルチ・データ・ソース・コンポーネント・スキーマ」画面が表示されます。

    『Oracle Fusion Middleware構成ウィザードによるWebLogicドメインの作成』Oracle RACマルチ・データ・ソース・コンポーネント・スキーマに関する項を参照してください。

    「JDBCコンポーネント・スキーマ・テスト」画面が表示されます。
  9. 「選択された接続のテスト」をクリックして、構成したテスト・データソース接続をテストします。
    「ステータス」列に示される緑色のチェック・マークは、テストが成功したことを表します。問題が発生した場合は、この画面の「接続結果ログ」セクションに示されるエラー・メッセージを確認し、問題を修正してから接続テストを再試行してください。

    「拡張構成」画面が表示されます。

  10. ドメイン構成を完了するには、次のオプションを選択します。
    • 管理サーバー: 管理サーバーのリスニング・アドレスを適切に構成するために必要です。
    • ノード・マネージャ: ノード・マネージャの構成に必要です。
    • トポロジ: 管理対象サーバーとクラスタを構成し、マシンを構成して管理対象サーバーをマシンにターゲット設定するために必要です。

    「次へ」をクリックします。

    「管理サーバー」画面が表示されます。

  11. デフォルトの設定を受け入れるか、または「管理サーバー」の設定を変更します。

    「次へ」をクリックします。

    「ノード・マネージャ」画面が表示されます。

  12. 「ノード・マネージャ」画面を使用して、ドメインに適用可能なノード・マネージャ構成を選択し、「次へ」をクリックします。
    「管理対象サーバー」画面が表示されます。
  13. 「追加」をクリックし、ODIPHOST1およびODIPHOST2に対しそれぞれ1つの管理対象サーバーを作成します。

    表12-9 ODIPHOST1上の管理対象サーバー

    名前 リスニング・アドレス リスニング・ポート

    wls_ods1

    odipHost1.example.com

    7005

    表12-10 ODIPHOST2上の管理対象サーバー

    名前 リスニング・アドレス リスニング・ポート

    wls_ods2

    odipHost2.example.com

    7005

    「次へ」をクリックします。

    「クラスタ」画面が表示されます。

  14. 「追加」をクリックし、「クラスタ名」フィールドにodip_clusterを入力して、ODIPHOST1およびODIPHOST2の管理対象サーバーに対するクラスタを構成します。

    「次へ」をクリックします。

    「サーバー・テンプレート」画面が表示されます。

  15. 「次へ」をクリックすると、「動的サーバー」画面が表示されます。

    「次へ」をクリックします。

    「サーバーのクラスタへの割当」画面が表示されます。

  16. 「サーバーのクラスタへの割当」画面を使用して、wls_ods1wls_ods2管理対象サーバーをodip_clusterに割り当てます。「サーバー」リスト・ボックスには管理対象サーバーのみが表示されます。管理サーバーは、クラスタに割り当てることができないので、リストに表示されません。

    「サーバー」リスト・ボックスで管理対象サーバーの名前を選択し、右矢印をクリックします。管理対象サーバーの名前が「サーバー」リスト・ボックスから削除され、「クラスタ」リスト・ボックスのターゲット・クラスタ名の下に追加されます。

    管理対象サーバーの名前が「サーバー」リスト・ボックスから削除され、「クラスタ」リスト・ボックスのターゲット・クラスタ名の下に追加されます。

    「次へ」をクリックし、「マシン」画面が表示されるまで、「次へ」をクリックし続けます。

  17. 「マシン」または「UNIXマシン」タブをクリックしてから、「追加」をクリックして次のマシンを追加します。

    表12-11 マシン

    名前 ノード・マネージャのリスニング・アドレス ノード・マネージャのリスニング・ポート

    odip_1

    odipHost1.example.com

    5556

    odip_2

    odipHost2.example.com

    5556

    「次へ」をクリックします。

    「サーバーのマシンへの割当」画面が表示されます。

  18. 「「サーバーのマシンへの割当」を使用して、各マシンにWebLogic Serverインスタンスを割り当てます。
    1. 「マシン」リスト・ボックスで、odip_1マシンを選択します。
    2. 「サーバー」リスト・ボックスでwls_ods1インスタンスを選択し、右矢印をクリックします。
      wls_ods1インスタンスの名前が、「サーバー」リスト・ボックスから削除され、「マシン」リスト・ボックスのターゲット・マシンの名前の下に追加されます。
    3. これらのステップを繰り返して、odip_2マシンをwls_ods2管理対象サーバーに割り当てます。

    「サーバー」リスト・ボックスで管理対象サーバーの名前を選択し、右矢印をクリックします。管理対象サーバーの名前が「サーバー」リスト・ボックスから削除され、「クラスタ」リスト・ボックスのターゲット・クラスタ名の下に追加されます。

    管理対象サーバーの名前が「サーバー」リスト・ボックスから削除され、「クラスタ」リスト・ボックスのターゲット・クラスタ名の下に追加されます。

    「次へ」をクリックし、「構成のサマリー」画面が表示されるまで、「次へ」をクリックし続けます。

  19. 「構成のサマリー」画面の各アイテムを確認し、その情報が正しいことを検証します。
    変更するには、「戻る」ボタンをクリックするか、ナビゲーション・ペインの画面を選択していずれかの画面に戻ります。ドメイン作成は、「作成」をクリックするまで開始されません。
    新しいWebLogicドメイン(base_domainなど)が、Oracle Directory Integration PlatformおよびFusion Middleware Controlをサポートするために<MW_HOME>\user_projects\domainsディレクトリに作成されます(Windowsの場合)。UNIXでは、ドメインは<MW_HOME>/user_projects/domainsディレクトリに作成されます。
Oracle Unified Directory用のOracle Directory Integration Platformの構成(OUDHOST1)

OIDHOST1インスタンス上のOracle Unified Directoryに対しOracle Directory Integration Platformを構成する必要があります。

ステップは次のとおりです。
  1. dipConfiguratorコマンドを実行し、OUDHOST1に対するOracle Directory Integration Platform (ODIPHOST1)を構成します。詳細は、『Oracle Fusion Middleware Oracle Directory Integration Platformの管理』Oracle Unified Directoryに対するOracle Directory Integration Platformの構成に関する項を参照してください。
  2. manageDIPServerConfigコマンドを実行して、クラスタを調整します。
    ./manageDIPServerConfig set -host ODIPHOST1.example.com -port 7005 -wlsuser weblogic -attribute ClusterCheckInInterval -value 30000
    
    ./manageDIPServerConfig set -host ODIPHOST1 -port 7005 -wlsuser weblogic -attribute RefreshInterval -value 120
  3. manageDIPServerConfigコマンドを実行し、TCPロード・バランサを使用するようにOracle Directory Integration Platformを再構成します。

    LB_HOSTは、ロード・バランサのIPアドレスで、いずれかのバックエンド・インスタンスにリダイレクトするように構成する必要があります。

    ./manageDIPServerConfig set -host ODIPHOST1 -port 7005 -wlsuser weblogic -attribute BackendHostPort -value LB_HOST:LB_PORT
ODIPHOST2でのOracle Directory Integration Platformの構成(OUD)
Oracle Unified Directoryバックエンド・ディレクトリに対しODIPHOST2でOracle Directory Integration Platformを構成する必要があります。
  1. 次のpackコマンドをODIPHOST1で実行し、テンプレート・パックを作成します。
    cd MW_HOME/oracle_common/common/bin
    ./pack.sh -managed=true -domain=MW_HOME/user_projects/domains/domainName -template=dipdomain.jar -managed=true -template_name="dipdomain"
  2. 前のステップで作成したテンプレート・ファイルをODIPHOST1からODIPHOST2にコピーします。UNIXプラットフォームでの例:
    scp dipdomain.jar user@ODIPHOST2:MW_HOME/oracle_common/common/bin
  3. ODIPHOST2で次を実行します。
    1. unpackコマンドを実行し、伝播されたテンプレートを解凍します。
      cd MW_HOME/oracle_common/common/bin
      ./unpack.sh -domain=MW_HOME/user_projects/domains/domains/domainName -template=dipdomain.jar -overwrite_domain=true
    2. wls_ods2管理対象サーバーを起動および停止します。
      MW_HOME/user_projects/domains/domainName/bin/startManagedWebLogic.sh wls_ods2 http://ODIPHOST1:ODIPHOST1ADMINPORT
      MW_HOME/user_projects/domains/domainName/bin/stopManagedWebLogic.sh wls_ods2 http://ODIPHOST1:ODIPHOST1ADMINPORT
      
    3. wls_ods2dip-config.xmlファイルをwls_ods1dip-config.xmlで上書きします。
      cp MW_HOME/user_projects/domains/DOMAIN_NAME/config/fmwconfig/servers/wls_ods1/applications/DIP_12.2.1.3.0/configuration/dip-config.xml 
       MW_HOME/user_projects/domains/DOMAIN_NAME/config/fmwconfig/servers/wls_ods2/applications/DIP_12.2.1.3.0/configuration/dip-config.xml
    4. startNodeManager.cmdコマンド(Windowsの場合)、startNodeManager.shコマンド(UNIXの場合)を実行して、ノード・マネージャを起動します。
      MW_HOME/user_projects/domains/DOMAIN_NAME/bin/startNodeManager.sh
    5. wls_ods2管理対象サーバーを起動します。
      MW_HOME/user_projects/domains/DOMAIN_NAME/bin/startManagedWebLogic.sh wls_ods2 http://ODIPHOST1:ODIPHOST1ADMINPORT

接続されたディレクトリからの変更内容の取得

Oracle Directory Integration Platformは、リーダーを使用して、変更を接続ディレクトリから取得します。ただし、ロード・バランシングされたディレクトリに使用できない接続もあります。この項では、インポート・プロファイルに対する接続ディレクトリの複数のインスタンスの使用がOracle Directory Integration Platformでどのようにサポートされるかについて説明します。

手動によるOracle Directory Server Enterprise Editionのフェイルオーバー

Oracle Directory Integration Platformでは、Oracle Directory Server Enterprise Edition (ODSEE)管理対象サーバー(WLS_ODSEE1)から別のODSEEサーバー(WLS_ODSEE2)への透過的フェイルオーバーをサポートしていません。ODSEE管理対象サーバー・インスタンスをレプリケートした場合でも、同じ更新で変更番号が両方のODSEE管理対象サーバーで同じにならないことがあります。Oracle Directory Integration PlatformでWLS_ODSEE1からWLS_ODSEE2に透過的にフェイルオーバーされると、切り替えるたびに、ODIPによって変更がリプレイされる場合もありますが、変更が失われる場合があります。

Oracle Unified Directory

Oracle Unified DirectoryをIplanet ReaderおよびIplanet Writerとともに使用する場合、Oracle Unified Directoryは、あるOracle Unified Directoryインスタンスから別のOracle Unified Directoryインスタンスへの透過的フェイルオーバーをサポートしません。ODSEEサーバーでは、変更番号を同期することができないからです。ただし、プロファイルをサポートしないOracle Unified Directoryコネクタを使用するようにプロファイルを構成できます。

プロファイルを構成するには、リーダーをoracle.ldap.odip.gsi.OudCookieReaderに設定する必要があります。この属性は作成時に構成する必要があり、既存のプロファイルに構成することはできません。

  1. ディレクトリORACLE_HOME/ldap/odi/confに移動し、ファイルiplanetimp.cfg.masterを編集します。

  2. Reader: oracle.ldap.odip.gsi.IPlanetReaderの行をoracle.ldap.odip.gsi.OudCookieReaderの行で置き換えます

あるOracle Unified Directoryインスタンスから別のracle Unified Directoryインスタンスへ透過的にフェイルオーバーするには、Oracle Unified Directoryが提供する外部変更ログCookieをリーダーが使用します。最後に適用した変更番号にはCookieが含まれますが、それ以上変更番号は含まれません。

Oracle Unified Directoryの外部変更ログCookieの詳細は、『Oracle Fusion Middleware Oracle Unified Directoryの管理』外部変更ログの使用に関する項を参照してください。

Novell eDirectory

Novell eDirectory用のOracle Directory Integration Platformリーダーはタイムスタンプに基づくため、すべてのインスタンスのクロックを同期させる必要があります。

OpenLDAP

OpenLDAP用のOracle Directory Integration Platformリーダーはタイムスタンプに基づくため、すべてのインスタンスのクロックを同期させる必要があります。

IBM Tivoli Directory Server

Oracleでは、ロード・バランサを使用したIBM Tivoliをサポートしていません。

Oracle Internet Directory

ターゲットに指定したすべてのOracle Internet Directoryインスタンスで変更番号が同じになるように、Oracle Internet Directoryレプリケーションを構成すると、Oracle Internet Directoryインスタンスを透過的にフェイルオーバーでできます。この構成を設定しないと、透過的フェイルオーバーはサポートされません。

Oracle Directory Integration Platformのフェイルオーバーおよび予想される動作の理解

高可用性環境では、Oracle Directory Integration Platformアプリケーションを、少なくとも2つのWebLogicインスタンスで構成されるWebLogic Serverクラスタにデプロイします。

Oracle Directory Integration Platformアプリケーションはデフォルトで、基盤となるWebLogicクラスタの高可用性機能を利用します。ハードウェアまたは他の原因により失敗が発生した場合、他のクラスタ・ノードでセッション状態を利用でき、そのノードで障害の起きたノードの作業を再開できます。

さらに、高可用性環境では、ノード・マネージャはWebLogic Serverを監視するように構成されます。障害発生時には、ノード・マネージャによってWebLogic Serverが再起動されます。

Oracle Internet Directoryのインスタンスが失敗した場合、ロード・バランサはOracle Internet DirectoryおよびOracle RACデータベースの活動中インスタンスにリダイレクトします。Oracle Unified Directoryが失敗した場合、ロード・バランサはOracle Unified Directoryの活動中インスタンスにリダイレクトします。

データベース・インスタンスの障害が発生した場合は、障害が発生していないOracle RACノードが残りのプロセスを引き継ぎます。「Oracle Directory Integration Platformの高可用性のトラブルシューティング」で説明されているように、Oracle RACのフェイルオーバー時には、管理対象サーバー・ログに無害のエラーが記録される場合があります。

Oracle Directory Integration Platformの高可用性のトラブルシューティング

この項では、Oracle Directory Integration Platformの高可用性に関する問題の管理方法について説明します。

Oracle RACフェイルオーバー中に管理対象サーバーのログ・ファイル例外が発生することがある

Oracle RACのフェイルオーバー時に、Oracle Directory Integration Platformアプリケーションを実行する管理対象サーバーのログ・ファイルに次のような例外が表示されることがあります。これらのエラーは、フェイルオーバー時に、WebLogic Serverプラットフォーム上に構成された複数のデータ・ソースによって、Oracle RAC データベースのヘルス状態の検証が試行されるときにスローされます。これらは無害なエラーであり、無視してかまいません。Oracle Directory Integration Platformアプリケーションはリカバリして、1から2分後に正常な機能を開始します。Oracle RACのフェイルオーバー時に、1つのOracle RACインスタンスが実行を続けていれば、Oracle Directory Integration Platformに停止時間は発生しません。

RuntimeException:
[2008-11-21T00:11:10.915-08:00] [wls_ods] [ERROR] []
[org.quartz.impl.jdbcjobstore.JobStoreTX] [tid: 25] [userId: <anonymous>]
[ecid: 0000Hqy69UiFW7V6u3FCEH199aj0000009,0] [APP: DIP] ClusterManager: Error
managing cluster: Failed to obtain DB connection from data source
'schedulerDS': java.sql.SQLException: Could not retrieve datasource via JNDI
url 'jdbc/schedulerDS' java.sql.SQLException: Cannot obtain connection:
driverURL = jdbc:weblogic:pool:schedulerDS, props =
{EmulateTwoPhaseCommit=false, connectionPoolID=schedulerDS,
jdbcTxDataSource=true, LoggingLastResource=false,
dataSourceName=schedulerDS}.[[
Nested Exception: java.lang.RuntimeException: Failed to setAutoCommit to true
for pool connection

AuthenticationException while connecting to OID:
[2008-11-21T00:12:08.812-08:00] [wls_ods] [ERROR] [DIP-10581] [oracle.dip]
[tid: 11] [userId: <anonymous>] [ecid: 0000Hqy6m54FW7V6u3FCEH199apO000000,0]
[APP: DIP] DIP was not able to get the context with the given details {0}[[
javax.naming.AuthenticationException: [LDAP: error code 49 - Invalid
Credentials]

ほとんどの例外は、次の例のようにスケジューラまたはLDAPに関連するものです。

  • JNDI url 'jdbc/schedulerDS' java.sql.SQLExceptionによってデータ・ソースを取得できませんでした

  • javax.naming.AuthenticationException: [LDAP: エラー・コード49 - 無効な資格証明]

ノード・マネージャが起動しない場合

ノード・マネージャを起動できない場合、nodemanager.domainsファイルをODIPHOST1からODIPHOST2にコピーします。

WL_HOME/common/nodemanager/nodemanager.domains
ノード・マネージャの起動後にエラー・メッセージが表示されることがある

ノード・マネージャの起動後に次のエラー・メッセージが表示された場合は、エラー・メッセージの後に説明されている手順に従います。

<Dec 15, 2008 8:40:05 PM> <Warning> <Uncaught exception in server handler:
javax.net.ssl.SSLKeyException: [Security:090482]BAD_CERTIFICATE alert was
received from stbee21.example.com - 152.68.64.2155. Check the peer to 
determine why it rejected the certificate chain (trusted CA configuration,
hostname verification). SSL debug tracing may be required to determine the
exact reason the certificate was rejected.> javax.net.ssl.SSLKeyException:
[Security:090482]BAD_CERTIFICATE alert was received from stbee21.example.com -
152.68.64.215. Check the peer to determine why it rejected the certificate chain 
(trusted CA configuration, hostname verification). SSL debug tracing may be
required to determine the exact reason the certificate was rejected.
  1. まだ行っていない場合は、管理コンソールのチェンジ・センターで「ロックして編集」をクリックします。

  2. コンソールの左側のペインで、「サーバー」およびAdminServer (admin)を展開します。

  3. 「構成」→「SSL」→詳細リンクを選択します。

  4. 「ホスト名の検証」「なし」を選択します。

  5. 「保存」をクリックして設定を保存します。

  6. 管理コンソールのチェンジ・センターで「変更のアクティブ化」をクリックしてこれらの変更をアクティブ化します。

  7. すべてのサーバーを再起動します。

(オプション)ここには、リファレンスを説明する例を入力します。

  1. まだ行っていない場合は、管理コンソールのチェンジ・センターで「ロックして編集」をクリックします。

  2. コンソールの左側のペインで、「サーバー」を開いて、ADMINモードで実行されているサーバーの名前をクリックします。

  3. 「制御」→「起動と停止」タブを選択します。

  4. サーバーの名前を選択します。

  5. 「再開」をクリックします。

  6. 「はい」をクリックしてサーバーを再開します。

構成の変更が高可用性トポロジのすべてのOracle Directory Integration Platformインスタンスに自動的に伝播されない場合

高可用性トポロジのOracle Directory Integration Platformインスタンスの構成を変更した場合、この構成の変更はトポロジ内のすべてのOracle Directory Integration Platformインスタンスに自動的には伝播されません。

manageDIPServerConfigツールを使用して、トポロジ内のすべてのOracle Directory Integration Platformインスタンスに対して構成変更を行います。これにより、すべてのOracle Directory Integration Platformインスタンスが同じ構成になります。

『Oracle Fusion Middleware Oracle Directory Integration Platformの管理』manageDIPServerConfig Utilityに関する項を参照してください。

不明なエラー・メッセージのため操作を完了できない場合

manageSyncProfilesコマンドの使用時に次のエラー・メッセージが断続的に表示されることがあります。

OPERATION CANNOT BE COMPLETED FOR UNKNOWN ERRORS

このエラー・メッセージが表示される場合は、管理対象サーバー(wls_ods1またはwls_ods2)の起動と停止を行います。その後も問題が続く場合は、2つ目のノードにコピー・メソッドを実行します。

Oracle Directory Servicesコンポーネントの起動と停止

Oracle Directory Services Componentsコンポーネントを起動および停止するには、『Oracle Fusion Middleware Oracle Fusion Middlewareの管理』コンポーネントの起動と停止に関する項を参照してください。