7 Oracle Directory Servicesコンポーネントの高可用性の構成
この章では、アクティブ/アクティブ構成における高可用性のためのOracle Directory Services製品の構成について説明します。
- 12c (12.2.1.4.0) Oracle Directory Services製品について
次の表に、12c (12.2.1.4.0)のスイートレベルのインストール・プログラムを使用してインストールできるOracle Identity Management製品についてを示します。 - Oracle Directory Servicesの高可用性構成の前提条件
この項では、Oracle Directory Servicesの高可用性構成を設定する前に必要となる前提条件のステップについて説明します。 - Oracle Internet Directoryの高可用性
この項では、Oracle Internet Directoryの概要、およびOracle Internet Directoryの高可用性環境の設計とデプロイ方法について説明します。 - Oracle Directory Integration Platformの高可用性
この項では、Oracle Directory Integration Platform (ODIP)の高可用性環境の設計とデプロイについて説明します。 - Oracle Directory Servicesコンポーネントの起動と停止
12c (12.2.1.4.0) Oracle Directory Services製品について
次の表に、12c (12.2.1.4.0)のスイートレベルのインストール・プログラムを使用してインストールできるOracle Identity Management製品の概要を示します。
表7-1 12c (12.2.1.4.0) 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 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 Internet Directoryのインストールと構成の準備に関する項を参照してください
Oracle Directory Servicesの高可用性構成の前提条件
この項では、Oracle Directory Servicesの高可用性構成を設定する前に完了する必要のある前提条件のステップについて説明します。
- Oracleホームの要件
Identity ManagementコンポーネントのOracleホームは、すべてのノードで同一である必要があります。 - データベースに関する前提条件
いくつかのOracle Identity Managementコンポーネントでは、サポートされているデータベースおよびスキーマが存在している必要があります。 - データベース・リポジトリのインストールと構成
高可用性データベースを使用してメタデータ・リポジトリを格納することをお薦めします。 - Oracle Fusion Middlewareメタデータ用データベースの構成
Oracle Identity Managementの高可用性環境のデプロイのネットワークの前提条件が必要です。
Oracleホームの要件
Identity ManagementコンポーネントのOracleホームは、すべてのノードで同一である必要があります。
/u01/app/oracle/product/fmw/idmNode1上の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 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メタデータ用データベースの構成
Oracle Identity Managementの高可用性環境のデプロイのネットワークの前提条件が必要です。
次の特性を持つOracle Fusion Middleware 12c (12.2.1.4.0)メタデータを格納する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の構成例で使用されているデータベースを示します。 - データベース・サービスの構成
クライアント・アプリケーションがデータベースへの接続に使用するデータベース・サービスは、Oracle Enterprise Manager Cluster Managed Services Pageを使用して作成することをお薦めします。 - 透過アプリケーション・フェイルオーバーの確認
Oracle Internet Directoryプロセスの起動後、V$SESSION_VIEWのFAILOVER_TYPE、FAILOVER_METHOD、およびFAILED_OVER列を問い合せて、接続されているクライアントおよびそのTAFステータスを取得できます。 - ロード・バランサの仮想サーバー名とポートの構成
Oracle Identity Managementの高可用性環境をデプロイするためのロード・バランサおよび仮想サーバー名に対するネットワークの前提条件があります。
この章で使用するデータベースの例
この章のOracle Directory Servicesの構成例で使用されているデータベースを示します。
表7-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を使用して作成することをお薦めします。
データベースにサービスが存在している場合は、高可用性通知が有効化され、サーバー側の透過的アプリケーション・フェイルオーバー(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ステータスを取得できます。
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の高可用性環境で外部ロード・バランサに使用する仮想サーバー名を示しています。
表7-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 Internet Directory高可用性の概念
この項では、Oracle Internet Directoryを2ノードのクラスタ構成による高可用性で使用する場合の概念の情報について説明します。 - Oracle Internet Directory高可用性構成ステップ
WebLogic Serverドメインの一部としてOracle Internet Directoryの高可用性構成をデプロイできます。 - Oracle Internet Directoryの高可用性
ldapbind
コマンドライン・ツールを使用して、各OIDインスタンスとLDAP仮想サーバーに接続できることを確認します。ldapbind
ツールを使用すると、サーバーに対してクライアントを認証するかどうかを判断できます。 - Oracle Internet Directoryのフェイルオーバーと予想される動作
この項では、Oracle Internet DirectoryおよびOracle RACのフェイルオーバーの実行方法について説明します。 - Troubleshooting Oracle Internet Directoryの高可用性のトラブルシューティング
この項では、OIDの高可用性の問題のトラブルシューティングに役立つ情報について説明します。 - 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のノードには次の主要な要素が組み込まれています。
表7-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がそのインスタンスを停止します。ノード・マネージャによって( OIDモニターのすべてのアクティビティは、 |
OID制御ユーティリティ(OIDCTL) |
Oracle Internet Directoryサーバーの表にメッセージ・データを配置して、OIDモニターと通信します。このメッセージ・データには、各Oracleディレクトリ・サーバー・インスタンスの実行に必要な構成パラメータが含まれます。通常は、レプリケーション・サーバーを起動および停止するためにのみ、コマンド行から使用されます。 |
- Oracle Internet Directoryコンポーネント・アーキテクチャ
Oracle Internet Directoryは、OracleのLDAPストアであり、データベースを永続ストアとして使用するCベースのコンポーネントです。これはステートレスなプロセスで、すべてのデータと構成情報の大部分をバックエンド・データベースに格納します。データベースへの接続には、Oracle Net Servicesを使用します。
Oracle Internet Directoryコンポーネントの特性
Oracle Internet Directoryは、OracleのLDAPストアであり、データベースを永続ストアとして使用するCベースのコンポーネントです。これはステートレスなプロセスで、すべてのデータと構成情報の大部分をバックエンド・データベースに格納します。データベースへの接続には、Oracle Net Servicesを使用します。
- ランタイム・プロセス
Oracle Internet Directoryには、次のランタイム・プロセスがあります。 - プロセスのライフサイクル
ノード・マネージャは、デーモン・プロセスOIDMON (ORACLE_HOME/bin/oidmon)を直接、起動、停止、再起動およびモニターします。OIDMONは、Oracle Internet Directoryインスタンスのプロセス制御を行います。 - リクエスト・フロー
Oracle Internet Directory (OID)プロセスが起動すると、クライアントはLDAPまたはLDAPSプロトコルを使用してOIDにアクセスします。OIDインスタンスの起動時に、実行中の他のインスタンスへの影響はありません - 構成アーティファクト
ストレージの場所にはDB接続文字列が必要です。TNSNAMES.ORA
はDOMAIN_HOME/configに保存されます。ウォレットはDOMAIN_HOME/config/fmwconfig/components/OID/admin
に保存されます(DB ODSユーザー・パスワードはウォレットに格納されます)。 - 外部依存性
Oracle Internet Directoryでは、データと同様に構成情報の格納にもOracle Databaseを使用します。この情報の格納にはODSスキーマを使用します。 - Oracle Internet Directoryのログ・ファイル
Oracle Internet Directoryのログ・ファイルは、次のディレクトリにあります。
ランタイム・プロセス
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の起動プロセスは次のとおりです。
-
起動コマンドを受信すると、ノード・マネージャは、適切な引数を使用してoidmon startコマンドを発行します。
-
次に、OIDMONは、ODS_PROCESS_STATUS表のstate値が1または4で、かつノード・マネージャによって設定されている環境パラメータとCOMPONENT_NAME、INSTANCE_NAME値が一致する、すべてのOracle Internet Directoryサーバー・インスタンスを起動します。
プロセスの停止
Oracle Internet Directoryの停止プロセスは次のとおりです。
-
停止コマンドを受信すると、ノード・マネージャは、oidmon stopコマンドを発行します。
-
環境パラメータ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のプロセスとログ・ファイル名、およびプロセスの場所を示しています。
表7-5 Oracle Internet Directoryのプロセス・ログ・ファイルの場所
プロセス | ログ・ファイルの場所 |
---|---|
ディレクトリ・サーバー(oidldapd) |
00はインスタンス番号です(デフォルトは00)。 sはサーバーを表します。 PIDはサーバー・プロセス識別子です。 XXXXは、0000からorclmaxlogfilesconfiguredまでの数値です。orclmaxlogfilesconfigured値に達すると、再び0000から開始されます。この開始時にはファイルは0バイトに切り捨てられます。
|
LDAPディスパッチャ(oiddispd) |
00はインスタンス番号です(デフォルトは00)。 XXXXは、0000からorclmaxlogfilesconfiguredまでの数値です。 |
OIDモニター(OIDMON) |
XXXXは、0000からorclmaxlogfilesconfiguredまでの数値です。 |
ディレクトリ・レプリケーション・サーバー(oidrepld) |
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クラスタ構成のアクティブ/アクティブ構成における高可用性アーキテクチャについて確認します。 - 障害からの保護と予想される動作
この項では、OIDクラスタ構成における様々な障害からの保護について説明します。 - Oracle Internet Directoryの前提条件
この項では、OIDの高可用性アーキテクチャを設定するための前提条件について説明します。
Oracle Internet Directoryの高可用性アーキテクチャ
Oracle Internet Directoryクラスタ構成のアクティブ/アクティブ構成における高可用性アーキテクチャについて学習します。
図7-1は、Oracle Internet Directoryクラスタ構成のアクティブ/アクティブ構成における高可用性アーキテクチャを示しています。
図7-1 Oracle Internet Directoryクラスタ構成の高可用性アーキテクチャ
「図7-1 Oracle Internet Directoryクラスタ構成の高可用性アーキテクチャ」の説明
図7-1は、クラスタ構成の高可用性アーキテクチャのディレクトリ層のOracle Internet Directory (OID)を示しています。クラスタ化はインストール時に設定されます。ロード・バランシング・ルーターによって、LDAPクライアント・リクエストが2つのOIDインスタンスにルーティングされます(この2つのインスタンスは、OIDHOST1
とOIDHOST2
上にあり、クラスタ化されています)。
Oracle RACデータベースをセキュリティ・メタデータ・リポジトリとして使用しているOIDインスタンスの接続には、透過的アプリケーション・フェイルオーバー(TAF)が使用されます。Oracle RACデータベースは、TNSNAMES.ORA
に構成されます。高可用性イベント通知は、Oracle RACインスタンスが使用不可となった場合の通知に使用されます。
- クラスタの起動と停止
「クラスタ構成」で、ノード・マネージャ(startComponent.sh
およびstopComponent.sh
コマンド)は各OIDインスタンスを起動します。起動時にOIDへの影響はありません。OIDの起動時に新しいデータベース接続が作成されます。 - クラスタワイドの構成変更(OID)
クラスタの起動と停止
「クラスタ構成」で、ノード・マネージャ(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次ノードで、
ldifwrite
コマンドを使用して、このコンテナからエントリのLDIFダンプを作成します。cn=subscriber profiles,cn=changelog subscriber,cn=oracle internet directory
-
LDIFダンプを2次ノードにコピーします。
-
ldapadd
コマンドを使用して、2次ノードにプロファイルを追加します。
エクスポート・プロファイルをターゲット・ノードにコピーした後、lastchangenumber
属性をターゲット・ノードの値で更新する必要があります。値を更新するには:
-
同期プロファイルを無効化します。
-
ldapsearch
コマンドを使用して、ターゲット・ノードでlastchangenumber
属性の値を取得します。 -
ldapsearch
を使用して、プロファイル・エントリのLDIFダンプを取得します。 -
ldapadd
を使用して、他の管理対象サーバー・インスタンスにプロファイルを追加します。 -
Oracle Directory Integration Platformの管理コンソールに移動し、プロファイルを選択します。「編集」を選択します。「詳細」タブを選択して、「編集して維持」を選択します。
lastchangenumber
属性の値を入力します。プロファイルを保存します。 -
同期プロファイルを有効化します。
ディレクトリ・プロビジョニング・プロファイル
デフォルトの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次ノードで、ldifwriteコマンドを使用してこのコンテナからエントリのLDIFダンプを作成します。
cn=provisioning profiles,cn=changelog subscriber,cn=oracle internet directory
-
LDIFダンプを2次ノードにコピーします。
-
ldapadd
コマンドを使用して、2次ノードにプロファイルを追加します。
障害からの保護および予想される動作
この項では、OIDクラスタ構成における様々な障害からの保護について説明します。
- Oracle Internet Directoryプロセスの障害
OIDMONはOIDプロセスをモニターします。OIDプロセスが停止すると、OIDMONが再起動を試行します。 - 障害の発生時に予想されるクライアント・アプリケーションの動作
ロード・バランサを介してOIDクライアントへのルーティングが継続されるため、通常、Oracle Internet Directoryサーバーの障害はOIDクライアントに対して透過的です。通常、外部ロード・バランサはOIDプロセスのヘルス・チェックを実行するように構成されます。プロセスが利用不可であることをロード・バランサが検出する前にリクエストが受信されると、クライアント・アプリケーションでエラーを受信することがあります。クライアント・アプリケーションが再試行した場合、ロード・バランサは、これを正常なOIDインスタンスにルーティングし、リクエストは正常に行われます。 - 外部依存性の障害
この項では、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ノードの時間が同期されていることを確認する必要があります。 - Oracle Internet Directory用のロード・バランサの仮想サーバー名
OIDを高可用性構成でデプロイする場合は、OIDインスタンスのフロントエンドに外部ロード・バランサを使用して、各種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)に必要なバイナリをインストールする方法について説明します。 - RCUを使用したリポジトリのOracle Internet Directoryスキーマの作成
この項では、Repository Creation Utility (RCU)を使用してリポジトリにスキーマを作成する手順について説明します。 - Oracle Internet DirectoryとWebLogicドメインの構成
この構成では、1つ目のホストと2つ目のホストにOIDとWebLogic Serverドメインが構成されます。2つ目のホストのOIDインスタンスは、1つ目のホストで作成されたドメインに参加します。
Oracle Fusion Middlewareコンポーネントのインストール
この章では、Oracle Identity Management用にOracle WebLogic Server (WL_HOME)およびOracleホーム(ORACLE_HOME)に必要なバイナリをインストールする方法について説明します。
設定プロセスを開始する前に、リリース・ノートを読んで、インストールとデプロイメントに関して追加の考慮事項がないか確認することを強くお薦めします。
- Oracle WebLogic Serverのインストール
この項では、Oracle WebLogic Serverをインストールする手順を説明します。 - Oracle Internet Directoryのインストール
この項では、Oracle Internet Directoryをインストールする手順を説明します。
Oracle WebLogic Serverをインストールします。
この項では、Oracle WebLogic Serverをインストールする手順を説明します。
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」をクリックします。
次の手順を実行します。
-
Oracle Internet Directory 12c (12.2.1.4.0)インストーラを起動します。
-
「ようこそ」画面で、「次へ」をクリックします。
-
「自動更新」画面で「自動更新をスキップ」を選択し、「次へ」をクリックします。
-
「インストール場所」画面で、Oracle Internet Directoryをインストールするフォルダを参照して移動します。「次へ」をクリックします
ノート:
OIDのインストールに使用されているORACLE_HOMEがWeblogicサーバーのインストールに使用されたORACLE_HOMEと同じであることを確認します。 -
「インストール・タイプ」画面で、要件に基づき、いずれかのオプションを選択します。「スタンドアロンOracle Internet Directory Server (WebLogic Serverとは切り離して管理)」または「同じ場所に配置されたOracle Internet Directory Server (WebLogic Server経由で管理)」。「次へ」をクリックします。
-
「JDKの選択」画面で、jdk8フォルダを参照して選択し、「次へ」をクリックします。
-
「前提条件のチェック」で、すべての前提条件が満たされ、警告がないことを確認します。「次へ」をクリックします。
-
「インストール・サマリー」画面で「インストール」をクリックします。
-
「終了」をクリックします。
RCUを使用したリポジトリへのOracle Internet Directoryスキーマの作成
この項では、リポジトリ作成ユーティリティ(RCU)を使用してリポジトリにスキーマを作成する手順について説明します。
WebLogicドメインを使用したOracle Internet Directoryの構成
この構成では、1つ目のホストと2つ目のホストにOIDとWebLogic Serverドメインが構成されます。2つ目のホストのOIDインスタンスは、1つ目のホストで作成されたドメインに参加します。
- Oracle Identity Managementインストーラにより割り当てられるOracle Internet Directoryコンポーネント名
構成ウィザードを使用してOIDを構成する場合、インストーラがOIDインスタンスに割り当てるデフォルトのインスタンスはoid1
です。この名前を変更することはできません。 - OIDHOST1でのOracle Internet Directoryの構成
スキーマ・データベースが実行中であり、RCUを使用してODSデータベース・スキーマをシードしてあることを確認してから、次のステップに従ってOIDHOST1上のOIDインスタンスを構成します。 - OIDHOST2でのOracle Internet Directoryの構成
OIDリポジトリが実行されていることを確認してから、次のステップに従ってOIDHOST2上のOIDインスタンスを構成します。
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インスタンスを構成します。
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のフェイルオーバーの実行の後のステップについて説明します。 - Oracle RACフェイルオーバーの実行
orclfailoverenabled
属性は、Oracle Internet Directoryプロセスのフェイルオーバーを構成する構成エントリ("cn=configset,cn=oidmon,cn=subconfigsubentry")
です。この属性は、OIDモニターが存続ノードで失敗したプロセスを開始するまでのフェイルオーバー時間を分数で指定します。デフォルトのフェイルオーバー時間は5分です。ゼロ(0)の値は、Oracle Internet Directoryプロセスを別のノードにフェイルオーバーしないことを指定します。
Oracle Internet Directoryのフェイルオーバーの実行
ここでは、Oracle Internet Directoryのフェイルオーバーの実行の後のステップについて説明します。
Oracle RACフェイルオーバーの実行
orclfailoverenabled
属性は、Oracle Internet Directoryプロセスのフェイルオーバーを構成する構成エントリ("cn=configset,cn=oidmon,cn=subconfigsubentry")
です。この属性は、OIDモニターが存続ノードで失敗したプロセスを開始するまでのフェイルオーバー時間を分数で指定します。デフォルトのフェイルオーバー時間は5分です。ゼロ(0)の値は、Oracle Internet Directoryプロセスを別のノードにフェイルオーバーしないことを指定します。
Oracle Internet Directoryの高可用性のトラブルシューティング
この項では、OIDの高可用性の問題のトラブルシューティングに役立つ情報について説明します。
- OIDのログ・ファイルは次のディレクトリにあります。
DOMAIN_HOME/servers/OID/logs/InstanceName
-
トラブルシューティングの際に調査するログ・ファイルの順序は次のとおりです。
-
oidmon-xxx.log
-
oiddispd01-xxxx.log
-
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スキーマのパスワードの変更
OIDHOST1 (AdminServerがインストール済)からOracle Internet Directory Database Password Utility (oidpasswd)を使用すると、OIDデータベースのスキーマ・パスワード(データベースのODSユーザーのパスワード)を変更できます。しかし、ODSスキーマのパスワードは、各ホストのDOMAIN_HOMEの下のパスワード・ウォレットに保存されます。Weblogicドメイン・フレームワークにより、これはOIDHOST1からその他のすべてのホストに自動的に伝播されます。
Oracle Internet Directoryで使用されるODSスキーマのパスワードの変更
OIDHOST1 (AdminServerがインストール済)からOracle Internet Directory Database Password Utility (oidpasswd)を使用すると、OIDデータベースのスキーマ・パスワード(データベースのODSユーザーのパスワード)を変更できます。しかし、ODSスキーマのパスワードは、各ホストのDOMAIN_HOMEの下のパスワード・ウォレットに保存されます。Weblogicドメイン・フレームワークにより、これはOIDHOST1からその他のすべてのホストに自動的に伝播されます。
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 Integration Platformの高可用性の概念について説明します。 - Oracle Directory Integration Platformの高可用性の構成
Oracle Internet DirectoryまたはOracle Unified Directoryをバックエンド・ディレクトリとして使用するように、Oracle Directory Integration Platformの高可用性を構成することができます。 - 接続されたディレクトリからの変更内容の取得
- Oracle Directory Integration Platformのフェイルオーバーと予想される動作についての理解
高可用性環境では、Oracle Directory Integration Platformアプリケーションは、少なくとも2つのWebLogicインスタンスで構成されるWebLogic Serverクラスタにデプロイされます。 - Oracle Directory Integration Platformの高可用性のトラブルシューティング
この項では、Oracle Directory Integration Platformの高可用性に関する問題の管理方法について説明します。
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について学習します。 - Oracle Directory Integration Platformの高可用性アーキテクチャ(OUD Back-End)について
この項では、Oracle Directory Integration Platformの高可用性アーキテクチャとバックエンド・ディレクトリとしてのOracle Unified Directory (OUD)について説明します。 - フェイルオーバーからの保護と予想される動作
この項では、Oracle Directory Integration Platformのアクティブ/アクティブ・クラスタにおける様々な障害からの保護について説明します
Oracle Directory Integration Platformの高可用性アーキテクチャ(OIDバックエンド)について
Oracle Directory Integration Platformの高可用性アーキテクチャとバックエンド・ディレクトリとしてのOracle Internet Directoryについて学習します。
図7-2 高可用性アーキテクチャでのOracle Directory Integration PlatformとOracle Internet Directory (バックエンド・ディレクトリ)
図7-2では、接続ディレクトリ1と接続ディレクトリ2が相互に情報をレプリケートします。ロード・バランシング・ルーターによって、接続ディレクトリにリクエストがルーティングされます。
アプリケーション層には、コンピュータODIPHOST1
とODIPHOST2
があります。
ODIP1
とODIP2
は、接続ディレクトリと通信する必要がある場合はロード・バランサを経由します。
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ノード・マネージャの管理』のJavaノード・マネージャの構成に関する項を参照してください。
クラスタワイドの構成変更(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次ノードで、
ldifwrite
コマンドを使用して、このコンテナからエントリのLDIFダンプを作成します。cn=subscriber profiles,cn=changelog subscriber,cn=oracle internet directory
-
LDIFダンプを2次ノードにコピーします。
-
ldapadd
コマンドを使用して、2次ノードにプロファイルを追加します。
エクスポート・プロファイルをターゲット・ノードにコピーした後、lastchangenumber
属性をターゲット・ノードの値で更新する必要があります。値を更新するには:
-
同期プロファイルを無効化します。
-
ldapsearch
コマンドを使用して、ターゲット・ノードでlastchangenumber
属性の値を取得します。 -
ldapsearch
を使用して、プロファイル・エントリのLDIFダンプを取得します。 -
ldapadd
を使用して、他の管理対象サーバー・インスタンスにプロファイルを追加します。 -
Oracle Directory Integration Platformの管理コンソールに移動し、プロファイルを選択します。「編集」を選択します。「詳細」タブを選択して、「編集して維持」を選択します。
lastchangenumber
属性の値を入力します。プロファイルを保存します。 -
同期プロファイルを有効化します。
ディレクトリ・プロビジョニング・プロファイル
デフォルトの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次ノードで、ldifwriteコマンドを使用してこのコンテナからエントリのLDIFダンプを作成します。
cn=provisioning profiles,cn=changelog subscriber,cn=oracle internet directory
-
LDIFダンプを2次ノードにコピーします。
-
ldapadd
コマンドを使用して、2次ノードにプロファイルを追加します。
Oracle Directory Integration Platformの高可用性アーキテクチャ(OUDバックエンド)について
この項では、Oracle Directory Integration Platformの高可用性アーキテクチャとバックエンド・ディレクトリとしてのOracle Unified Directory (OUD)について説明します。
図7-3 高可用性アーキテクチャでのOracle Directory Integration PlatformとOracle Unified Directory (バックエンド・ディレクトリ)
図7-3では、接続ディレクトリ1と接続ディレクトリ2が相互に情報をレプリケートします。ロード・バランシング・ルーターによって、接続ディレクトリにリクエストがルーティングされます。
アプリケーション層には、コンピュータODIPHOST1
とODIPHOST2
があります。
ODIPHOST1
では、次のインストールが実行されます。
-
Oracle Directory Integration Platformインスタンスは、管理対象サーバーにインストールされます(
ODIP1
)。ODIP1
は、接続ディレクトリと通信する必要がある場合は、接続ディレクトリ用のロード・バランサを経由します。 -
クォーツ・スケジューラがインストールされています。これは、バックエンド・ディレクトリ用のロード・バランサを経由します。
-
管理サーバーがインストールされています。通常の運用時は、これがアクティブ管理サーバーになります。
ODIPHOST2
では、次のインストールが実行されます。
-
ODIPインスタンスは、管理対象サーバーにインストールされます(
ODIP2
)。ODIP2
は、接続ディレクトリと通信する必要がある場合は、接続ディレクトリ用のロード・バランサを経由します。 -
クォーツ・スケジューラがインストールされています。これは、バックエンド・ディレクトリ用のロード・バランサを経由します。
-
管理サーバーがインストールされています。通常の運用時は、これがパッシブ管理サーバー・インスタンスになります。
ODIPHOST1
の管理サーバーが使用できなくなった場合は、この管理サーバーをアクティブにします。
ODIPHOST1
およびODIPHOST2
管理対象サーバーのOracle Directory Integration Platformインスタンスはクラスタとして構成されます。
ロード・バランサは、バックエンド・ディレクトリOUDHOST1
およびOUDHOST2
用に設定されます。ロード・バランサは、OUDHOST1
またはOUDHOST2
のいずれかにリクエストをルーティングします。
障害からの保護および予想される動作
この項では、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 Platformの高可用性のためにOracle Internet Directory (バックエンド・ディレクトリ)を構成します。 - Oracle Unified Directoryバックエンド・サーバーの高可用性の構成
次のステップを使用して、Oracle Directory Integration Platformの高可用性のためにOracle Unified Directory (バックエンド・ディレクトリ)を構成します。
Oracle Internet Directoryバックエンド・サーバーの高可用性の構成
次のステップを使用して、Oracle Directory Integration Platformの高可用性のためにOracle Internet Directory (バックエンド・ディレクトリ)を構成します。
- Oracle Directory Integration (OID)の高可用性を構成する前に
- ODIPHOST1でのOracle Directory Integration Platformの構成(OID)
- Oracle Internet Directory(OIDHOST1)でのOracle Directory Integration Platformの構成
OIDHOST1
インスタンス上のOracle Internet Directoryに対しOracle Directory Integration Platformを構成する必要があります。 - ODIPHOST2でのOracle Directory Integration Platformの構成(OID)
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を構成するには:
Oracle Internet Directory (OIDHOST1)に対するOracle Directory Integration Platformの構成
OIDHOST1
インスタンス上のOracle Internet Directoryに対しOracle Directory Integration Platformを構成する必要があります。
Oracle Unified Directoryバックエンド・サーバーの高可用性の構成
次のステップを使用して、Oracle Directory Integration Platformの高可用性のためにOracle Unified Directory (バックエンド・ディレクトリ)を構成します。
- Oracle Directory Integration (OUD)の高可用性を構成する前に
- ODIPHOST1でのOracle Directory Integration Platformの構成(OUD)
- Oracle Unified Directory(OUDHOST1)でのOracle Directory Integration Platformの構成
OIDHOST1
インスタンス上のOracle Unified Directoryに対しOracle Directory Integration Platformを構成する必要があります。 - ODIPHOST2でのOracle Directory Integration Platformの構成(OUD)
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)
ODIPHOST1
にOracle Directory Integration Platformを構成するには、次のようにします。
Oracle Unified Directory用のOracle Directory Integration Platformの構成(OUDHOST1)
OIDHOST1
インスタンス上のOracle Unified Directoryに対しOracle Directory Integration Platformを構成する必要があります。
接続されたディレクトリからの変更内容の取得
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
に設定する必要があります。この属性は作成時に構成する必要があり、既存のプロファイルに構成することはできません。
-
ディレクトリ
ORACLE_HOME/ldap/odi/conf
に移動し、ファイルiplanetimp.cfg.master
を編集します。 -
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.
-
まだ行っていない場合は、管理コンソールのチェンジ・センターで「ロックして編集」をクリックします。
-
コンソールの左側のペインで、「サーバー」およびAdminServer (admin)を展開します。
-
「構成」→「SSL」→詳細リンクを選択します。
-
「ホスト名の検証」に「なし」を選択します。
-
「保存」をクリックして設定を保存します。
-
管理コンソールのチェンジ・センターで「変更のアクティブ化」をクリックしてこれらの変更をアクティブ化します。
-
すべてのサーバーを再起動します。
(オプション)ここには、リファレンスを説明する例を入力します。
-
まだ行っていない場合は、管理コンソールのチェンジ・センターで「ロックして編集」をクリックします。
-
コンソールの左側のペインで、「サーバー」を開いて、ADMINモードで実行されているサーバーの名前をクリックします。
-
「制御」→「起動と停止」タブを選択します。
-
サーバーの名前を選択します。
-
「再開」をクリックします。
-
「はい」をクリックしてサーバーを再開します。
構成の変更が高可用性トポロジのすべての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に関する項を参照してください。
Oracle Directory Servicesコンポーネントの起動と停止
Oracle Directory Services Componentsコンポーネントを起動および停止するには、『Oracle Fusion Middleware Oracle Fusion Middlewareの管理』のコンポーネントの起動と停止に関する項を参照してください。