リファレンス・ガイド

     前  次    新規ウィンドウで目次を開く    PDFとして表示 - 新規ウィンドウ  Adobe Readerを取得 - 新規ウィンドウ
コンテンツはここから始まります

DB2 Connectを使用するDB2へのOracle Tuxedo XA接続の構成

この章には次のトピックが含まれます:

 


前提条件

DB2 Connectを使用するメインフレームで実行されているDB2へのTuxedo XA接続の構成を開始する前に、次の作業が必要です。

 


DB2 Connectの構成

この項では、オープン・システム上でDB2 Connectを構成して、メインフレーム上で実行されているDB2サーバーに接続するために必要な手順を説明します。これらの手順は、必要なシステム権限と特別な専門知識を持っているユーザー(ネットワーク管理者やシステム管理者、またはDB2管理者など)が実行する必要があります。

DB2インスタンスの作成

この章では、db2icrtを使用して、メインフレーム上にあるデータベースに接続するために使用されるDB2インスタンスを作成する方法を説明します。db2icrtコマンドは、インスタンス所有者のホーム・ディレクトリにDB2インスタンスを作成します。

注意: LinuxおよびUNIXオペレーティング・システム上にDB2データベース製品をルート以外でインストールした場合は、DB2 DB2ICRTコマンドを使用できません。

LinuxまたはUNIXオペレーティング・システム上では、このユーティリティはDB2DIR/instanceディレクトリにありますが、ここでDB2DIRはDB2 Connectがインストールされている場所を表します。Windowsオペレーティング・システム上では、このユーティリティはDB2PATH\binディレクトリにありますが、ここでDB2PATHはDB2 Connectがインストールされている場所です。

db2icrtコマンドは、次のパラメータをとります。

-h | -?

使用率情報を表示します。

-d

デバッグ・モードをオンにします。このオプションは、DB2データベース・サポートによって指示された場合のみ使用してください。

-a AuthType

インスタンスの認証タイプを指定します(SERVER、CLIENTまたはSERVER_ENCRYPT)。デフォルトは、SERVERです。

-p PortName

インスタンスが使用するポート名または番号を指定します。このオプションは、クライアント・インスタンスには適用されません。

-s InstType

作成するインスタンスのタイプを指定します。-sオプションは、db2icrtを実行しているインストール済製品に関連付けられているデフォルト以外のインスタンスを作成する場合のみ使用してください。有効な値は、Client、standalone、eseまたはwseです。

-u Fenced ID

フェンスされたユーザー定義関数とフェンスされたストアド・プロシージャが動作するユーザーIDの名前を指定します。クライアント・インスタンスを作成しない場合、-uオプションは必須です。

InstName

オペレーティング・システムの既存のユーザーの名前でもあるインスタンスの名前を指定します。これは、db2icrtコマンドの最後の引数でなければなりません。

DB2インスタンスの構成

この項では、CATALOGコマンドを使用して、メインフレームにあるDB2サーバーへの接続をセットアップする方法を説明します。グラフィック・ユーザー・インタフェース・ツールであるDB2 Client Configuration Assistant(CCA)をかわりに使用することもできますが、この項では説明しません

DB2 CATALOG

DB2は、DB2が制御するデータに関する情報が記載されている一連の表を維持しています。これらの表は、カタログと総称されます。

カタログ表には、DB2オブジェクト(表、ビューおよび索引など)に関する情報が含まれます。オブジェクトを作成、変更または削除する場合、DB2は、そのオブジェクトを記述しているカタログの行を、挿入、更新または削除します。

DB2カタログは、表スペース、索引、表、表スペースと索引のコピー、および記憶域グループなど、DB2システムに対して定義されるすべてのものに関するデータの表から構成されています。DB2カタログは、システム・データベースDSNDB06に含まれています。

この手順を起動する前に、次のことを確認する必要があります。

次に、CATALOG TCP/IP NODECATALOG DCS DATABASEおよびCATALOG DATABASEの各手順を1つずつ使用して、接続セットアップを完了します。

CATALOG TCP/IP NODE

CATALOG TCP/IP NODEコマンドの構文は、次のとおりです。

catalog [ ADMIN ] [ TCP/IP protocol ] node [ Node-name ] remote [ Hostname ] server [ Service-name ] with [ comment-string ]

例:

db2 catalog tcpip node wasa-host remote wasa server 4001 with "catalog remote host wasa:4001 to local alias wasa-host"

CATALOG TCP/IP NODE は、次のパラメータをとります。

ADMIN

TCP/IP管理サーバー・ノードがカタログ化予定であることを指定します。SECURITY SOCKSパラメータが指定されている場合、このパラメータは指定できません。

TCP/IP Protocol

使用するTCP/IPプロトコルを、TCPIP、TCPIP4、TCPIP6の中から指定します。

Node-name

TCPIP、TCPIP4またはTCPIP6ノードのノード名は、カタログ化するデータベースを含むマシンに設定できるローカル・ニックネームを表します。IPv4 IPアドレスを指定する場合はTCPIP4のみを、IPv6 IPアドレスを指定する場合はTCPIP6のみを指定します。

Hostname

ターゲット・データベースが存在するノードのホスト名またはIPアドレス。IPアドレスは、IPv4またはIPv6アドレスです。ホスト名は、TCP/IPネットワークに認識されているノードの名前です。ホスト名の最大長は255文字です。

Service-name

サーバー・データベース・マネージャ・インスタンスのサービス名またはポート番号を指定します。最大長は14文字です。このパラメータでは大文字と小文字が区別されます。
サービス名を指定すると、クライアント上のservicesファイルを使用して、サービス名がポート番号にマップされます。サービス名はサーバーのデータベース・マネージャ構成ファイル内で指定され、サーバー上のservicesファイルを使用して、このサービス名がポート番号にマップされます。クライアントとサーバーのポート番号が一致する必要があります。 サーバー上のデータベース・マネージャ構成ファイルで、サービス名でなくポート番号を指定することもできますが、お薦めしません。ポート番号を指定する場合、ローカルのservicesファイル内でサービス名を指定する必要はありません。
CATALOG DCS DATABASE

このコマンドは、リモート・ホスト(z/OSまたはOS/390)またはiSeries(OS/400)データベースに関する情報を、Database Connection Services(DCS)ディレクトリに格納します。これらのデータベースには、DB2 ConnectなどのApplication Requester(AR)を介してアクセスします。システム・データベース・ディレクトリのデータベース名と一致するデータベース名を持つDCSディレクトリ・エントリがあると、指定されたARが起動し、データベースが存在するリモート・サーバーにSQLリクエストを転送します。

注意: UNIX、Linuxなどの汎用システム上に存在するデータにアクセスする必要がある場合、CATALOG DATABASEだけを使用できる可能性があります。

CATALOG DCS DATABASEコマンドの構文は、次のとおりです。

catalog dcs database [ Database-name ] as [ Target-database-name ] with [comment-string ]

例:

db2 catalog dcs database db2wasa as qwa1 with "catalog the remote host

database qwa1 to local db2wasa"

CATALOG DCS DATABASEは、次のパラメータをとります。

Database-name

カタログ化するターゲット・データベースの別名を指定します。この名前は、リモート・ノードに関連付けられているデータベース・ディレクトリのエントリの名前と一致する必要があります。

Target-database-name

カタログ化するターゲット・ホストまたはiSeriesデータベースの名前を指定します。
DB2 CATALOG DATABASE

このコマンドは、データベースの場所情報をシステム・データベース・ディレクトリに格納します。データベースは、ローカル・ワークステーションまたはリモート・データベース・パーティション・サーバー上にあります。

注意: ローカルまたはリモートの汎用システム(UNIX、Linuxなど)にあるデータにアクセスする必要がある場合、それを使用できる可能性があります。

DB2 CATALOG DATABASE コマンドの構文は、次のとおりです。

catalog database [ Database-name ] as [ Alias ] at node [ Node-name ] authentication [ Authentication-type ] with [ comment-string ]

例:

db2 catalog database db2wasa at node wasa-host authentication dcs with "catalog the local db2wasa with dcs authentication type"

DB2 CATALOG DATABASEは、次のパラメータをとります。

Database-name

カタログ化するデータベースの名前を指定します。

Alias

カタログ化されるデータベースの代替名として、別名を指定します。別名が指定されていない場合、データベースマネージャは別名としてデータベース名を使用します。

Node-name

カタログ化されるデータベースが存在するデータベース・パーティション・サーバーの名前を指定します。この名前は、ノード・ディレクトリのエントリの名前と一致する必要があります。指定されたノード名がノード・ディレクトリに存在しない場合、警告が戻され、データベースはシステム・データベース・ディレクトリでカタログ化されます。カタログ化されたデータベースへの接続が要求されると、ノード・ディレクトリでノード名がカタログ化されます。

Authentication-type

認証値はリモート・データベースに格納され(LIST DATABASE DIRECTORYコマンドの出力に表示されます)、ローカル・データベースには格納されません

DB2 START UP

CATALOGのすべての手順の後、一部のデータベース・マネージャ構成を更新して、DB2 Connectを起動する必要があります。

 


Oracle Tuxedoの構成

次に、DB2 Connectを使用してメインフレームに存在するデータベースにアクセスするためにOracle Tuxedoを構成するプロセスについて説明します。Tuxedoが、DB2 Databaseの64ビットのインスタンスとともに動作しているか、32ビットのインスタンスとともに動作しているかにより、いくつかの相違点が、あります。

 


概要

この章では、接続の確認とエラー検出のためのすべての必要手順と方法の要約を示します。

  1. まず、手順ごとの操作を確認します。
  2. db2icrt -a server -u db2art db2art

    db2 catalog tcpip node wasa-host remote wasa server 4001

    db2 catalog dcs database db2wasa as qwa1

    db2 catalog database db2wasa at node wasa-host authentication dcs

    db2 update dbm cfg using SVCNAME db2c_db2art

    db2set DB2COMM=tcpip

    db2set DB2AUTOSTART=yes

    db2stop & db2start

  3. 次に、接続がアクセス可能であることを確認します。
  4. export DB2INSTANCE=db2art

    export DB2BASE=db2wasa

    db2 connect to $DB2BASE user user-name using password

  5. 出力を確認し、次のようになんらかのデータベース接続情報が画面に表示されている場合、メインフレームに存在するデータベースにアクセスでき、必要に応じて、表を作成したり、データを挿入したりすることができることを意味します。なんらかのエラーがエラー・コードとともに画面に表示されている場合、なんらかの障害がある可能性があります。付録で、最も一般的なエラーとその修正方法を検索してください。
  6. Database Connection Information

    Database server = DB2 OS/390 9.1.5

    SQL authorization ID = BEAUSR1

    Local database alias = DB2QWA1

  7. 最後に、Tuxedoアプリケーションを構成して、起動します。
  8. export TUXDIR=/home/db2art/tuxedo11gR1

    export DB2INSTANCE=db2art

    export DB2DIR=/opt/ibm/db2_connect/V9.1

    db2 update dbm cfg using tp_mon_name TUXEDO

    db2 update dbm cfg using spm_name bjaix

    db2 update dbm cfg using max_connections 500

    db2 update dbm cfg using max_coordagents 200

    Add "UDB_XA:db2xa_switch_std:-L${DB2DIR}/lib -ldb2" into $TUXDIR/udataobj/RM

    ${TUXDIR}/bin/buildtms -r UDB_XA -o ${TUXDIR}/bin/TMS_UDB

    ${TUXDIR}/bin/buildserver -r UDB_XA -f svcfile.o -s SVC1,SVC2 -o UDBserver

    Configure OPENINFO in ubbconfig: OPENINFO="UDB_XA:db=sample,uid=username,pwd=password,tpm=tuxedo"

    tmboot -y

 


トラブルシューティング

この項では、DB2 Connectを使用する場合に発生する接続の問題の、最も一般的な症状を示します。それぞれの場合につき、次の情報を提供します。

SQL1403N

症状: SQL1403N 入力したユーザー名やパスワードが不正確です。
対処法: ユーザーがDB2 Connectワークステーションで認証に失敗しました。ユーザーがそのDB2 Connectワークステーションで認証されるはずかどうかを確認します。 「はい」の場合、必要に応じて、CONNECT文で正しいパスワードを入力したことを確認します。 「いいえ」の場合、システム・データベース・ディレクトリ・エントリが、AUTHENTICATION SERVERを使用して不正確にカタログ化されています(AUTHENTICATIONが明示的に指定されていない場合、これがデフォルトです)。この場合、AUTHENTICATION DCSまたはCLIENTを使用して、エントリを再カタログ化します。 ターゲット・サーバー・データベースに送信するパスワードを使用できません。システム・データベース・ディレクトリ・エントリがAUTHENTICATION DCSを使用してカタログ化されている場合、パスワードは、DB2 Clientからターゲット・サーバー・データベースに流される必要があります。一部のプラットフォーム(たとえばAIX)では、パスワードはCONNECT文で入力された場合のみ取得できます。

SQL5043N

症状: 1つ以上の通信プロトコルのサポートを正常に開始できませんでした。ただし、コア・データベース・マネージャ機能は、正常に起動しました。

おそらく、TCP/IPプロトコルがDB2 Connectゲートウェイ上で起動されていません。以前には正常にクライアント接続できていた可能性があります。

対処法: この警告は、リモート・クライアントのためのゲートウェイの働きをするDB2 Connectが、1つ以上のクライアント通信プロトコルを処理できないことを示す症状です。そのプロトコルはTCP/IP、APPCなどの可能性がありますが、通常、このメッセージは、DB2 Connectに対して定義されている通信プロトコルの1つが正しく構成されていないことを示しています。

多くの場合、原因は、DB2COMMプロファイル変数が定義されていないか、不正確に定義されていないことです。通常、問題は、DB2COMM変数と、データベース・マネージャ構成で定義される名前(svcname、tpnameなど)の不一致の結果です。

、1つの可能なシナリオは、以前に正常に接続できていて、何も構成を変更していないのに、SQL5043エラー・メッセージが表示される場合です。これは、TCP/IPプロトコルの使用時に、リモート・システムがなんらかの理由で接続を異常に終了した場合に発生する可能性があります。これが発生した場合、クライアント上に接続がまだ存在するように表示され、次に示すコマンドを発行することによって、それ以上の操作をしなくとも接続をリストア可能になる場合があります。

最も可能性が高いのは、ゲートウェイに接続しているクライアントの1つが、まだTCP/IPポート上のハンドルを持っている場合です。各クライアント・マシン上で、それはゲートウェイに接続されます。

SQL30061

症状: 誤ったホストまたはAS/400データベース・サーバーの場所に接続しています - ターゲット・データベースを検出できません。
対処法: 誤ったサーバー・データベース名は、DCSディレクトリ・エントリで指定された可能性があります。これが発生した場合、アプリケーションに、SQLCODE -30061が戻されます。 DB2ノード、データベースおよびDCSディレクトリ・エントリを確認します。DCSディレクトリ・エントリのターゲット・データベース名フィールドは、そのプラットフォームに基づくデータベースの名前に対応している必要があります。

SQL30081 with Return Code 79

症状: SQL30081N 通信エラーが検出されました。
使用されている通信プロトコル: "TCP/IP"。使用されている通信API: "SOCKETS"。 エラーが検出された場所: ""。通信機能がエラーを検出: "connect". Protocol specific error code(s): "79", "*", "*". SQLSTATE=08001 対処法: このエラーは、リモート・クライアントがDB2 Connectゲートウェイへの接続に失敗する場合に発生する可能性があります。DB2 Connectゲートウェイからホストに接続する場合に発生することもあります。 DB2COMMプロファイル変数が、DB2 Connectゲートウェイ上で不正確に設定されていることがあります。確認してください。たとえば、AIX上でDB2 Extended Enterprise Editionを実行する場合、コマンドdb2set db2comm=tcpipが、sqllib/db2profileにある必要があります。 DB2クライアントとDB2 Connectゲートウェイの間で、TCP/IPサービス名やポート番号の指定に不一致がある可能性があります。両方のマシン上で、TCP/IPサービス・ファイルのエントリを検証します。

  先頭に戻る       前  次