exteNd Application Server 5.0
コアヘルプ

 

    First Previous Next Last インストールガイド  05/21/03 11:48:11 

第6章    DB2データベースの設定

この章では、SilverMasterまたは配備データベースとしてNovell exteNd アプリケーションサーバで使用するDB2データベースの設定方法について説明します。この章の節は次のとおりです。

For more information    サポートされているデータベースバージョンの最新情報については、Novell exteNd アプリケーションサーバ リリースノートを参照してください。

 
Top of page

サポートされているソフトウェアバージョン

この節では、Novell exteNd テクニカルサポートで推奨される接続およびプレスインストールのセットアップについて詳しく説明します。 DB2のサポートには、次のコンポーネントが含まれます。

ご使用中のソフトウェアがバージョン要件を満たしていない場合は、指定されたバージョンを取得する必要があります。

 
Top of page

DB2データベースへの接続

Novell exteNd アプリケーションサーバは、Universal Databaseクライアントに含まれている、IBMによって作成されたType 2 JDBCドライバを使ってDB2に接続します。 このドライバは、UDBクライアントとのインタフェースによってバックエンドのDB2サーバとデータベース接続を確立します。 アプリケーションサーバは、正式にTCP/IP接続をサポートしますが、ユーザはIBMのネィティブプロトコルであるAPPCを使って接続できます。

アプリケーションサーバでDB2データベースを使用できるようにするには、次の指示に従います。

手順1: DB2環境に関する情報を収集する

手順2: Universal Database ClientからDB2への接続を準備する

手順3: データベースクライアントをインストールする

手順4: DB2クライアント接続を設定する

手順5: DB2CLI.INIファイルを変更する

手順6: 環境変数を設定する

手順7: アプリケーションサーバでデータベースを使用する

サポートされているデータベースの使用法   DB2は、SilverMasterデータベースとして使用することができ、配備データベースに必要なアプリケーションサーバのシステムテーブルを保存することができますが、次の例外があります。 DB2がAS/400またはSystem 390上で動作している場合、DB2をSilverMasterとして使用することはできません(すなわちシステムテーブルを保管できません)。

SilverMasterと配備データベース   配備データベースは、SilverMasterデータベースと必要なテーブルの名前がまったく同じものがいくつかあるため、両データベースが物理的に同じスペース内に存在することはできません。

 
Top of section

手順1: DB2環境に関する情報を収集する

DB2環境の次の情報を収集します。

注記:   DB2のバージョンがV4R2より以前のものである場合、Universal Database Clientをサポートするためにはさまざまな設定が必要となります。

 
Top of section

手順2: Universal Database ClientからDB2への接続を準備する

Universal Database Clientからの接続をサポートするため、IBMではデータベースとクライアントソフトウェアの設定に関する多数のマニュアルを提供しています。 これらのマニュアルは、Universal Database ClientとともにインストールされるInformation CenterあるいはIBMのWebサイトから入手できます。

データベーススキーマが非常に大きい場合は、DB2CLI.INIファイルをスキャンする時間を短縮するためデータベースの設定を追加することを検討してください。 また、次のIBMマニュアルを参照してください。

 
Top of section

手順3: データベースクライアントをインストールする

データベースクライアントは、アプリケーションサーバが常駐するシステム上にインストールする必要があります。

Universal Database Clientバージョン5.2 (Enterprise Edition)の使用

Windows NT   セットアッププログラムの指示に従います。 Universal Database ClientとClient Application Enablers (CAE)を混同しないよう注意してください。 CAEをインストールしても必要なコンポーネントがすべて揃うわけではありません。 すべてのEnterprise Connect製品をインストールする必要があります。

Solaris   SolarisにDB2データベースのインストールを開始する前に、インストールに適用するよういくつかのカーセル設定を変更しなければなりません。 /etc/systemディレクトリで次のように設定します。

  msgsys:msginfo_msgmax=65535 に設定します。
  msgsys:msginfo_msgmnb=65536 に設定します。 
  msgsys:msginfo_msgseg=8192 に設定します。
  set msgsys:msginfo_msgssz=16

CDからデータベースクライアントをインストールします。 DB2 JDBCを正しく使用してアプリケーションサーバのDB2プロファイルスクリプトを参照できるようにするため、このインストールの際にDB2インスタンスをインストールして作成します。

DB2 Connectバージョン6.1 (Enterprise Edition)の使用

Windows NT   セットアッププログラムを実行するため次の指示に従います。

  1. DB2 Enterprise - Extended Edition]チェックボックスを選択します。

    サーバインスタンスに関する情報はデフォルト設定のままにしておきます。

  2. Custom]を選択します。

  3. リストから次のアイテムを選択します。

UNIX   Solarisにバージョン5.2をインストールする際も、DB2 Connect - Enterprise Editionバージョン6.1のインストールを除いて、これと同じ指示に従います。

HP-UXメモ   DB2 6.1をインストールする場合のHP-UXカーネル設定パラメータの推奨値は次のとおりです。

DB2 Connectバージョン7 (Enterprise Edition)の使用

Windows NT   セットアッププログラムの指示に従います。

HP-UXとSolaris    DB2 ConnectのインストールおよびHP-UXとSolarisのパラメータ設定については、IBM Webサイトの『IBM DB2 Connect Enterprise Edition for UNIX Quick Beginnings』ガイドを参照してください。

 
Top of section

手順4: DB2クライアント接続を設定する

Windows NT   アプリケーションサーバは、DB2クライアントの「エイリアス」を使用して接続されます。 これらのエイリアスは、DB2 for Windows NTプログラムフォルダの中にあるIBMのClient Configuration Assistantを使用して設定されます。 Client Configuration Assistantを実行するには、NTへのログインIDは管理者権限を持ちまたIDは8文字以内でなければなりません。 これらの手順を終了するために、DB2管理者であるかまたは管理者権限を持っている必要があります。

Procedure 新規のDB2クライアントエイリアスを作成する

注記:   これらの手順に必要な情報を得るためDB2管理者に連絡を取る必要があります。

  1. DB2 for Windows NTプログラムフォルダのClient Configuration Assistantを開きます。

  2. Client Configuration Assistant画面の右上の[Add]ボタンをクリックします。 続行するには[Next]を選択します。

  3. 手動でDB2データベース接続を設定するよう選択します。 続行するには[Next]を選択します。

  4. 該当するプロトコル(デフォルトはTCP/IP)を選択します。 続行するには[Next]を選択します。

  5. 該当するプラットフォームまたはLANベースを選択します。

  6. DB2サーバーが動作しているDB2サーバホスト名、TCPポート番号、およびサービス名(オプション)を設定します。 続行するには[Next]を選択します。

  7. ターゲットデータベース名を入力します。 続行するには[Next]を選択します。

  8. エイリアス名を入力します(後でアプリケーションサーバーにデータベースを追加する際にこの名前を使用します)。 続行するには[Next]を選択します。

  9. (オプション)これらの設定をODBCデータソースとして登録します。 この手順は必須ではありませんが、これを行うようお薦めします。

  10. 最後に、Client Configuration Assistant内部から接続をテストします。

For more information    インストールの詳細については、IBM Webサイトの「Most Common DB2 Connect Problems」を参照してください。

Solaris   DB2データベースとの接続を確立するため、DB2コマンドラインプロセッサを入力し、次の2つのコマンドを入力します。

  catalog tcpip node tcpipnodealias remote servername server port# 

ここで、tcpipnodealiasはDB2サーバーのローカルエイリアス(通常はservernameと同じ)、servernameはDB2サーバの名前、port# はTCP/IPコールを受信するよう設定されているデータベースサーバのポートです。

  catalog database databasename as aliasname at node tcpipnodealias 

ここで、databasenameは実際のデータベース名、aliasnameはデータベースのローカル名(実際の名前と同じでも構いません)、tcpipnodealiasは最初のカタログステートメントで指定されている名前です。

DB2接続をテストするには次のようにします。

  connect to aliasname user userid using password

For more information    インストールの詳細については、IBM Webサイトの「Most Common DB2 Connect Problems」を参照してください。

 
Top of section

手順5: DB2CLI.INIファイルを変更する

IBMはデータベースへのクライアント接続を追跡する目的のためにクライアント側に.iniファイルを提供しています。 変更を加えない場合、アプリケーションサーバは環境内に「すべて」のDB2テーブルとビューの追加を試みます。 ほとんどのアプリケーションでは全リストのサブセットだけが必要となります。 DB2データベースに変更を加えないで.iniファイルに追加すると、非常に時間がかかる場合があります。 アプリケーションでスキーマを読み取るのにかかる時間を短縮するためにできることがいくつかあります。

1つのオプションとして、サーバにデータベースを追加する際アプリケーションサーバで読み取るテーブルのサブセットを指定します。 詳細については、『機能ガイド』の SilverCmdに関する章または『管理者ガイド』の データベースの追加(データソース設定に関する章の中)に関する節を参照してください。

または、次の指示に従ってClient Configuration Assistantから.iniファイルのパラメータに変更を加えることができます。

  1. エイリアスのプロパティを表示し、次に変更するODBC設定を選択します。

  2. データベースに接続して、[advanced]を選択します。

    アプリケーションサーバのインストールに役立つ特別な設定を次にリストします。 完全なリストは、IBMの『Call Level Interface』のマニュアルにあります。

または、テキストエディタを使用して、sqllibディレクトリにあるDB2クライアントの.iniファイルを読み込み、これを変更することもできます。 最初のエイリアスエントリ(Client Configuration Assistantを使って入力した名前)は次のようになります。

  [db2alias] 
  DBALIAS=db2alias 

テーブルの数を制限するには、特定の「スキーマ」を指定できます。 この例では、AS/400の場合オブジェクトの所有者/ユーザまたはライブラリを参照します。

  SCHEMALIST="userid","userid2" 

極端に大きなデータセットでは、SCHEMALISTを使用するだけではスキャン時間を短縮できない場合があります。 アプリケーションサーバで応答するテーブルの総数を大幅に減らすためには、次の手順を終了させる必要があります。

  1. 代替所有者を使用してすべてのシステムテーブルのビューを作成します(実行するのはDBAでなければなりません)。 アプリケーションでアクセスするテーブルの所有者と同じIDでビューを作成しないでください。一意な所有者IDでこれらのビューを作成します。

  2. .iniファイルでビューの所有者を参照します。

      SYSSCHEMA="owner"
    

たとえば、異なる3人の所有者のオブジェクトを表示するためのビューを作成することができます。 このサンプルビューの構文は、NT上のDB2用に使用されています。

  CREATE VIEW MYSCHEMA.SYSTABLES AS  SELECT *  FROM SYSIBM.SYSTABLES  WHERE CREATOR IN (\qUSER1\q,\qUSER2\q,\qUSER3\q) 

同一スキーマの下で必要なすべてのシステムテーブルのビューが作成されると、 iniファイル内のエントリは次のようになります。

  SYSSCHEMA="MYSCHEMA"

アプリケーションサーバは、これらのオブジェクトだけをスキャンします。 SCHEMALISTと組み合せて使用した場合、サーバは3人の所有者のオブジェクトをスキャンしましすが、SCHEMALISTで参照される所有者に追加されるだけです。

重要:    インストール時間とサーバのスタート時間を短縮するため、先に述べたオプションを使用することをお薦めします。

その他の設定オプション

MVS環境では、ロングのデータタイプとの互換性のため変数を設定する必要があります。 この設定についての詳細は、『Call Level Interface』マニュアルのLONGDATACOMPATに関する節を参照してください。

  LONGDATACOMPAT=1 

データベースを追加した後DB2にレコードを保存できない場合は、トランザクション変数を設定する必要があります。 次にリストされている例はAS/400用で、テーブル結合の必要が省かれています。 オプションの完全なリストについては、『Call Level Interface』マニュアルのTXNISOLATIONに関する節を参照してください。

  TXNISOLATION=32 

 
Top of section

手順6: 環境変数を設定する

Windows NT   アプリケーションサーバをDB2に接続するには、DB2ライブラリをAGCLASSPATH環境変数に追加する必要があります。 これを行うためには、[コントロールパネル]、[システム]の順に開き、[Environment]タブを選択します。 AGCLASSPATHと呼ばれるシステム環境変数を作成し、その値をC:\sqllib\java\ db2java.zip(DB2クライアントをデフォルトロケーションのC:ドライブにインストールしたと仮定します)に設定します。DB2クライアントをC:ドライブ以外にインストールした場合は、それに応じてAGCLASSPATH変数を設定してください。

デフォルトでは、これは JDBC 1.0ドライバに設定されています。 DB2 7.xでは、次のスクリプトを実行してJDBC 2.0ドライバを使用できます。 sqllib\java12\usejdbc2 (詳細については、 ここをクリックしてください) (www-3.ibm.com/cgi-bin/db2www/data/db2/ udb/winos2unix/support/document.d2w/report?&fn=1008960).

UNIX   DB2ではDB2 JDBCドライバのネイティブライブラリとJavaクラスをJavaクラスパスとシステムライブラリパスに追加する必要があります。 これを行うため、先に作成したDB2インスタンスをアプリケーションサーバの環境ファイル.agprofile(アプリケーションサーバのインストールライブラリに保存されています)で直接参照できます。 次の行を追加して.agprofileを編集します。

  . /export/home/db2inst1/sqllib/db2profile

デフォルトでは、これは JDBC 1.0ドライバに設定されています。 DB2 7.xでは、次の行を.agprofileファイルに追加してJDBC 2.0ドライバを使用できます(詳細については、 ここをクリックしてください)。(www-3.ibm.com/cgi-bin/db2www/data/db2/udb/ winos2unix/support/document.d2w/report?&fn=1008960):

  . /home/db2inst1/sqllib/db2profile
  . /home/db2inst1/sqllib/java12/usejdbc2

For more information    AGCLASSPATHと.agprofileファイルの編集の詳細については、『管理者ガイド』の データソース設定に関する章を参照してください。

 
Top of section

手順7: アプリケーションサーバでデータベースを使用する

これでアプリケーションサーバーからDB2データベースにアクセスする準備が整いました。 必要に応じて、次の作業ができるようになります。

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

 
Top of page

トラブルシューティング

SQL0551N 「ser does not have the privilege to perform operation GRANT」   DB2 6.1と接続中にDB2クライアントからこのメッセージを受け取ったときは、DB2ユーティリティをデータベースにバインドする必要があります。 アプリケーションサーバで使用している各データベースごとにプロシージャを適用しなければなりません。 バインドプロシージャは以下のとおりです。

  1. DB2インスタンスユーザ(たとえばdb2inst1)としてログインし、そのインスタンスのbndサブディレクトを変更してから、DB2ユーティリティを起動します。

      db2inst1@mymachine>  cd sqllib/bnd
      db2inst1@mymachine>  db2
    
  2. DB2管理者としてデータベースに接続します。

      db2 => connect to mydatabase user db2admin using db2admin
    

    次のメッセージが表示されます。

      Database Connection Information
      Database server        = DB2/NT 6.1.0
      SQL authorization ID   = DB2ADMIN
      Local database alias   = MYDATABASE
    
  3. 最初のバインドコマンドを実行します。

      db2 => bind @db2ubind.lst blocking all grant public
    
  4. 2番目のバインドコマンドを実行します。

      db2 => bind @db2cli.lst blocking all grant public 
    
    First Previous Next Last インストールガイド  05/21/03 11:48:11 

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