Oracle Connectには、パフォーマンスを改善できるいくつかのチューニング・パラメータが含まれています。特に、デーモンを構成して、OracleAS Adapter for Tuxedoとクライアント間の通信を最適化できます。さらに、バインディング環境をチューニングして、リクエスト処理を最適化できます。
この項の構成は、次のとおりです。
デーモン・ワークスペースは、サーバー・プロセスをクライアントに割り当てる役割を果たします。クライアント・リクエストに対してサーバー・プロセスが常に使用できるように、ワークスペースを構成してサーバー・プロセスのプールを使用できます。Oracle Studioを使用して、デーモンおよびデーモン・ワークスペース・パラメータを保守し、プール内のサーバー・プロセスの割当てや管理を制御できます。
デーモンは、レガシー・プラットフォーム上のサーバー・プロセスのプールを管理します。 Oracle Application Serverは、J2CA 1.5 Tuxedoアダプタの接続プールを管理します。
また、複数のデーモン・ワークスペース構成を使用できます。これにより、複数のワークスペースを作成して異なるアダプタで使用できます。
新規のデーモン構成を追加するには、Oracle Studioを使用します。様々な状況に対して、異なるデーモン構成を設定できます。Oracle Connectがインストールされているコンピュータで、次の手順を実行します。
「スタート」メニューから、「プログラム」→「Oracle」→「Studio」を選択します。
Configuration Explorerで、「Oracle StudioでのOracleAS Adapter for Tuxedoの構成」で定義したコンピュータのノードをクリックします。
「Daemons」ノードを開きます。使用可能なデーモン構成がリストされます。
「IRPCD」を右クリックして「New Workspace」を選択します。
「New daemon workspace」画面で、新規ワークスペースの名前を指定し、オプションで説明を入力します。
このワークスペースをデフォルト設定にするか、または既存のワークスペースのプロパティをコピーするかを指定します。
既存のワークスペースのプロパティをコピーするには、「Ellipsis」をクリックし、プロパティのコピー元のワークスペースを選択します。
「Next」をクリックします。「Select Scenario」画面が表示されます。
「Application Server using connection pooling」を選択して「Next」をクリックします。
引続きウィザードに従って、ワークスペースに関する必要な値を指定します。
ワークスペースの定義を完了するには、「Finish」をクリックします。
「IRPCD」デーモン・ノードに新規のワークスペースが表示されます。
ワークスペースを編集するには、次の表に示すタブを使用します。
表6-1 ワークスペース定義のタブ
タブ | 説明 |
---|---|
WS Info |
サーバー・タイプ、ワークスペースの起動に使用するコマンド・プロシージャ、このワークスペースに関連付けられているバインディング構成、タイムアウト・パラメータなど、一般情報を指定します。 |
WS Server Mode |
ワークスペースによって起動し、クライアントに割り当てられたサーバーの操作を制御する機能など、ワークスペース・サーバー情報を指定します。 |
WS Logging |
ロギングのパラメータ、およびログ・ファイルで使用する書式を指定します。 |
WS Security |
管理権限、ユーザー・アクセス、ワークスペースへのアクセスで使用可能なポート、およびワークスペース・アカウント仕様を指定します。 |
WS Governing |
このタブは、OracleAS Adapter for Tuxedoでは使用できません。 |
これらのタブにアクセスするには、Oracle Studioを使用して、次の手順を実行します。
「スタート」メニューから、「プログラム」→「Oracle」→「Studio」を選択します。
Configuration Explorerで、「Oracle StudioでのOracleAS Adapter for Tuxedoの構成」で定義したコンピュータの横にあるノードをクリックします。
「Daemons」ノードを開きます。このコンピュータで使用可能なデーモン構成がリストされます。
「IRPCD」ノードを開きます。デーモン・ワークスペースがリストされます。
必要なワークスペースを右クリックして「Edit Workspace」を選択します。
編集する情報が含まれているタブをクリックします。
ワークスペースを編集した後、「Save」をクリックします。
サーバー・モードは、デーモンが新規プロセスを起動する方法を決定します。デーモンでは、次のサーバー・モードをサポートしています。
singleClient
: 各クライアントが専用のサーバー・プロセスを受け取ります。サーバー・プロセスが実行されるアカウントは、クライアントのログイン情報、または特定のサーバー・ワークスペースによって決定されます。
このモードを使用すると、サーバーは特定のユーザー・アカウントで実行され、各クライアントは独立して稼働できます(各クライアントが独自のプロセスを受け取るため)。ただし、このサーバー・モードを使用すると、プロセスの起動時間に起因する高いオーバーヘッドが発生し、大量のサーバー・リソースを使用する場合があります(同時クライアントと同じ数のサーバー・プロセスが必要になるため)。
multiClient
: 複数のクライアントが1つのサーバー・プロセスを共有し、クライアントは逐次処理されます。
このモードを使用すると、サーバー・プロセスがすでに初期化されているため、オーバーヘッドが小さくなります。ただし、複数のクライアントが同じサーバー・プロセスを共有するため、特に、長時間かかる問合せを発行した場合など、相互に影響を与えることがあります。
1つのプロセスを共有するクライアントの数は、「Clients per server limit」(現行ワークスペースの1つのサーバー・プロセスが受け入れる同時クライアントの最大数)で決定します。
multiThreaded
: TuxedoをWindowsプラットフォームで実行する場合は、サーバー・プロセスをマルチスレッドにできます。
reusable
: これは、singleClientモードの拡張です。クライアント処理が終了した後、サーバー・プロセスを終了せずに別のクライアントで使用できます。これによって、起動時間が短縮され、アプリケーション起動のオーバーヘッドも小さくなります。
このモードを使用すると、サーバーがすでに初期化されているため、singleClientモードのようにオーバーヘッドが高くなりません。ただし、このサーバー・モードの場合は、大量のサーバー・リソースを使用する場合があります(同時クライアントと同じ数のサーバー・プロセスが必要になるため)。
他のモードを設定する場合は、「Reuse limit」の値(特定のサーバー・プロセスを再利用できる最大回数、つまり、サーバー・プロセスが終了するまでにこのサーバー・プロセスを利用できるクライアントの数)を指定してプロセスを再利用できる回数を設定すると、サーバー・プロセスが再利用可能になります。サーバーを再利用することによって、初期化を繰り返す必要がなくなるため、パフォーマンスが向上します。ただし、長期にわたり再利用を繰り返すと、メモリー・リークが発生するリスクが高くなります。「Reuse limit」フィールドのデフォルト値は「None」で、再利用回数に制限がないことを示します。
次の図に示すように、デーモン・ワークスペース・エディタの「WS Server」タブでサーバー・モードを設定します。
サーバー・モードを使用するとき、サーバー・プロセスのプールを指定できます。サーバー・プロセスは、デーモンの起動時に起動し、プール内で保守されます。サーバー・プロセスを新規クライアント・リクエストで使用する場合は、プールから使用できます。これによって、初期化の時間がかかりません。クライアントがサーバー・プロセスをリクエストするたびに新規サーバー・プロセスを起動するのではなく、クライアントは使用可能なプロセスのプールからすぐにプロセスを受け取ります。クライアントが処理を終了すると、使用されたサーバー・プロセスは終了するか、再利用可能なサーバーが指定されている場合はプールに戻されます。
サーバー・プロセスのプールを設定するには、「WS Server」タブで次のパラメータを指定します。
Initial number of servers: デーモンの起動時にこのワークスペースに対して事前起動されるサーバー・プロセス数。新規クライアント・プロセスでこれらのサーバー・プロセスを使用できるため、初期化時間が最小限になります。クライアントがサーバー・プロセスをリクエストするたびに新規サーバー・プロセスを起動するのではなく、デーモンは使用可能なサーバーのプールからクライアントにサーバーをすぐに割り当てます。使用可能なサーバー・プロセスの数が「Minimum number of available servers」フィールドに指定した値を下回ると、デーモンは使用可能なサーバーが指定の数に達するまでサーバー・プロセスを再度起動します。このパラメータのデフォルトは0(ゼロ)で、このワークスペースに対して事前起動されるサーバーがないことを示します。
Minimum number of available servers: Oracle Connectのデーモンが新規サーバー・プロセスの作成を再開する前に、事前起動されるサーバーのプール内に存在するサーバー・プロセスの最小数(前述の「Initial number of servers」フィールド値で指定した値以内)。このパラメータを「Initial number of servers」フィールド値より大きい値に設定すると、デーモンでは、「Initial number of servers」フィールドで指定した値と同じ値とみなします。この場合、サーバー・プロセスがプールから削除されてクライアントに割り当てられるたびに、新規サーバー・プロセスが起動してプールに追加されます。このパラメータのデフォルトは0(ゼロ)で、使用可能なサーバーがない場合のみ新規サーバーが作成されることを示します。
Set maximum number of servers: このワークスペースに対してプールされる使用可能なサーバー・プロセスの最大数。サーバーが再利用可能な場合は、クライアントがサーバーから切断されると、デーモンはそのサーバーを使用可能なサーバーのプールに戻します。最大数に達すると、余分なサーバー・プロセスは廃棄されます。
バインディング構成には、次の情報が含まれます。
環境設定。バインディングで定義されたすべてのアダプタで使用する環境を構成するために使用されます。
現行コンピュータのアプリケーション・アダプタ。
データソースとアダプタの構成については、「OracleAS Adapter for Tuxedoのインストールおよび構成」を参照してください。
Oracle Studioで環境設定を構成する手順は、次のとおりです。
「スタート」メニューから、「プログラム」→「Oracle」→「Studio」を選択します。
Configuration Explorerで、「Oracle StudioでのOracleAS Adapter for Tuxedoの構成」で定義したコンピュータの横にあるノードをクリックします。
「Bindings」ノードを開きます。使用可能なバインディング構成がリストされます。
「NAV」を右クリックして「Edit Binding」を選択します。
「Properties」タブで、必要に応じて環境設定を編集します。環境設定を編集するには、対象のプロパティ・カテゴリ・ノードをクリックし、次に編集する値をクリックします。
次の図に示すように、バインディングの「Properties」タブが表示されます。
バインディング環境は、次のカテゴリに分類されます。
次の表に、通信バッファを定義するパラメータを示します。
次のパラメータは、デバッグ操作とロギング操作を定義します。
表6-3 debugカテゴリのパラメータ
パラメータ | 説明 |
---|---|
|
|
このパラメータは、OracleAS Adapter for Tuxedoでは使用できません。 |
|
|
このパラメータは、OracleAS Adapter for Tuxedoでは使用できません。 |
|
|
メッセージ用ログ・ファイルの高位修飾子。次のタイプのメッセージがログに書き込まれます。
|
|
このパラメータは、OracleAS Adapter for Tuxedoでは使用できません。 |
|
このパラメータは、OracleAS Adapter for Tuxedoでは使用できません。 |
|
このパラメータは、OracleAS Adapter for Tuxedoでは使用できません。 |
|
このパラメータは、OracleAS Adapter for Tuxedoでは使用できません。 |
次のパラメータは、グローバリゼーション・サポートおよびテンポラリ・ファイルが書き込まれるディレクトリを含めて、その他の操作を定義します。
表6-4 miscカテゴリのパラメータ
パラメータ | 説明 |
---|---|
グローバリゼーション・サポートで、ワークスペースのコードページを識別するために使用します。 関連項目: 「グローバリゼーション設定」 |
|
変換エラーが発生した場合のデータ型変換ポリシー。
|
|
このパラメータは、OracleAS Adapter for Tuxedoでは使用できません。 |
|
アプリケーション言語を識別します。デフォルトのコードページは、このパラメータで指定された値に基づいて選択されます。 関連項目: 「グローバリゼーション設定」 |
|
データ型が
|
|
テンポラリ・ファイルが書き込まれるディレクトリ。ハッシュ結合で使用したりファイルのソート用に作成されるテンポラリ・ファイルも含まれます。デフォルトは、現行の高位修飾子です。 |
|
2桁の年を4桁の年に変換する方法を決定します。 後述するように、パラメータ
|
アダプタ構成はプラットフォーム間で移行できます。構成情報は、最初にソース・プラットフォームのOracle Connectリポジトリに格納され、XMLファイルにエクスポートされてから、ターゲット・プラットフォームにインポートできます。構成を移行するとき、ソース・プラットフォームに固有のファイル名やパスはすべて、ターゲット・プラットフォームの有効なファイルに変更する必要があることに注意してください。
Oracle Studioを使用してアダプタ構成を移行する手順は、次のとおりです。
「スタート」メニューから、「プログラム」→「Oracle」→「Studio」を選択します。
Configuration Explorerで、必要なコンピュータを右クリックし、「Export XML definitions」を選択します。
XML表現とその完全な構成が格納されているXMLファイルのパスと名前を指定します。
XML定義のパスをターゲット・プラットフォームで必要なパスに編集します。たとえば、serverLogFile
プロパティの設定は、プラットフォームに応じて変更が必要になる場合があります。
「Oracle StudioでのOracleAS Adapter for Tuxedoの構成」の説明に従い、Oracle Studioでソース・プラットフォームと同じ設定方法でターゲット・プラットフォームを設定します。
Configuration Explorerで、ターゲット・コンピュータを右クリックし、「Import XML definitions」を選択します。
XMLファイルをターゲット・プラットフォームにインポートします。
Oracle Connectは、レガシー・プラットフォームのセキュリティ・システムの範囲内で動作します。 さらに、Oracle Connectでは次のセキュリティ・コンポーネントが提供されています。
バイナリXML暗号化メカニズム: 次のようにしてアクティブ化します。
サーバーへのクライアントの最初のメッセージには、事前定義済の共有鍵が含まれます。接続文字列には鍵の名前と値が含まれます。 サーバーは、ネイティブ・オブジェクト・ストア(NOS)から、クライアントから渡された鍵の名前の鍵値を取得します。
サーバーは任意の128ビットRC4セッション鍵を生成し、これは共有鍵で暗号化されてクライアントに戻されます。 事前定義済の共有鍵がない場合、事前定義済のハードコード鍵が使用されます(この鍵はクライアントおよびサーバー上でハードコードされます)。
セッション全体が暗号化されているかどうかにかかわらず、パスワードが送信される場合は、RC4の128ビット・セッション鍵を使用して常に暗号化されます。
事前定義済の共有鍵がある場合は、セッション全体が暗号化されます。 そうでない場合、パスワードの交換のみが暗号化されます(ハードコードされた鍵を使用)。
資格証明: ネットワーク上で送信されるパスワードおよびユーザー名は、事前定義済のハードコードされた128ビットRC4セッション鍵を使用して暗号化されます。
設計時: Oracle Studio内で、Oracle Studio自体へのアクセス権限を付与し、コンピュータ、ユーザー・プロファイルおよびワークスペースへのアクセス権限を付与するためのセキュリティ。
実行時: アクセス用のデーモンの制御を含めて、Tuxedoへのアクセスで使用するセキュリティ。
設計時セキュリティの設定については、次の各項で説明します。
Oracle Studioへのアクセスの保護については、「Oracle Studioへのパスワード・アクセスの設定」で説明します。
Oracle Studioでコンピュータを構成する権限の保護については、「管理権限を持つユーザーの指定」で説明します。
ユーザー・プロファイルへのアクセスを保護するには、Oracle Studioで該当するユーザー・プロファイルを右クリックし、「Change Master Password」を選択します。表示されたダイアログ・ボックスで、今後、特定のユーザー・プロファイルを編集する際に入力する必要があるパスワードを指定します。
ワークスペースへのアクセスを保護するには、Oracle Studioで該当するワークスペースを右クリックし、「Set Authorization」を選択します。表示されたダイアログ・ボックスで、今後、特定のワークスペースを編集する際に入力する必要がある有効なユーザーとパスワードを指定します。
実行時に、セキュリティは次のように実装されます。
クライアント・リクエストでデーモンを介してレガシー・プラットフォームにアクセスする場合は、匿名アクセスが許可されるか、またはユーザー・プロファイルにコンピュータの有効なユーザー名とパスワードを入力する必要があります。 J2CA 1.5 TuxedoアダプタのuserNameプロパティとpasswordプロパティは、デーモンにアクセスするためにこの段階で使用されます。
注意: デーモンへのアクセスに使用するユーザー名は、使用するユーザー・プロファイルの名前と同じである必要があります。 |
クライアントによるアクセスは、Oracle Studioの「WS Security」タブの「Workspace Access」セクションで指定されたポートのリストに従って、有効なポートを介する必要があります。 「WS Security」タブの詳細は、「ワークスペース・セキュリティ」を参照してください。
注意: NATプロトコルを使用してファイアウォールを介したレガシー・プラットフォームへのアクセスは、コンピュータがOracle Studioに追加されたときに指定します。 |
クライアントは、サーバー・プロセスを割り当てるために、ワークスペースへの匿名アクセスが付与されるか、またはOracle Studioの「WS Security」タブの「Workspace Users」セクションにリストされる必要があります。 「WS Security」タブの詳細は、「ワークスペース・セキュリティ」を参照してください。
デーモンの起動や停止、サーバー・プロセスの終了など、デーモンでコマンドを実行する機能を使用できるのは、Oracle Connectにデーモン管理者として登録された管理者のみです。 「デーモン・セキュリティ」で説明するように、クライアントはOracle Studioの「Daemon Security」タブで有効なデーモン管理者として登録されます。
クライアントとサーバー間の暗号化プロトコルは、クライアント・マシンで定義されます。
ネットワーク通信の暗号化の手順は、次のとおりです。
Oracle Studioの「Design perspective」のConfiguration Explorerでバインディングを右クリックし、「Edit Binding」を選択します。
「Machines」タブを選択します。
次の図に示すように、バインディング・エディタの「Machines」タブが表示されます。
クライアント・マシンを選択し、「Network」をクリックします。
次の図に示すように、「Network Settings」画面が表示されます。
「Encryption Protocol」リストから必要な暗号化プロトコルを選択し、「OK」をクリックします。
暗号化プロトコルを指定した後、指定した暗号化プロトコルを使用して、クライアントが通信するサーバーを指定する必要があります。
暗号化通信を行うサーバー・コンピュータを設定する手順は、次のとおりです。
Configuration Explorerでユーザー・プロファイルを右クリックし、「Edit User」を選択します。
ユーザー・エディタでクライアント・マシンを選択し、「Add」をクリックします。
図6-5に示すように、「Add Authenticator」画面が表示されます。
認証パラメータを構成する手順は、次のとおりです。
Resource type
: リソース・タイプを「Remote machine」に指定します。
Resource name
: 次の書式で、通信を暗号化するマシンを指定します。
enckey: machine_name
machine_name
は、接続するマシンです。
User name
: リモート・マシン上のデーモンが参照する、暗号化パスワードに関連した名前を指定します。
複数のクライアントが、ユーザー・プロファイルでこの名前を指定する場合があります。 このような場合、リモート・マシン上のユーザー・プロファイルに、ネットワーク暗号化用のこのユーザー名およびパスワードの1エントリのみをリストする必要があります(複数のユーザー名およびパスワードのペアをリストおよび参照するのではありません)。
このユーザー名エントリが指定されていない場合、リモート・マシン上のデーモンは、現在アクティブなユーザー・プロファイルの名前を使用します。
Password
: ネットワーク上で暗号化された情報を渡す、またはアクセスするために必要なパスワードを指定します。
「OK」をクリックします。
また、サーバー・コンピュータは、暗号鍵を使用して、暗号化された情報を解読できるように構成されている必要があります。
サーバー・コンピュータで暗号鍵を設定する手順は、次のとおりです。
Attunity Studioの「Design perspective」のConfiguration Explorerでサーバー・マシンを選択します。
ユーザー・プロファイルを右クリックして「Edit User」を選択します。 ユーザー・エディタが表示されます。次の図に示すように、ユーザー・エディタで、「Encryption Key」タブを選択します。
「Add」をクリックします。
次の図に示すように、「Add Encryption Key」画面が表示されます。
暗号鍵のパラメータを構成する手順は、次のとおりです。
Key name
: このマシン上のデーモンが参照する、暗号化パスワードに関連した名前を入力します。
Key
: 暗号鍵を入力します。
Confirm key
: 暗号鍵を再入力します。
「OK」をクリックします。
エクスプローラ・ツリーで「Daemons」ノードを開きます。
接続を管理するデーモンを右クリックして「Edit Daemon」を選択します。「Daemon Security」タブを選択します。
「Machine access」領域で、「Encryption methods」フィールドに「RC4」を入力します。
次の図に示すように、「Daemon Security」タブが表示されます。
OracleAS Adapter for Tuxedoは、唯一の1フェーズ・コミット・リソースとして分散トランザクションに関与できます。また、OracleAS Adapter for Tuxedoは、ACXトランザクション演算子に応答し、対応するATMIトランザクション・コールを発行することで、ローカル・トランザクションをサポートします。バックエンド・サービスは、トランザクションのセマンティクスおよび実装を担当します。
アプリケーション内でトランザクションの起動やコミットを行うトランザクションAPIは、OracleAS Adapter for Tuxedoによって、対応するTuxedoトランザクション・コールにマップされます。アダプタは、Tuxedoトランザクション期間(タイムアウト)を制限する機能も備えています。
次の表に、ACXトランザクション演算子と同等のATMIトランザクション・コールのマップを示します。
表6-5 ACXとATMIトランザクション間の対応
ACXトランザクション演算子 | ATMIトランザクション・コール | コメント |
---|---|---|
|
トランザクション期間は、アダプタ定義で指定できます。 |
|
|
||
|
|