![]() ![]() ![]() ![]() ![]() ![]() | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
第2章
この章では、SilverMasterまたは展開データベースとしてNovell exteNd Application Serverで使用するDB2データベースの設定方法について説明します。この章の節は次のとおりです。
サポートされているデータベースバージョンの最新情報については、Novell exteNd Application Serverのリリースノートを参照してください。
Novell exteNd Application Serverは、Universal Databaseクライアントに含まれている、IBMによって作成されたType 2 JDBCドライバを使ってDB2に接続します。このドライバは、UDBクライアントとのインタフェースによってバックエンドのDB2サーバとデータベース接続を確立します。アプリケーションサーバは、正式にTCP/IP接続をサポートしますが、ユーザはIBMのネイティブプロトコルであるAPPCを使って接続できます。
アプリケーションサーバでDB2データベースを使用できるようにするには、次の手順に従います。
手順2: Universal Database ClientからDB2に接続できるよう準備する
サポートされているデータベースの使用法 DB2は、SilverMasterデータベースとして使用することができ、展開データベースに必要なアプリケーションサーバのシステムテーブルを保存することができます。ただし、DB2がAS/400またはSystem 390上で動作している場合、DB2をSilverMasterとして使用することはできません(つまり、システムテーブルを保存できません)。
SilverMasterと展開データベース 展開データベースは、SilverMasterデータベースと必要なテーブルの名前がまったく同じものがいくつかあるため、両データベースが同じ物理スペース内に存在することはできません。
DB2環境の次の情報を収集します。
注記: DB2のバージョンがV4R2より前の場合、Universal Database Clientをサポートするには、さまざまな設定が必要なことがあります。
Universal Database Clientからの接続をサポートするため、IBMではデータベースとクライアントソフトウェアの設定に関する多数のマニュアルを提供しています。これらのマニュアルは、Universal Database ClientとともにインストールされるInformation CenterあるいはIBMのWebサイトから入手できます。
データベーススキーマが非常に大きい場合は、DB2CLI.INIファイルにおけるスキーマのスキャン時間の短縮に役立つ追加のデータベース設定がないかどうかを確認してください。また、次のIBMマニュアルを参照してください。
データベースクライアントは、アプリケーションサーバが常駐するシステム上にインストールする必要があります。
Windows NT セットアッププログラムの指示に従います。Universal Database ClientとClient Application Enablers (CAE)を混同しないよう注意してください。CAEをインストールしても必要なコンポーネントがすべて揃うわけではありません。すべてのEnterprise Connect製品をインストールする必要があります。
Solaris SolarisにDB2データベースのインストールを開始するには、インストールに合わせていくつかのカーネル設定を変更する必要があります。/etc/systemディレクトリで次のように設定します。
set msgsys:msginfo_msgmax=65535 set msgsys:msginfo_msgmnb=65536 set msgsys:msginfo_msgseg=8192 set msgsys:msginfo_msgssz=16
CDからデータベースクライアントをインストールします。このインストールの際にDB2インスタンスをインストールおよび作成して、アプリケーションサーバがDB2 JDBCを正常に使用するためにDB2プロファイルスクリプトを参照できるようにする必要があります。
Windows NT セットアッププログラムを実行するため次の指示に従います。
UNIX Solarisにバージョン5.2をインストールする場合も、これと同じ指示に従います。ただし、DB2 Connect - Enterprise Editionバージョン6.1をインストールする点が異なります。
HP-UXメモ DB2 6.1をインストールする場合のHP-UXカーネル設定パラメータの推奨値は次のとおりです。
Windows NT セットアッププログラムの指示に従います。
HP-UXとSolaris DB2 ConnectのインストールおよびHP-UXとSolarisのパラメータ設定については、IBM Webサイトの『IBM DB2 Connect Enterprise Edition for UNIX Quick Beginnings』ガイドを参照してください。
Windows NT アプリケーションサーバは、DB2クライアントの「エイリアス」を使用して接続します。これらのエイリアスは、DB2 for Windows NTプログラムフォルダの中にあるIBMのClient Configuration Assistantを使用して設定されます。Client Configuration Assistantを実行するには、使用するNTログインに管理者権限があり、IDが8文字未満でなければなりません。これらの手順を完了するには、DB2管理者であるか、または管理者特権を持っている必要があります。
注記: これらの手順に必要な情報を得るためDB2管理者に連絡を取る必要があります。
DB2 for Windows NTプログラムフォルダのClient Configuration Assistantを開きます。
Client Configuration Assistant画面の右上の[Add]ボタンをクリックします。続行するには[Next]を選択します。
DB2サーバーが動作しているDB2サーバホスト名、TCPポート番号、およびサービス名(オプション)を設定します。続行するには[Next]を選択します。
エイリアス名を入力します(後でアプリケーションサーバーにデータベースを追加する際にこの名前を使用します)。続行するには[Next]を選択します。
(オプション)これらの設定をODBCデータソースとして登録します。この手順は必須ではありませんが、これを行うようお勧めします。
インストールの詳細については、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
インストールの詳細については、IBMのWebサイトにある「Most Common DB2 Connect Problems」を参照してください。
データベースへのクライアント接続を調整するため、IBMによってクライアントサイドの.iniファイルが提供されています。変更を加えない場合、アプリケーションサーバは「すべて」のDB2テーブルとビューを環境に追加しようとします。ほとんどのアプリケーションではリスト全体のサブセットだけが必要になります。DB2データベースに変更を加えないで.iniファイルに追加すると、非常に時間がかかる場合があります。
アプリケーションサーバがスキーマを読み込むのにかかる時間を短縮するためにできることがいくつかあります。また、採るべき2つの主な手法があります。
1つのオプションは、サーバにデータベースを追加する際にアプリケーションサーバが読み込むテーブルのサブセットを指定することです。詳細については、『機能ガイド』のSilverCmdに関する章または『管理者用ガイド』のデータベースの追加(データソース設定に関する章の中)に関する節を参照してください。
GUI手法 別の方法として、次の指示に従ってClient Configuration Assistantから.iniファイルのパラメータに変更を加えることができます。
Text手法 オプションで、テキストエディタを使用して、sqllibディレクトリにあるDB2クライアントの.iniファイルを読み込んで変更することもできます。最初のエイリアスエントリ(Client Configuration Assistantを使って入力した名前)は次のようになります。
[db2alias] DBALIAS=db2alias
テーブルの数を制限するには、特定の「スキーマ」を指定できます。AS/400の場合、このスキーマとは、オブジェクトの所有者/ユーザまたはライブラリを指します。
SCHEMALIST="userid","userid2"
データセットが極端に大きい場合は、SCHEMALISTを使用するだけではスキャン時間を十分に短縮できないことがあります。アプリケーションサーバが問い合わせるテーブルの総数を大幅に減らすためには、次の手順を完了する必要があります。
別の所有者を使用して、すべてのシステムテーブルのビューを作成します(DBAが実行する必要があります)。これらのビューは、アプリケーションでアクセスするテーブルと同じ所有者IDでは作成せずに、一意な所有者IDで作成してください。
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
Windows NT アプリケーションサーバをDB2に接続するには、DB2ライブラリをAGCLASSPATH環境変数に追加する必要があります。これを行うためには、[コントロールパネル]、[システム]の順に開き、[環境]タブを選択します。 AGCLASSPATHという名前のシステム環境変数を作成し、その値をC:\sqllib\java\db2java.zipに設定します(DB2クライアントをデフォルトの場所であるC:ドライブにインストールしたと仮定しています)。DB2クライアントをC:ドライブ以外にインストールした場合は、それに応じてAGCLASSPATH変数を設定してください。
デフォルトでは、これは JDBC 1.0ドライバに設定されています。DB2 7.xでは、スクリプトsqllib\java12\usejdbc2を実行してJDBC 2.0ドライバを使用できます(詳細については、ここをクリックして、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
AGCLASSPATHと.agprofileファイルの編集の詳細については、『管理者用ガイド』のデータソース設定に関する章を参照してください。
これでアプリケーションサーバーからDB2データベースにアクセスする準備が整いました。これで、次の作業を実行できるようになります。
アプリケーションサーバをインストールし、SilverMasterとしてそのデータベースを指す(「Novell exteNdのインストール」を参照)
詳細については、『管理者用ガイド』のデータソース設定に関する章を参照してください。
SQL0551N "user does not have the privilege to perform operation GRANT" DB2 6.1と接続中にDB2クライアントからこのメッセージを受け取ったときは、DB2ユーティリティをデータベースにバインドする必要があります。この手順は、アプリケーションサーバで使用している各データベースに適用してください。バインド手順は次のとおりです。
DB2インスタンスユーザ(たとえばdb2inst1)としてログインし、そのインスタンスのbndサブディレクトリを変更してから、DB2ユーティリティを起動します。
db2inst1@mymachine> cd sqllib/bnd db2inst1@mymachine> 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
db2 => bind @db2ubind.lst blocking all grant public
db2 => bind @db2cli.lst blocking all grant public
Copyright © 2004 Novell, Inc. All rights reserved. Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved. more ...