exteNd Application Server 5.0
コアヘルプ

 

    First Previous Next Last 管理ガイド  05/21/03 10:02:24 

第4章    データソース設定

この章では、データ階層にあるリレーショナルデータベースとEIS (企業情報システム)がNovell exteNd Application Serverによってアクセスおよび使用される方法について説明します。また、これらのデータソースへのアクセスをセットアップする方法についても説明します。トピックは次のとおりです。

 
Top of page

データソースについて

この節では、データ階層に保存されているデータベースと他のコンポーネントがアプリケーションサーバによって使用されるさまざまな方法について説明します。

タスク

説明

システム管理

アプリケーションサーバでは、システム管理全体に対してSilverMasterというリレーショナルデータベースを使用します。

サーバのインストールプロセスにより、SilverMasterデータベースが作成および設定されます。

J2EEアーカイブの配備

アプリケーションサーバでは、J2EE生成物を「配備データベース」に保存します。配備データベースは、サーバに追加されたリレーショナルデータベースです。生成物は、サーバによって作成および管理される特別なシステムテーブルに追加されます。データベースをサーバに追加するには、SMCまたはSilverCmdを使用します。

企業データへのアクセス

アプリケーションサーバでは、EISまたはリレーショナルデータベースに保存された企業データに、「接続プール」からアクセスできます。接続プールを作成、設定、および管理するには、SMCを使用します。接続プールをサーバに追加するには、SMCまたはSilverCmdを使用します。

 
Top of section

システム管理

アプリケーションサーバでは、システム管理全体に対してSilverMasterというマスタデータベースカタログを使用します。SilverMasterデータベースは、サーバのインストール中に作成され、サーバに自動的に追加されます。SilverMasterは、列が自動的に増分する「サポートされている」タイプのデータベースであれば、どれでもかまいません。

For more information    サポートされているデータベースタイプの完全なリストについては、リリースノートを参照してください。

SilverMaster機能

SilverMasterデータベースには、次のシステム管理機能があります。

SilverMasterカタログには、システム管理用にアプリケーションサーバで使用される内部テーブルが含まれます。これらのテーブルは、アプリケーションサーバによる使用のために予約されています。これらのテーブルのリストについては、 を参照してください。

SilverMasterに対するデフォルトの許可   デフォルトのインストール後、ユーザには、SilverMasterデータベースとディレクトリのトップレベルに対する読み込みアクセスが与えられます。これにより、ユーザは、既存の配備データベースにログインしてアクセスできるようになります。

ユーザは、許可が与えられるまで、データベースを追加または削除したり、配備されたJARにアクセスしたりすることはできません。異なるタイプの操作に対して別個のポートを設定した場合は、管理ポートを使用してデータベース設定を更新する必要があります。

For more information    SilverMasterデータベースのトラブルシューティングの詳細については、 SilverMasterInitプログラムの使用を参照してください。

SilverMasterデータベースの移動   SilverMasterデータベースを、最初にインストールされたホストから移動する場合、アプリケーションサーバでは、新しい接続場所を把握する必要があります。SilverMasterの接続場所情報を更新する最も簡単な方法は、SilverMasterデータベースを移動した後でサーバのインストールプログラムを再実行することです。

注記:   データベースによっては、接続パラメータを更新する必要があります(たとえば、ODBC、JDBC、またはOracle TNSを使用することによって)。

サーバのインストールプログラムでは、画面の指示に従って、移動したSilverMasterデータベースを指定します。SilverMasterInitを実行するオプションである[Install a new Server configuration file]を画面で必ず選択してください。SilverMasterInitを実行する必要はありません。

SilverMasterInitを実行してSilverMasterプロパティを初期化する場合は、ライセンスインストールを再実行して、Silver Securityユーザとグループを再作成し、配備データベースを手動で追加する必要があります。アプリケーションサーバを再起動する前に、SilverMasterへの接続を(別のアプリケーションを使用して)テストすることは常に推奨されます。

 
Top of section

J2EEアーカイブの配備

J2EEアプリケーションは、アーカイブファイルに保存されます。アプリケーションサーバでは、SilverMaster、またはアプリケーションサーバに「追加」されているリレーショナルデータベースにJ2EEアーカイブを配備します。データベースは、SMCまたはSilverCmdを使用して( 配備データベースの設定を参照)、アプリケーションサーバに追加します。

追加できるデータベースは、アプリケーションサーバによってサポートされているタイプのみです。サポートされているデータベースの完全なリストについては、リリースノートを参照してください。

サーバにデータベースを追加すると行われること   サーバにデータベースを追加すると、データベースへの接続方法とデータベースの使用方法をアプリケーションサーバで判断できるように、エントリがSilverMasterに作成され、システムテーブルもデータベースに追加されます。システムテーブルは通常のデータベーステーブルですが、アプリケーションサーバによる使用のために予約されています。サーバでは、これらのシステムテーブルにアーカイブと関連メタデータを保存します。

(企業データを含む)既存のデータベースにアプリケーションを配備したり、アプリケーション配備の対象として作成したデータベースを追加したりできます。

注記:   UNIXプラットフォームに配備データベースを追加する場合は、データベースの場所をAGCLASSPATH環境変数に追加して、サーバを再起動してからデータベースを追加する必要があります。AGCLASSPATHの詳細については、 AGCLASSPATH変数の設定を参照してください。

制限された環境におけるデータベースの追加   制限された運用環境でアプリケーションサーバが実行されている場合、データベースを追加(または削除)する前に、自分自身を認証する必要があります。制限された環境では、ユーザ(サーバ管理者以外)は、許可が与えられない限り、データを追加することはできません。

データへのアクセス   アプリケーションサーバでは、追加されたデータベースとしてではなく、接続プールから企業データにアクセスします。アクセスする企業データも含んでいるデータベースにJ2EEアーカイブを配備する場合は、このデータベースに対して接続プールを作成する必要があります。

For more information    接続プールの追加の詳細については、 接続プールの設定を参照してください。

配備データベースの選択   J2EEアプリケーションは、サポートされているリレーショナルデータベース、またはSilverMasterデータベースに配備できます。SilverMasterまたは別の配備データベースを選択するいくつかの理由については、次の表のとおりです。

配備データベース

説明

SilverMaster

すべてのJ2EEアーカイブをSilverMasterデータベースに配備することを選択できます。長所は、次のとおりです。

  • アプリケーションのURLに、データベース名が含まれない。

  • アプリケーションサーバに対して他のデータベースを追加したり管理したりする必要がない。

短所は次のとおりです。

  • SilverMasterInitを実行した場合、アーカイブが削除され、再度配備しなければならないことがある(SilverMasterInitの機能を確認してください)。

SilverMasterデータベース以外

1つまたは複数のリレーショナルデータベースをサーバに追加して、J2EEアーカイブをこのリレーショナルデータベースに配備することを選択できます。長所は、次のとおりです。

  • アプリケーションのURLに、データベース名が含まれる。

  • SilverMasterInitを実行した場合、アーカイブはそのまま残り、再度配備する必要はない。

  • アプリケーションが別個のデータベース内にある場合、パフォーマンスを管理するようにデータベース接続を設定することは簡単である。

短所は次のとおりです。

  • 複数のデータベースを管理しなければならない。

 
Top of section

企業データへのアクセス

J2EEアプリケーション(WAR、EAR、EJB JARなど)では、「リソース参照」としてアクセスするデータソースを配備記述子で定義します。アーカイブをサーバに配備する場合、配備者は、配備ツールを使用して、サーバに対して使用可能なデータソースにリソース参照をマップします。

管理者として、データソースがサーバに対して使用可能であり、そのデータソースへの適切な許可がサーバにあることを確認しなければなりません。データソースをJ2EEアプリケーションに対して使用可能にするには、「接続プール」を作成します。接続プールは、SMCまたはSilverCmdを使用して作成できます( 接続プールの設定を参照)。

 
Top of section

データベースアクセス

アプリケーションサーバでは、ネイティブJDBCドライバまたはJDBC-ODBCブリッジドライバを使用してリレーショナルデータベースにアクセスします。

JDBC (Java Database Connectivity)

JDBCは標準のAPI (Application Program Interface)であり、アプリケーションサーバなどのJavaアプリケーションに対しリレーショナルデータベースへのSQLアクセスを許可します。アプリケーションでは、JDBCドライバに対してJDBC呼び出しを実行します。このドライバでは、基盤となるデータベースのAPIに対する呼び出しを解釈します。Javaランタイムシステムには、サポートされているデータベースへのODBCドライバを使用した接続をJDBCに許可するODBCブリッジが用意されています。

JDBCアクセス

JDBCドライバには、次の4つのタイプがあります。

JDBCドライバ

説明

タイプ1 : JDBC-ODBCブリッジ

ODBCをサポートするデータベース用

タイプ2 : JDBCからデータベースベンダDLLへ

ベンダまたはサードパーティによって提供される

タイプ3 : JDBCからミドルウェアソフトウェアを通してデータベースへ

アプリケーションサーバでの使用は推奨されていない

タイプ4 : 純粋なJavaからネットワークプロトコルへ

これらは、ネットワークプロトコルと直接動作するため、アプリケーションサーバでの使用に最適なドライバです。

サポートされている各JDBCドライバタイプのコンポーネントは、次の図のとおりです。

JDBCaccess

サーバクラスパスへのJDBCドライバJARの追加

JDBCを通してデータベースにアクセスするには、アプリケーションサーバで適切なJDBCドライバのJARファイルを検出できなければなりません。つまり、これらのJARは、サーバのクラスパスに追加される必要があります。これを実行する方法は、セットアップするデータベースアクセスの種類によって異なります。

この節では、これらのセットアップタスクに関する一般的なガイドラインを示します。DBMSの詳細については、アプリケーションサーバの『インストールガイド』で対応するデータベース設定の章を参照してください。

SilverMasterの場合   SilverMasterデータベースへのアクセスをセットアップする場合、サーバのクラスパスへのJDBCドライバJARの追加には、次の操作が関連します。

プラットフォーム

サーバのクラスパスにJARが追加される方法

NetWare

サーバに対してデフォルトではないデータベースドライバを使用する前に、setenvを使用して、そのドライバを含むようにAGCLASSPATH環境変数を設定する必要があります。

Windows

アプリケーションサーバをインストールする前に、必要なJDBCドライバJARファイルをリストに含むようにシステム環境変数AGCLASSPATHを手動でセットアップする必要があります。

UNIX

アプリケーションサーバのインストールプログラムを実行すると、JDBCドライバJARファイルの場所を入力するよう自動的に指示されます。その後、AGCLASSPATH変数がこのJAR情報で設定されるように、.agprofileファイル(サーバのルートディレクトリにあります)が編集されます。

他のデータベースアクセスの場合   他のデータベースアクセス(SilverMaster以外)をセットアップする場合に、異なるデータベースドライバが関与するときは、アプリケーションサーバのクラスパスにこれらのJDBCドライバJARファイルを手動で追加する必要があります。たとえば、SilverMasterのDB2にアクセスするが、Oracleに対する接続プールを確立する必要もある場合に、このような状況が発生します。

この操作を実行する一般的な方法は、次のとおりです。

オペレーティングシステム

説明

NetWare

setenvを使用して、JDBCドライバファイルを含むようにAGCLASSPATH環境変数を設定する

UNIX

AGCLASSPATH変数がこのJAR情報で設定されるように、.agprofileファイル(サーバのルートディレクトリにあります)を編集する

Windows

必要なJARを追加するように、システム環境変数AGCLASSPATHを編集する

データベース接続のテスト

アプリケーションサーバに対するデータベースアクセスをセットアップする場合は、データベースベンダによって提供されたツールをまず使用して、各接続をテストすることが推奨されます。これらの接続が有効であることを把握しておくと、後にアプリケーションサーバからのアクセスをトラブルシューティングする必要性が生じた場合に時間を節約できます。

 
Top of page

配備データベースの設定

リレーショナルデータベースは、J2EEアーカイブの配備レポジトリとして使用したり、アプリケーションサーバのSilverMasterとして使用したりできます。使用するデータベースは、既存のデータを含んだり、配備用に対してのみ作成したりすることが可能です。この節では、サーバに対して使用可能な配備データベースの作成方法について説明します。この節には、次のトピックが含まれています。

For more information    配備データベースのセットアップの詳細については、『インストールガイド』を参照してください。

 
Top of section

配備データベースの準備

アプリケーションサーバでデータベースを使用できるようにするために一般的に実行しなければならない内容は、次の表のとおりです。

タスク

説明

アプリケーションサーバに対してデータベースユーザアカウントをセットアップする

データベースアカウント許可を追加および変更するためのDBMSユーティリティ(Sybase Central、Microsoft Enterprise Manager、Oracle Server Manager、Informix Control Centerなど)を使用します。

アプリケーションサーバには、各データベースへの接続時に使用するデータベースアカウントが必要です。ユーザアカウント(Agsmithなど)には、CREATE TABLE、INSERT、UPDATE、およびDELETEの許可が必要です。

データベースが使用される方法を簡単に判断できるように、SilverMasterおよび各配備データベースに対して異なるアカウントをセットアップすることが推奨されます。この方法を使用すると、パフォーマンスに関する問題を容易に識別してトラブルシューティングできるようになります。

For more information    他のタイプのアカウントの詳細については、 管理アカウントを参照してください。

データベースに対してODBCデータソースをセットアップする

ODBCコントロールパネル(Windowsの場合のみ。ODBC接続は、UNIXで現在サポートされていません)。

For more information    詳細については、『インストールガイド』の章「ODBC」を参照してください。

アプリケーションサーバマシン上のDBMSクライアントソフトウェアを設定する

ネイティブデータベースソフトウェア(Oracle SQL-Net、Microsoft SQL Serverクライアント、Informix CLIなど)を使用します。

JDBCドライバをインストールする

ネイティブDBMSインストーラを使用して、JDBCドライバをアプリケーションサーバマシン(jConnectなど)にインストールします。

For more information    SilverMasterまたは配備データベースとして使用するために特定のデータベースタイプをセットアップする方法の詳細については、『インストールガイド』で該当する設定の章を参照してください。

注記:   データベースにSilverStreamという名前を付けることはできません。

 
Top of section

サーバへの配備データベースの追加

J2EEアーカイブをサーバに配備する前に、ターゲット配備データベースを追加する必要があります(SilverMasterに配備しない限り)。

Procedure データベースをアプリケーションサーバに追加する

  1. サーバを起動します。

  2. SMCを開始します。

  3. SMCの左側のペインでサーバを選択します。サーバがリストにない場合は、SMCに追加します( アプリケーションサーバのリモートでの管理を参照)。

  4. ツールバーから[Configuration]アイコンを選択します。

  5. Databases]を選択します。

  6. Add Database]をクリックします。

    データベースに関する情報を入力するように指示されます。

    addDB

  7. 次の表を使用して、データベースに関する情報を入力します。ヘルプが必要な場合は、『インストールガイド』の DBMSに関する章を参照してください。

    フィールド

    指定する内容

    [Name of the database]

    データベースの名前を入力します。ODBCデータベースの場合、データベース名は、既存のODBCデータソース名でなければなりません。

    [User name]および[Password]

    ネイティブデータベースへのデータベースユーザ接続に対してアプリケーションサーバで使用できる、ユーザ名とパスワードのペアを入力します。これらの値をnullにすることはできません。

    このユーザ名はネイティブデータベースに対して既知であり、適切な読み込み/書き込み権がなければなりません。

    注記:   各配備データベースに対して固有なユーザが管理者によって定義されている必要があります。

    [Database platform]

    サポートされているデータベースプラットフォームのリストから選択します。

    [Driver set]

    リストからドライバセットを選択します。

    ドライバセットは、選択したデータベースプラットフォームに固有です。データベースタイプに対して推奨されるドライバセットは、デフォルトで表示されます。

    ドライバセットによっては、追加のパラメータを指定する必要があります。このようなドライバセット(名前がNovell exteNdで開始しないドライバセット)の1つを選択した場合は、 別の会社のドライバセットの使用を参照してください。

    [Store system tables separately from data tables]

    他のアプリケーションによってアクセスされる運用データベースを使用する予定の場合は、アプリケーションサーバのシステムテーブルをこのデータベースに追加することは推奨されていません。

    システムテーブルは、アプリケーションサーバによって使用されます。

    このオプションを使用すると、アプリケーションサーバのシステムテーブルを別のデータベースに保存できます。このオプションをオンにして[Next]をクリックした場合、システムテーブルデータベースに名前を付けるよう指示するパネルが表示されます(このデータベースはすでに存在している必要があります)。

    [Include only a subset of tables]

    追加するデータベース内のテーブルをすべて使用する必要がない場合があります。このオプションをオンにすると、サーバで使用可能にするテーブルのサブセットを指定できます。

    このオプションをオンにして[Next]をクリックした場合、リストボックスが2つあるパネルが表示されます。上のボックスでは、使用する各テーブルに手動で名前を付けることができます。下のボックスでは、テーブルのセットを示すパターンを指定できます。たとえば、custで開始するすべてのテーブルを使用するには、cust%のように指定できます。

  8. Finish]をクリックします。

    データベースがサーバに追加されます。

別の会社のドライバセットの使用   アプリケーションサーバに付属しているドライバセットを使用しない場合は、追加の情報を入力する必要があります。

AddDBNonODBC

上のパネルの各フィールドは、次の表のとおりです。

フィールド

指定する内容

[JDBC Driver]

(読み込み専用) JDBCドライバクラスの完全修飾名。例は次のとおりです。

  com.sybase.jdbc.SybDriver

注記:   すべてのJava名などのパッケージ名では、大文字と小文字が区別されます。

[JDBC URL]

データベースに接続するためにドライバベンダによって定義されたURL文字列。文字列には、パーセント記号(%)で囲まれた置換可能なパラメータ(例: %HOST%)が含まれます。

例は次のとおりです。

  jdbc:sybase:Tds:%HOST%:%PORT%/%DATABASE%

これらのパラメータは、データベースに適切な値で置き換えます。

[JDBC URL attributes]

ドライバ接続をカスタマイズするために使用できる、ベンダによって定義された追加のURL属性。例は次のとおりです。

  cache=100

このフィールドは、DB2データベースに対しては空のままにします。

For more information    詳細については、JDBCドライバのドキュメントを参照してください。

行われること   データベースを追加すると、サーバによってエントリがSilverMasterデータベースに追加され、アプリケーションサーバのシステムテーブルもデータベースに追加されます(システムテーブルを別個に維持することを指定しない限り。そのように指定した場合は、システムテーブルが他のデータベースに追加されます)。

コマンドラインからのデータベースの追加   サーバへのデータベースの追加は、コマンドラインから行ったり、 AddDatabase SilverCmdを使用するバッチファイルから行ったりすることもできます。

J2EEアプリケーションの配備   J2EEアプリケーションを配備する準備が整ったら、『機能ガイド』の J2EEアーカイブ配備に関する章を参照してください。

追加されたデータベースの移動

アプリケーションサーバに追加したデータベースを移動した場合は、そのデータベースをサーバから削除して、サーバに再度追加します。

 
Top of section

サーバからの配備データベースの削除

データベースとアプリケーションサーバの間の接続を維持する必要がない場合は、データベースをサーバから削除できます。

Procedure サーバからデータベースを削除する

  1. サーバを起動します。

  2. SMCを開始します。

  3. SMCの左側のペインでサーバを選択します。サーバがリストにない場合は、SMCに追加します( アプリケーションサーバのリモートでの管理を参照)。

  4. ツールバーから[Configuration]アイコンを選択します。

  5. Databases]を選択します。

  6. Database settings]フィールドでデータベースを選択します。

  7. Remove Database]をクリックします。

  8. OK]をクリックします。

行われること   サーバからデータベース接続を削除すると、アプリケーションサーバによってエントリがSilverMasterから削除されますが、データベース自体は完全にそのままの状態で残されます(アプリケーションサーバのシステムテーブルを含む)。

コマンドラインからのデータベースの削除   サーバからのデータベースの削除は、コマンドラインから行ったり、 RemoveDatabase SilverCmdを使用するバッチファイルから行ったりすることもできます。

 
Top of section

データベースの設定

サーバに追加されているデータベースを設定するには、SMCを使用します。たとえば、SMCを使用すると、データベース情報を同期化したり、アイドル接続を削除したりすることが可能です。異なるタイプの操作に対して別個のポートを設定した場合は、管理ポートを使用してデータベース設定を更新する必要があります。

Procedure データベースを設定する

  1. SMCを開始します。

    注記:   異なるタイプのユーザや操作に対して別個のポートを設定した場合は、「管理」ポートを指定してSMCを開始する必要があります。

  2. ツールバーから[Configuration]アイコンを選択します。

  3. Databases]を選択します。

  4. ドロップダウンリストからデータベース名を選択します。

    DBconfig

  5. データベースに対する情報を入力します(次を参照)。

    フィールド

    説明

    [User Name]および[Password]

    データベースへのデータベースユーザ接続に対してアプリケーションサーバで使用できる、ユーザ名とパスワードのペア。

    ユーザ名はデータベースに対して既知であり、適切な読み込み/書き込み権がなければなりません。

    [Minimum Connections]

    このデータベースに対するサーバ接続の最小数。

    [Maximum Connections]

    このデータベースに対するサーバ接続の最大数。

    [Remove Database]

    選択したデータベースをサーバから削除するボタン。 サーバからの配備データベースの削除を参照してください。

    [Synchronize Database Schema]

    アプリケーションサーバのデータベースイメージをデータベース構造への変更に同期させることができるようにするボタン。

    アプリケーションサーバでは、データベーススキーマの独自のイメージを維持します。データベースの構造を変更した場合は、このボタンをクリックして、サーバのデータベースイメージを更新します。

    For more information    このオプションの詳細については、 データベーススキーマの同期化を参照してください。

    [Delete Idle Connections]

    現在使用されていないデータベース接続を解放するボタン。

    サーバによって接続がさらに必要とされる場合は、接続プールが、定義した接続の最大数以内で、必要に応じて自動的に再拡張されます。アイドル接続を削除すると、サーバを再起動せずに、他のアプリケーションで使用するデータベース接続を(少なくとも一時的に)いくつか解放できます。

    For more information    恒久的なプールサイズの変更の詳細については、 最大および最小データベース接続数の設定を参照してください。

    [System Database Properties]

    選択したデータベースによってそのアプリケーションサーバシステムテーブルが別のデータベースに保存される場合(このプロパティは、データベースをサーバに追加するときに指定します)にのみ表示されるボタン。

    選択したデータベースに対するアプリケーションサーバのシステムテーブルを保存するデータベースに関する情報を表示するには、このボタンをクリックします。

    For more information    システムテーブルの別個保存の詳細については、『機能ガイド』の「SilverCmdリファレンス」の AddDatabaseを参照してください。

データベーススキーマの同期化   サーバでキャッシュされたテーブル、ビュー、およびキーの定義が現在のデータベース構造に一致するように、サーバメタデータと現在のデータベーススキーマを同期化しなければならない場合があります。

サーバでは、起動時に、次のタイプの変更を含むデータベースの整合性をチェックします。

注記:   -nodbcheckコマンドラインオプションを使用すると、データベースの整合性がサーバでチェックされなくなります。また、-noexitondbcheckコマンドラインオプションを使用すると、サーバの起動中にエラーを表示できます。エラーが発生した場合は、データベースを同期化する必要があります。詳細については、 同期化されていないデータベースを参照してください。

データベースを同期化するリクエストが受信されると、サーバでは次の操作を実行します。

 
Top of page

接続プールの設定

リレーショナルデータベースまたはEISシステムの企業データは、接続プールからアプリケーションサーバに対して使用可能にします。この節では、接続プールを作成して維持する方法について説明します。この節には、次のトピックが含まれています。

 
Top of section

接続プールの準備

接続プールを作成する前に、次の表で概説されている管理タスクを実行しておく必要があります。

データソースタイプ

管理タスク

リレーショナルデータベース

JDBCドライバをサーバにインストールする

アプリケーションサーバで使用するユーザIDとパスワードを作成する

JDBC接続プール」を作成する

EIS

RAR (Resource Adapter Archive)をサーバに配備する

アプリケーションサーバで使用するユーザIDとパスワードを作成する

コネクタ接続プール」を作成する

アプリケーションサーバでは、接続プールを使用して、リレーショナルデータベースの企業データへのアクセス(JDBCから)、あるいは1つまたは複数のEISの企業データへのアクセス(サーバに配備されたRARから)を提供します。

 
Top of section

JDBC接続プールの追加

この節では、SMCのAdd JDBC Connection Poolウィザードを使用してJDBC接続プールを追加する方法について説明します。JDBC接続プールを作成する場合は、JDBCドライバがシステムにインストールされている必要があります(これによって、アプリケーションサーバでJDBC 1.0およびJDBC 2.0ドライバが両方ともサポートされます)。

このセクションには、次のトピックが含まれています。

パネルの順序

ウィザードパネルと、これらのパネルが表示される順序は、データベースへのアクセスに使用するJDBCドライバのタイプによって異なります。ウィザードで作成するJDBC接続プールのタイプに基づいたウィザードでの手順は、次の表のとおりです。各パネルで入力しなければならない値の詳細については、リンクをクリックしてください

JDBC接続プールを作成する場合

実行しなければならない操作

LDS (Logical Data Source)キーが存在するJDBCドライバ

LDSキーを持つドライバは、さらに高レベルのサービスを提供するアプリケーションサーバ用のドライバです。LDSキーを持つドライバに対し、アプリケーションサーバでは、ドライバによって返されたエラーコードを処理する方法を認識しており、ドライバのバグを対処することもできます。

  1. Add JDBC Connection Poolウィザードの開始

  2. LDSまたはユーザ指定のドライバの指定

  3. プール名の指定

  4. データベースプラットフォームの指定

  5. JDBCドライバおよびURLの指定

  6. データソース設定プロパティの指定

  7. 接続およびタイムアウトのプロパティの指定

JDBC 1.0ユーザ定義のドライバ

  1. Add JDBC Connection Poolウィザードの開始

  2. LDSまたはユーザ指定のドライバの指定

  3. JDBCバージョンの指定

  4. プール名の指定

  5. JDBCドライバおよびURLの指定

  6. データソース設定プロパティの指定

  7. 接続およびタイムアウトのプロパティの指定

JDBC 2.0ユーザ定義のドライバ

  1. Add JDBC Connection Poolウィザードの開始

  2. LDSまたはユーザ指定のドライバの指定

  3. JDBCバージョンの指定

  4. データソース情報の指定

  5. プール名の指定

  6. データソース設定プロパティの指定

  7. 接続およびタイムアウトのプロパティの指定

Add JDBC Connection Poolウィザードの開始

Procedure Add JDBC Connection Poolウィザードを開始する

  1. サーバを起動します。

  2. SMCを開始します。

  3. SMCの左側のペインでサーバを選択します。サーバがリストにない場合は、SMCに追加します( アプリケーションサーバのリモートでの管理を参照)。

  4. ツールバーから[Configuration]アイコンを選択します。

  5. Pools]を選択します。

  6. JDBC]を選択して、[Add]をクリックします。

    AddJDBCCP

For more information    操作を続行する方法の詳細については、 パネルの順序を参照してください。

パネルの参照

この節には、次のタスクの参照情報が含まれています。

LDSまたはユーザ指定のドライバの指定

このパネルは、LDSまたはユーザ指定のドライバを使用するかどうかを指定するために使用されます。

AddJDBCLDSKey

次のとおりにパネルを完了します。

フィールド

指定する内容

[Logical DataSource Keys]

JDBCドライバがLDSキーとしてサポートされている場合にこのオプションをオンにします。

ドライバがサポートされていることを調べるには、このオプションをオンにして、ドロップダウンリストを確認します。

[User-specified Driver]

LDSキーとして表されていないJDBCの接続プールを作成する場合にこのオプションをオンにします。

プール名の指定

このパネルは、ターゲットデータベースへの接続にサーバで使用するプールの名前およびユーザ名とパスワードの組み合わせを指定するために使用されます。

AddJDBCPoolName

次のとおりにパネルを完了します。

フィールド

指定する内容

[Pool Name]

接続プールの名前を入力します。この名前は、サーバで固有でなければなりません。これは、データベースに接続するためにJ2EEリソース参照によって使用される名前です。

[User Name]および[Password]

ネイティブデータベースへのユーザ接続に対してサーバで使用できる、ユーザ名とパスワードのペアを入力します。これらの値をnullにすることはできません。このユーザ名はネイティブデータベースに対して既知であり、適切な読み込み/書き込み権がなければなりません。

[Global Transaction (XA)]

これがオンになっている場合(デフォルト)、このプールによって返された接続はグローバルトランザクションに登録されます。一般的に、J2EEアプリケーションでは、トランザクション接続プールを使用する必要があります。

非トランザクション接続プールによって返された接続は、要求時にアクティブであっても、グローバルトランザクションに登録されません。

[Optimize Connection Pooling]

このオプションをオンにすると、トランザクションで共有される接続をさらに効果的に処理できます。

このオプションは、XA標準をサポートしているJDBCドライバを表すプールに対してと、トランザクションへの再登録リストからのリソースのアクティブな登録解除をJDBCドライバで巧みに処理できる場合にのみ適用されます。

データベースプラットフォームの指定

このパネルでは、使用するJDBCドライバのLDSキーを選択できます。

AddJDBCDBPlatform

次のとおりにパネルを完了します。

フィールド

指定する内容

[Database Platform]

サポートされているデータベースプラットフォームのリストから選択します。

[Driver set]

リストからドライバセットを選択します(ドライバセットは、JDBCドライバ、または場合によってはJDBCドライバとアプリケーションサーバ固有のファイルの組み合わせです)。

リストされるドライバセットは、選択したデータベースプラットフォームに固有です。データベースタイプに対して推奨されるドライバセットは、デフォルトで表示されます。

[LDS Key]

関係のあるデータベースプラットフォームとドライバセットに関連付けられている実際のキーを表示する、読み込み専用フィールド。

[Version]

選択したドライバのサポートされているJDBCバージョンを表示する、読み込み専用フィールド。

JDBCドライバおよびURLの指定

このパネルでは、入力するJDBCドライバに関する情報を指定できます。

AddJDBCURL

次のとおりにパネルを完了します。

フィールド

指定する内容

[JDBC Driver]

(読み込み専用) JDBCドライバクラスの完全修飾名。例は次のとおりです。

  com.sybase.jdbc.SybDriver

[JDBC URL]

データベースに接続するためにドライバベンダによって定義されたURL文字列。文字列には、パーセント記号(%)で囲まれた置換可能なパラメータ(例: %HOST%)が含まれます。

例は次のとおりです。

  jdbc:sybase:Tds:%HOST%:%PORT%/%DATABASE%

これらのパラメータは、データベースに適切な値で置き換えます。

[JDBC URL attributes]

ドライバ接続をカスタマイズするために使用できる、ベンダによって定義された追加のURL属性。例は次のとおりです。

  cache=100

データソース設定プロパティの指定

このパネルでは、JDBCドライバでサポートできる接続プールに対して追加のプロパティを指定できます。

AddJDBCProps

プロパティを入力するには、[Add]を選択し、次の表を使用してパネルを完了します。

フィールド

指定する内容

[Properties]

ManagedConnectionFactoryプロパティの名前

[Property value]

ManagedConnectionFactoryプロパティの値

注記:   これらの値は、使用するドライバによって決定されます。これらのプロパティの詳細については、ベンダのドキュメントを参照してください。

接続およびタイムアウトのプロパティの指定

このパネルでは、接続プールの接続値とタイムアウト値を指定できます。

AddCPConnections

次のとおりにパネルを完了します。

フィールド

指定する内容

[Minimum Connections]

接続の最小数。プールマネージャでは、この接続の最小数を維持することを試みます(これはソフト制限です)。

[Maximum Connections]

プールによって許可される接続の最大数。デフォルトは10です。最大限のないプールを作成するには、 -1を使用します。

[Idle Connection Timeout]

アプリケーションサーバによって閉じられる前に、接続(接続プール内)がアイドル状態を持続する時間(秒単位)。

デフォルトは60秒です。

-1に設定すると、アイドルタイムアウトが無効になり、アイドル接続は閉じられなくなります。

[Connection Wait Timeout]

プールからの接続をアプリケーションコンポーネントで待機する時間(秒単位)。

デフォルトは30秒です。

-1に設定すると、クライアントでは、接続が使用可能になるまで待機しなければなりません。

[Log Level]

レベルは次のとおりです。

0 — ログ出力機能がオフになっている

1 — 基本的な接続プール操作をログ出力する

2 — レベル1 + より詳細な操作とエラーメッセージ

3 — レベル2 + JDBCドライバまたはコネクタリソースアダプタによって生成された例外スタックトレースとトレース出力

メッセージは、サーバコンソールに書き込まれます。

JDBCバージョンの指定

このパネルでは、JDBCドライバのバージョンを指定できます。

AddJDBCCP1or2

次のとおりにパネルを完了します。

フィールド

指定する内容

[JDBC 1.0]

JDBCドライバでJDBC 1.0をサポートしている場合にこのオプションをオンにします。

[JDBC 2.0]

JDBCドライバでJDBC 2.0をサポートしている場合にこのオプションをオンにします。

データソース情報の指定

このパネルでは、データソースクラス名または接続プールクラス名、あるいはその両方をJDBC 2.0ドライバに対して指定できます。

AddJDBCXA

次の表を使用してパネルを完了します(少なくとも1つに対して値を入力する必要があります)。

フィールド

指定する内容

[XADataSource class name]

XADataSourceクラスの完全修飾名を指定します。

[ConnectionPoolDataSource class name]

ConnectionPoolDataSourceクラスの完全修飾名を指定します。

ConnectionPoolDataSourceクラス名とXADataSourceクラス名の両方を指定した場合、1つだけが使用されます。使用されるクラス名は、パネルで指定した設定プロパティ全体によって異なります( データソース設定プロパティの指定を参照)。設定プロパティは、その後、データソースクラスのインスタンスに適用されます。

行われること

接続プールを追加すると、アプリケーションサーバでは、指定したユーザ名のデータベースへの接続を作成し、指定した接続の最小数をあらかじめ割り当てます。

コマンドラインからの接続プールの追加

接続プールの追加は、コマンドラインから行ったり、 AddCP SilverCmdを使用するバッチファイルから行ったりすることもできます。

 
Top of section

コネクタ接続プールの追加

コネクタ接続プールを作成する場合、最初にサーバでRARを配備して、有効にしておく必要があります。RARの配備の詳細については、『機能ガイド』の J2EEアーカイブ配備を参照してください。

この節では、SMCのAdd Connector Connection Poolウィザードを使用して接続プールを追加する方法について説明します。

Procedure コネクタ接続プールを追加する

  1. サーバを起動します。

  2. SMCを開始します。

  3. SMCの左側のペインでサーバを選択します。サーバがリストにない場合は、SMCに追加します( アプリケーションサーバのリモートでの管理を参照)。

  4. ツールバーから[Configuration]アイコンを選択します。

  5. Pools]を選択します。

    ADDCP

  6. Connector]を選択して、[Add]をクリックします。ターゲットデータベースへの接続にサーバで使用するプールの名前およびユーザ名とパスワードの組み合わせを指定するように指示されます。

    addconnectorconnpoolname

  7. 接続プール情報を次のとおりに指定します

    フィールド

    指定する内容

    [Pool Name]

    接続プールの名前を入力します。この名前は、サーバで固有でなければなりません。これは、リソース参照を含むJ2EEアプリケーションによってデータソースへの接続に使用される名前です。

    [Resource Adapter Name]

    RARの配備に使用された名前を入力します。配備済みのRARの名前がわからない場合は、SMCの[Resource Adapters]パネル(ツールバーの[Deployment]アイコンを使用するとアクセス可能)を参照してください。

    [User Name]および[Password]

    EISへのユーザ接続に対してアプリケーションサーバで使用できる、ユーザ名とパスワードのペアを入力します。これらの値をnullにすることはできません。このユーザ名はEISに対して既知であり、適切な読み込み/書き込み権がなければなりません。

    [Global Transaction (XA)]

    これがオンになっている場合(デフォルト)、このプールによって返された接続はグローバルトランザクションに登録されます。一般的に、J2EEアプリケーションでは、トランザクション接続プールを使用する必要があります。

    非トランザクション接続プールによって返された接続は、要求時にアクティブであっても、グローバルトランザクションに登録されません。

    接続がXAトランザクションに登録され(XAがtrue)、使用するドライバがLDSキーによって識別されるように指定すると、サーバでは、XAのサポートに最適な接続ファクトリのタイプの使用を決定します。

    XADataSourceの実装を提供する2.0ドライバに対しては、XADataSourceが最適なオプションです。

    XADataSourceはJavaBeanで、単一のURLではなくプロパティのセットが必要とされます。このため、SMCでは[JDBC URL]フィールドが有効にならず、XADataSourceの設定プロパティのセットを入力するよう代わりに指示されます。

    [Optimize Connection Pooling]

    このオプションをオンにすると、トランザクションで共有される接続をさらに効果的に処理できます。

    このオプションは、XA標準をサポートするコネクタを表すプールに対してと、トランザクションへの再登録リストからのリソースのアクティブな登録解除をコネクタで巧みに処理できる場合にのみ適用されます。

  8. Next]をクリックします。

    プールによってサポートされるベンダ固有のプロパティを入力するように指示されます。

    addconnectorconnpoolprops

  9. プロパティを入力するには、[Add]をクリックします。

  10. 次のとおりにパネルを完了します。

    フィールド

    指定する内容

    [Properties]

    ManagedConnectionFactoryプロパティの名前

    [Property value]

    ManagedConnectionFactoryプロパティの値

    プール接続および接続タイムアウトの値についての情報を入力するように指示されます。

    addconnectorconnpooltimeoutprops

  11. 次のとおりにパネルを完了します。

    フィールド

    指定する内容

    [Minimum Connections]

    接続の最小数。プールマネージャでは、このトランザクションの最小数を維持することを試みます(これはソフト制限です)。

    [Maximum Connections]

    プールによって許可される接続の最大数。デフォルトは10です。最大限のないプールを作成するには、 -1を使用します。

    [Idle Connection Timeout]

    アプリケーションサーバによって閉じられる前に、接続(接続プール内)がアイドル状態を持続する時間(秒単位)。

    デフォルトは60秒です。

    -1に設定すると、アイドルタイムアウトが無効になり、アイドル接続は閉じられなくなります。

    [Connection Wait Timeout]

    プールからの接続をアプリケーションコンポーネントで待機する時間(秒単位)。

    デフォルトは30秒です。

    -1に設定すると、クライアントでは、接続が使用可能になるまで待機しなければなりません。

    [Log Level]

    レベルは次のとおりです。

    0 — ログ出力機能がオフになっている

    1 — 基本的な接続プール操作をログ出力する

    2 — レベル1 + より詳細な操作とエラーメッセージ

    3 — レベル2 + JDBCドライバまたはコネクタリソースアダプタによって生成された例外スタックトレースとトレース出力

    メッセージは、サーバコンソールに書き込まれます。

  12. Finish]をクリックします。

行われること   接続プールを追加すると、アプリケーションサーバでは、指定したユーザ名のEISへの接続を作成し、指定した接続の最小数をあらかじめ割り当てます。

接続プールを追加しても、サーバを再起動する必要はありません。サーバの再起動が必要となるのは、接続プールを削除して、同じ名前の(同じタイプの)プールを追加した場合です。元の接続プール(削除されたもの)が実行中のアプリケーションによって使用されていた場合、アクティブなコンポーネント(プール内のEJBオブジェクトなど)の1つによってjava.sql.DataSourceオブジェクトへの参照がキャッシュされている可能性があります。この参照では、無効な接続プールを参照していることがあります。サーバを再起動すると、キャッシュされた参照はクリアされます。

コマンドラインからの接続プールの追加   接続プールの追加は、コマンドラインから行ったり、 AddCP SilverCmdを使用するバッチファイルから行ったりすることもできます。

 
Top of section

接続プールの削除

データベースまたはEISとアプリケーションサーバの間の接続を維持する必要がない場合は、接続プールをサーバから削除できます。

Procedure サーバから接続プールを削除する

  1. サーバを起動します。

  2. SMCを開始します。

  3. SMCの左側のペインでサーバを選択します。サーバがリストにない場合は、SMCに追加します( アプリケーションサーバのリモートでの管理を参照)。

  4. ツールバーから[Configuration]アイコンを選択します。

  5. Pools]を選択します。

  6. リストから接続プールを選択します。

  7. Delete]をクリックします。

  8. OK]をクリックします。

コマンドラインからの接続プールの削除   サーバからのデータベースの削除は、コマンドラインから行ったり、 RemoveCP SilverCmdを使用するバッチファイルから行ったりすることもできます。

 
Top of section

接続プールの維持

接続プールのプロパティのサブセットを編集したり、プールをシャットダウンしたり、プールを再起動したりすることが可能です。

Procedure 接続プールのプロパティを編集する

  1. サーバを起動します。

  2. SMCを開始します。

  3. SMCの左側のペインでサーバを選択します。サーバがリストにない場合は、SMCに追加します( アプリケーションサーバのリモートでの管理を参照)。

  4. ツールバーから[Configuration]アイコンを選択します。

  5. Pools]を選択します。

  6. リストから接続プールを選択します。

  7. Edit]をクリックします。

    Edit Connection Poolウィザードが表示されます。タイプに応じて、接続プールの異なるプロパティを変更できます。JDBC接続プールのパネルの詳細については パネルの参照、コネクタ接続プールのパネルの詳細については コネクタ接続プールの追加をそれぞれ参照してください。

  8. Next]をクリックしてEdit Connection Poolウィザードを移動し、プロパティを変更します。

  9. Finish]をクリックして、ウィザードを完了します。変更を有効にするために接続プールやサーバを再起動する必要はありません。

接続プールのシャットダウン

接続プールは、シャットダウンすると、サービスクライアント接続リクエストに対して使用できなくなります。

接続プールは、基盤となるデータベースやEISを一時的にオフラインにする場合にシャットダウンすることが推奨されます。これは、シャットダウンすることによって、プールではユーザ接続リクエストが処理されないように保証できるためです。

接続プールをシャットダウンすると、すべてのデータベース接続が閉じられ、接続に関連付けられているリソースもすべて解放されます。接続プールを再び使用可能にするには、[Restart](次の説明を参照)を使用します。サーバを再起動しても、シャットダウンした接続プールは再起動しません。

Procedure プールをシャットダウンする

  1. サーバを起動します。

  2. SMCを開始します。

  3. SMCの左側のペインでサーバを選択します。サーバがリストにない場合は、SMCに追加します( アプリケーションサーバのリモートでの管理を参照)。

  4. ツールバーから[Configuration]アイコンを選択します。

  5. Pools]を選択します。

  6. リストから接続プールを選択します。

  7. Shutdown]をクリックします。

    この操作を確認するように指示されます。

  8. Yes]をクリックして、プールをシャットダウンします。

    シャットダウンしたプールは、斜体で表示されます。

無効な接続プールの認識   プール名が太字で表示されている場合、そのプールは無効です。サーバの初期化時に接続プールを起動できなかった場合、このプールは無効になることがあります。このような状況は、データベースがダウンしている場合や、何らかのネットワーク問題が発生して接続を作成できなかった場合に見られる可能性があります。無効なプールを削除するには、 接続プールの削除を参照してください。

接続プールの再起動

SMCの[Shutdown]ボタンを使用して停止された接続プールは、再起動することが可能です。

プールは、シャットダウンされる前にそのプールによって使用されていた設定プロパティ(最小/最大接続数やタイムアウトなど)を使用して再起動されます。

Procedure プールを再起動する

  1. サーバを起動します。

  2. SMCを開始します。

  3. SMCの左側のペインでサーバを選択します。サーバがリストにない場合は、SMCに追加します( アプリケーションサーバのリモートでの管理を参照)。

  4. ツールバーから[Configuration]アイコンを選択します。

  5. Pools]を選択します。

  6. リストから接続プールを選択します。

  7. Restart]をクリックします。

  8. Yes]をクリックします。

 
Top of section

接続プールの考慮事項

この節では、次を含む接続プールの作成および管理時の他の考慮事項について説明します。

アプリケーションサーバによって接続が確保される方法の指定

アプリケーションサーバでは、アプリケーションコンポーネントで使用される接続を、コンポーネントのタイプ(ステートフルまたはステートレス)によって異なる方法で確保します。

ステートレスコンポーネントによって開かれる接続がアプリケーションサーバで確保される方法は、httpd.propsファイルでhttp-server.com.sssw.srv.invctx.releaseResプロパティを使用することによって設定できます。このプロパティには、次の値があります。

説明

True

デフォルト。アプリケーションサーバでは、サーブレットまたはステートレスセッションBeanのサーバによる各呼び出しの後で、自動的に接続プールへの接続を返します。

これにより接続は確保され、アプリケーションによって正しく閉じられていなかったり、アプリケーションによって確保されていたりするために、接続プールで使用可能な接続がすべて使用されている可能性はなくなります。

False

接続は、サーブレットまたはステートレスセッションBeanの各呼び出しの後で、自動的に接続プールに返されません

JTA/XAをサポートしているJDBCドライバおよびコネクタの使用

トランザクション処理を実行するアプリケーションやコンポーネントでは特に、JTA/XAサポートを提供しているJDBCドライバおよびリソースアダプタを使用してください。

JTA/XAプロトコルをサポートしないJDBCドライバや、ローカルトランザクションのみをサポートするコネクタリソースアダプタに対して接続プールを作成する場合、アプリケーションサーバでは、グローバルトランザクションに登録するこれらのプールによって作成された接続を有効にします(ただし、トランザクションに登録できるこのような接続は1つだけです)。デフォルトでは、トランザクションの範囲内で取得された接続の共有がアプリケーションサーバによって試行されます(配備記述子によって指定されていない限り)。これは、次のことを意味しています。

これらのタイプの接続を使用して実行された作業は、復元できません。

グローバルトランザクションに登録するように設定された接続プールの使用

JDBCベースおよびコネクタベースの接続プールは、デフォルトにより、グローバルトランザクションに接続を登録するように設定されます。次のようなトランザクションの場合は、グローバルトランザクションに接続が登録されないように接続プールを作成できます。

J2EEアプリケーションまたはスタンドアロンコンポーネントは、このように設定された接続プールを使用するように設定しないでください。これは、アプリケーションまたはコンポーネントのトランザクションセマンティックに違反するためです。

コンテナ管理のサインオンの使用

可能な場合は、コンテナ管理のサインオンを使用してください。コンポーネント管理のサインオンを使用するアプリケーションでは、移植性と効率性に欠けます。

    First Previous Next Last 管理ガイド  05/21/03 10:02:24 

Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC, a wholly owned subsidiary of Novell, Inc. All rights reserved.