第4章

データソース設定

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

 
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を実行するオプションである[新規サーバ環境設定ファイルのインストール]を画面で必ず選択してください。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

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

Windows

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

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

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

 
Top of page

展開データベースの設定

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

For more information    展開データベースを設定する詳細については、『データベース設定ガイド』のDBMSに関する章を参照してください。

 
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で現在サポートされていません)。

アプリケーションサーバマシン上の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. ツールバーから[環境設定]アイコンを選択します。

  5. [データベース]を選択します。

  6. [データベースの追加]をクリックします。

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

    addDB

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

    フィールド

    指定する内容

    データベース名

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

    ユーザ名およびパスワード

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

    このユーザ名はネイティブデータベースで認識されており、適切な読み込み/書き込み許可が必要です。

    注記:   管理者は、各展開データベースに対して固有なユーザを定義する必要があります。

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

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

    ドライバセット

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

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

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

    データテーブルとは別にシステムテーブルを保存する

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

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

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

    テーブルのサブセットのみを含める

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

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

  8. [完了]をクリックします。

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

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

AddDBNonODBC

次の表は、このパネルの各フィールドについて説明しています。

フィールド

指定する内容

JDBC ドライバ

(読み込み専用) JDBCドライバクラスの完全修飾名。

例:

  com.sybase.jdbc.SybDriver

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

JDBCのURL

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

例:

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

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

JDBC URL属性

ドライバ接続をカスタマイズするために使用できる、ベンダによって定義された追加の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. ツールバーから[環境設定]アイコンを選択します。

  5. [データベース]を選択します。

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

  7. [データベースの削除]をクリックします。

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

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

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

 
Top of section

データベースの設定

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

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

  1. SMCを開始します。

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

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

  3. [データベース]を選択します。

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

    DBconfig

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

    フィールド

    説明

    ユーザ名およびパスワード

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

    ユーザ名はデータベースで認識され、適切な読み込み/書き込み権が与えられている必要があります。

    最小接続

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

    最大接続数

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

    データベースの削除

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

    データベーススキーマの同期化

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

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

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

    アイドル接続の削除

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

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

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

    システムデータベースプロパティ

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

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

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

データベーススキーマの同期化   サーバでキャッシュされたテーブル、ビュー、およびキーの定義が現在のデータベース構造に一致するように、サーバメタデータと現在のデータベーススキーマを同期化しなければならない場合があります。 この処理は、デフォルトでは確認されません。 強制的に確認するには、-dbcheckコマンドラインオプションを使用します。

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

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

 
Top of page

接続プールの設定

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

 
Top of section

接続プールの準備

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

データソースタイプ

管理タスク

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

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

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

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

EIS

RAR (Resource Adapter Archive)をサーバに展開する

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

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

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

 
Top of section

JDBC接続プールの追加

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

この節は、次のトピックで構成されています。

コマンドラインからの追加   JDBC接続はコマンドラインから追加することもできます。コマンドラインからの接続プールの追加を参照してください。

パネルの順序

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

作成するJDBC接続プールの対象

実行する操作

exteNd *に対して事前設定されているJDBCドライバ

  1. JDBC接続プールの追加ウィザードの開始

  2. 事前設定済みドライバまたはユーザ定義ドライバの指定

  3. プール名の指定

  4. JDBCドライバとURLの指定

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

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

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

  1. JDBC接続プールの追加ウィザードの開始

  2. 事前設定済みドライバまたはユーザ定義ドライバの指定

  3. JDBCバージョンの指定

  4. プール名の指定

  5. JDBCドライバとURLの指定

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

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

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

  1. JDBC接続プールの追加ウィザードの開始

  2. 事前設定済みドライバまたはユーザ定義ドライバの指定

  3. JDBCバージョンの指定

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

  5. プール名の指定

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

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

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

JDBC接続プールの追加ウィザードの開始

Procedure JDBC接続プールの追加lウィザードを開始する

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

  2. SMCを開始します。

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

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

  5. [プール]を選択します。

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

    AddJDBCCP

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

パネルの参照

この節では、次のタスクの参照情報について説明します。

事前設定済みドライバまたはユーザ定義ドライバの指定

このパネルは、事前設定済みドライバまたはユーザ定義ドライバのどちらを使用しているのかを指定するために使用されます。

addPreconfiguredDriver

  1. 次のとおりにパネルを入力します。

    フィールド

    指定する内容

    事前に設定済みのexteNd 設定

    使用しているJDBCドライバが[データベースプラットフォーム]および[ドライバセット]のドロップダウンに一覧表示されている場合はこのオプションをオンにします。

    ユーザ指定のドライバ

    事前に設定されていないJDBCの接続プールを作成する場合はこのオプションをオンにします。

  2. [ユーザ指定のドライバ]をオンにした場合は、[次へ]をクリックします。

  3. 事前設定済みのexteNd 設定を選択した場合、残りのフィールドを次のように入力します。

    フィールド

    指定する内容

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

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

    ドライバセット

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

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

    LDSキー

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

    バージョン

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

  4. [次へ]をクリックします。

プール名の指定

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

AddJDBCPoolName

  1. 次のとおりにパネルを入力します。

    フィールド

    指定する内容

    プール名

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

    プール名は32文字に制限されています。

    [ユーザ名]および[パスワード]

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

    グローバルトランザクション(XA)

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

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

    接続プールの最適化

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

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

  2. [次へ]をクリックします。

JDBCドライバとURLの指定

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

AddJDBCURL

  1. 次のとおりにパネルを入力します。

    フィールド

    指定する内容

    JDBCドライバ

    (読み込み専用) JDBCドライバクラスの完全修飾名を表示します。次に例を示します。

      com.sybase.jdbc.SybDriver
    

    JDBC URL

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

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

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

    JDBC URL属性

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

      cache=100
    

  2. [次へ]をクリックします。

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

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

AddJDBCProps

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

    フィールド

    指定する内容

    プロパティ名

    ManagedConnectionFactoryプロパティの名前

    プロパティ値

    ManagedConnectionFactoryプロパティの値

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

  1. [次へ]をクリックします。

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

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

AddCPConnections

  1. 次のとおりにパネルを入力します。

    フィールド

    指定する内容

    最小接続数

    最小接続数。 プールマネージャは、この最小接続数を維持しようとします (この制限は厳しくありません)。

    最大接続数

    プールで許可される最大接続数。 デフォルトは10です。制限無しのプールを作成するには「-1」と指定します。

    アイドル接続タイムアウト(秒)

    アプリケーションサーバによって閉じられる前に、接続(接続プール内)がアイドル状態になる時間(秒単位)。デフォルトは60秒です。「-1」と設定すると、アイドルタイムアウトが無効になり、アイドル接続は閉じられなくなります。

    接続待機タイムアウト(秒)

    プールからの接続をアプリケーションコンポーネントで待機する時間(秒単位)。デフォルトは30秒です。「-1」と設定すると、クライアントは接続が使用可能になるまで待機しなければなりません。

    ログレベル

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

    0 - ログ機能がオフになっている

    1 - 基本的な接続プール操作をログ記録する

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

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

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

JDBCバージョンの指定

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

AddJDBCCP1or2

  1. 次のとおりにパネルを入力します。

    フィールド

    指定する内容

    JDBC 1.0

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

    JDBC 2.0

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

  2. [次へ]をクリックします。

データソース情報の指定

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

AddJDBCXA

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

    フィールド

    指定する内容

    XADataSourceクラス名

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

    ConnectionPoolDataSourceクラス名

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

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

  2. [次へ]をクリックします。

行われること

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

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

接続プールの追加は、コマンドラインから、またはAddCP SilverCmdを使用してバッチファイルから実行できます。

 
Top of section

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

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

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

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

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

  2. SMCを開始します。

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

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

  5. [プール]を選択します。

    ADDCP

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

    addconnectorconnpoolname

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

    フィールド

    指定する内容

    プール名

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

    32文字に制限されています。

    リソースアダプタ名

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

    [ユーザ名]および[パスワード]

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

    グローバルトランザクション(XA)

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

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

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

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

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

    接続プールの最適化

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

    このオプションは、次をサポートするコネクタを表すプールにのみ適用されます。

    • XA標準

    • トランザクションへの再登録からのリソースの効率的な登録解除

  8. [次へ]をクリックします。

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

    addconnectorconnpoolprops

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

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

    フィールド

    指定する内容

    プロパティ名

    ManagedConnectionFactoryプロパティの名前

    プロパティの値

    ManagedConnectionFactoryプロパティの値

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

    addconnectorconnpooltimeoutprops

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

    フィールド

    指定する内容

    最小接続

    最小接続数。 プールマネージャは、この最小トランザクション数を維持しようとします (この制限は厳しくありません)。

    最大接続数

    プールで許可される最大接続数。デフォルトは10です。制限無しのプールを作成するには「-1」と指定します。

    アイドル接続タイムアウト(秒)

    アプリケーションサーバによって閉じられる前に、接続(接続プール内)がアイドル状態になる時間(秒単位)。デフォルトは60秒です。 このフィールドを「-1」と設定すると、アイドルタイムアウトが無効になり、アイドル接続は閉じられなくなります。

    接続待機タイムアウト(秒)

    プールからの接続をアプリケーションコンポーネントで待機する時間(秒単位)。デフォルトは30秒です。「-1」に設定すると、クライアントは、接続が使用できるようになるまで待機しなければなりません。

    ログレベル

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

    0 - ログ機能がオフになっている

    1 - 基本的な接続プール操作をログ記録する

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

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

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

  12. [完了]をクリックします。

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

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

コマンドラインからの接続プールの追加   接続プールの追加は、コマンドラインから、またはAddCP SilverCmdを使用してバッチファイルから実行できます。

 
Top of section

接続プールの削除

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

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

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

  2. SMCを開始します。

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

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

  5. [プール]を選択します。

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

  7. [削除]をクリックします。

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

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

 
Top of section

接続プールの維持

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

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

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

  2. SMCを開始します。

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

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

  5. [プール]を選択します。

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

  7. [編集]をクリックします。

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

  8. [次へ]をクリックして接続プールの編集ウィザードを移動し、プロパティを変更します。

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

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

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

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

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

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

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

  2. SMCを開始します。

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

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

  5. [プール]を選択します。

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

  7. [シャットダウン]をクリックします。

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

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

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

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

接続プールの再起動

SMCの[シャットダウン]ボタンを使用して停止された接続プールは、再起動することができます。

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

Procedure プールを再起動する

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

  2. SMCを開始します。

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

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

  5. [プール]を選択します。

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

  7. [再起動]をクリックします。

  8. [はい]をクリックします。

 
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アプリケーションまたはスタンドアロンのコンポーネントで、このような方法で設定された接続プールが使用されないようにしてください。 アプリケーションまたはコンポーネントのトランザクションセマンティックが違反されます。

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

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



Copyright © 2004 Novell, Inc. All rights reserved. Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved.  more ...