コネクティビティー 補足

アプリケーション・リクエスターのセットアップ

DB2 ユニバーサル・データベース (OS/390 版) では、 DB2 ユニバーサル・データベース (OS/390 版) 分散データ機能 (DDF) の重要な部分として DRDA アプリケーション・リクエスターを実装しています。 DDF は、ローカルな DB2 ユニバーサル・データベース (OS/390 版) データベース管理機能とは別個に停止させることができますが、ローカルな DB2 ユニバーサル・データベース (OS/390 版) データベース管理サポートなしに実行させることはできません。

アプリケーション・リクエスターとして動作している場合、 DB2 ユニバーサル・データベース (OS/390 版) はシステム上で実行されているアプリケーションを、 DRDA アプリケーション・サーバー機能が実装されているリモート DB2 ユニバーサル・データベース、 DB2 (MVS/ESA 版)、DB2 ユニバーサル・データベース (OS/390 版)、DB2 ユニバーサル・データベース (AS/400 版)、および DB2 (VSE および VM 版) の各データベース・サーバーに接続できます。

DB2 ユニバーサル・データベース (OS/390 版) アプリケーション・リクエスターを使用して分散データベースにアクセスするには、以下のようにしてください。

ネットワーク情報の提供

分散データベース環境の処理の大部分では、ネットワーク内の他の場所との間でメッセージを交換することが必要です。このプロセスが正しく実行されるようにするには、以下のことを実行しなければなりません。

  1. ローカル・システムの定義
  2. リモート・システムの定義
  3. 通信の定義 (SNA または TCP/IP 接続用)
  4. RU サイズおよび歩調合わせの設定 (SNA 接続の場合のみ)

ローカル・システム (SNA) の定義またはローカル・システム (TCP/IP) の定義を参照してください。

ローカル・システム (SNA) の定義

SNA ネットワーク内の各プログラムには NETID および LU 名が割り当てられているため、 DB2 ユニバーサル・データベース (OS/390 版) アプリケーション・リクエスターがネットワークに接続するときには NETID.LUNAME 値 (VTAM を介して割り当てられる) が必要です。 DB2 ユニバーサル・データベース (OS/390 版) アプリケーション・リクエスターはローカルの DB2 ユニバーサル・データベース (OS/390 版) データベース管理システムに統合されるため、アプリケーション・リクエスターには RDB_NAME も必要です。 DB2 ユニバーサル・データベース (OS/390 版) のマニュアルでは、 DB2 ユニバーサル・データベース (OS/390 版) は RDB_NAME をロケーション 名と呼んでいます。

DB2 ユニバーサル・データベース (OS/390 版) アプリケーション・リクエスターを SNA ネットワークに定義するには、次のようにします。

  1. DB2 ユニバーサル・データベース (OS/390 版) システムの LU 名を選択する。 DDF が始動すると、DB2 ユニバーサル・データベース (OS/390 版) システムの NETID が VTAM から自動的に取得されます。
  2. DB2 ユニバーサル・データベース (OS/390 版) のブートストラップ・データ・セット (BSDS) に LU 名とロケーション名を定義する (DB2 ユニバーサル・データベース (OS/390 版) ではロケーション名が 16 文字に制限されます。)
  3. 選択した LU 名を VTAM に登録するため、VTAM APPL 定義を作成する。
  4. 拡張機密保護が「YES」に設定されていることを確認してください。 追加機密保護拡張を参照してください。

DDF BSDS の構成

DB2 ユニバーサル・データベース (OS/390 版) は始動処理中に BSDS を読み取って、システム・インストール・パラメーターを取得します。 BSDS に保管されるレコードの 1 つは DDF レコード と呼ばれるものです。そのように呼ばれるのは、VTAM に接続するとき、その中に収められている情報を DDF が使用するからです。この情報は次のものから構成されます。

以下の 2 つの方法で、DDF BSDS 情報を DB2 ユニバーサル・データベース (OS/390 版) に指定できます。

DDF が (DB2 ユニバーサル・データベース (OS/390 版) の始動に伴って自動的に、あるいは DB2 ユニバーサル・データベース (OS/390 版) の START DDF コマンドによって) 始動すると、 DDF は VTAM に接続し、LU 名とパスワードを VTAM に渡します。 VTAM は、 LU 名とパスワード (VTAM パスワードが必要な場合) を DB2 ユニバーサル・データベース (OS/390 版) システムの VTAM APPL ステートメントで定義された値と照合することによって、 DB2 ユニバーサル・データベース (OS/390 版) システムを認識します。 VTAM パスワードは、指定された LU 名を DB2 ユニバーサル・データベース (OS/390 版) が VTAM 上で使用する許可を得ているかどうかを検査するために使用されます。 VTAM パスワードはネットワークの中を伝送されることはありませんし、ネットワーク内の他のシステムを DB2 ユニバーサル・データベース (OS/390 版) に接続するために使用されることもありません。

VTAM がパスワードを必要としない場合は、ログ目録変更ユーティリティーで PASSWORD= キーワードを省略してください。このキーワードを指定しないということは、VTAM パスワードが不要であるということです。

VTAM APPL 定義の作成

VTAM LU 名とパスワードを DB2 ユニバーサル・データベース (OS/390 版) に定義したら、次にこれらの値を VTAM に登録する必要があります。 VTAM では、ローカル LU 名を定義するのに APPL ステートメントを使用します。 図 17 は、LU 名 NYM2DB2 を VTAM に定義する方法を示しています。

図 17. DB2 ユニバーサル・データベース (OS/390 版) の VTAM APPL 定義のサンプル

 DB2APPLS VBUILD TYPE=APPL
 *
 *--------------------------------------------------------------------*
 *                                                                    *
 *           APPL DEFINITION FOR THE NEW_YORK3 DB2 SYSTEM             *
 *                                                                    *
 *--------------------------------------------------------------------*
 *
NYM2DB2   APPL  APPC=YES,                                               X
                AUTH=(ACQ),                                             X
                AUTOSES=1,                                              X
                DMINWNL=10,                                             X
                DMINWNR=10,                                             X
                DSESLIM=20,                                             X
                EAS=9999,                                               X
                MODETAB=RDBMODES,                                       X
                PRTCT=PSWDBD1,                                          X
                SECACPT=ALREADYV,                                       X
                SRBEXIT=YES,                                            X
                VERIFY=NONE,                                            X
                VPACING=2,                                              X
                SYNCLVL=SYNCPT,                                         X
                ATNLOSS=ALL                                             X

VTAM APPL ステートメントでは多くのキーワードを使用できます。キーワードの意味は、 DB2 ユニバーサル・データベース (OS/390 版) 管理の手引き に詳しく説明されています。ここでは本書の内容に関係のあるキーワードだけを説明します。 図 17 に関係するキーワードを以下に説明します。

NYM2DB2
VTAM は、LU 名として APPL ステートメント・ラベルを使用します。この場合、LU 名は NYM2DB2 です。 APPL の構文では、完全な NETID.LUNAME の値を指定することができません。 VTAM APPL ステートメントに NETID 値は指定されません。各アプリケーションには VTAM システムの NETID が自動的に割り当てられるからです。

AUTOSES=1
APPC セッション数変更 (CNOS) が発行されるときに自動的に開始する SNA 回線争奪勝者セッションの数。 VTAM CNOS 処理が失敗した場合に DB2 ユニバーサル・データベース (OS/390 版) に通知するため、 AUTOSES には非ゼロ値を指定する必要があります。

任意の 2 つの分散データベース・パートナー間のすべての APPC セッションを自動的に開始する必要はありません。 AUTOSES 値が回線争奪勝者の限度 (DMINWNL) より小さい場合には、分散データベース・アプリケーションが必要とするまで、 VTAM は残りの SNA セッションの開始を遅らせます。

DMINWNL=10
この DB2 ユニバーサル・データベース (OS/390 版) システムが回線争奪勝者となるセッションの数。 DMINWNL パラメーターは CNOS 処理の省略時値ですが、 DB2 ユニバーサル・データベース (OS/390 版) CDB 中の SYSIBM.LUMODES 表に行を追加することにより、所定の任意のパートナーに合わせてオーバーライドすることができます。

DMINWNR=10
パートナー・システムが回線争奪勝者となるセッションの数。 DMINWNR パラメーターは CNOS 処理の省略時値ですが、 DB2 ユニバーサル・データベース (OS/390 版) CDB 中の SYSIBM.LUMODES 表に行を追加することにより、所定の任意のパートナーに合わせてオーバーライドすることができます。

DSESLIM=20
DB2 ユニバーサル・データベース (OS/390 版) と特定のモード・グループ名の別の分散システムとの間に確立できるセッションの合計数 (勝者および敗者セッション)。 DSESLIM パラメーターは CNOS 処理の省略時値ですが、 DB2 ユニバーサル・データベース (OS/390 版) CDB 中の SYSIBM.LUMODES 表に行を追加することにより、所定の任意のパートナーに合わせてオーバーライドすることができます。

パートナーが DSESLIM、DMINWNL、または DMINWNR パラメーターで要求されたセッションの数をサポートできない場合には、 CNOS 処理はパートナーが受け入れ可能なこれらのパラメーターの新しい値を折衝します。

EAS=9999
この VTAM LU で必要とされるセッションの合計数の見積もり。

MODETAB=RDBMODES
各 DB2 ユニバーサル・データベース (OS/390 版) モード名が存在する VTAM MODE 表を指定します。

PRTCT=PSWDBD1
DB2 ユニバーサル・データベース (OS/390 版) が VTAM への接続を試行するときに使用される VTAM パスワードを指定します。 PRTCT キーワードを省略する場合、パスワードは不要であり、 DB2 ユニバーサル・データベース (OS/390 版) のログ目録変更ユーティリティーから password= キーワードを省略する必要があります。

SECACPT=ALREADYV
リモート・システムから分散データベース要求を受け取ったときにこの DB2 ユニバーサル・データベース (OS/390 版) システムが受け入れる、最大の SNA 会話レベル機密保護値を指定します。 ALREADYV キーワードは、この DB2 ユニバーサル・データベース (OS/390 版) システムが、この DB2 ユニバーサル・データベース (OS/390 版) システムにデータを要求する他の DRDA システムから、以下の 3 つの SNA セッション機密保護オプションを受け入れることができることを示しています。

各 DB2 ユニバーサル・データベース (OS/390 版) パートナーに対する SNA 会話機密保護レベルは、 DB2 ユニバーサル・データベース (OS/390 版) CDB (SYSIBM.LUNAMES 表の USERSECURITY 列) から取られているので、常に SECACPT=ALREADYV を指定するのが最善の方法です。 SECACPT=ALREADYV を指定すると、USERSECURITY の値を柔軟に選択できるようになります。

VERIFY=NONE
この DB2 ユニバーサル・データベース (OS/390 版) システムで必要な SNA セッション機密保護の (パートナー LU 検査) レベルを識別します。 NONE 値は、パートナー LU 検査が必要ではないことを示しています。

DB2 ユニバーサル・データベース (OS/390 版) では、VERIFY キーワードの選択に制限はありません。信頼性の低いネットワークの場合は VERIFY=REQUIRED をお勧めします。 VERIFY=REQUIRED を指定すると、パートナー LU 検査を実行できないパートナーを VTAM が拒否することになります。 VERIFY=OPTIONAL を選択すると、 VTAM はサポートを提供するパートナーにのみパートナー LU 検査を実行します。

VPACING=2
VTAM の歩調合わせカウントを 2 に設定します。

SYNCLVL=SYNCPT
DB2 ユニバーサル・データベース (OS/390 版) が 2 フェーズ・コミットをサポートできるということを示します。 VTAM は、この情報を使用して、パートナーに 2 フェーズ・コミットが使用可能であることを通知します。このキーワードを指定すると、パートナーが 2 フェーズ・コミットをサポートできる場合に、 DB2 ユニバーサル・データベース (OS/390 版) は自動的に 2 フェーズ・コミットを使用します。

ATNLOSS=ALL
VTAM セッションが終了するたびに DB2 ユニバーサル・データベース (OS/390 版) が通知を受ける必要があることを示します。これにより、DB2 ユニバーサル・データベース (OS/390 版) は必要なときに SNA 再同期を実行することになります。

DSESLIM、DMINWNL、および DMINWNR により、すべてのパートナーに当てはまる、省略時の VTAM セッション限度を確立できます。特殊なセッション限度要件があるパートナーの場合は、 SYSIBM.LUMODES 表を使って省略時のセッション限度をオーバーライドできます。たとえば、OS/2 システムに適した VTAM 省略時セッション限度を指定する場合、他のパートナーに適したセッション限度を定義する行を SYSIBM.LUMODES 表に作成できます。次のサンプル値を考慮してください。

   DSESLIM=4,DMINWNL=0,DMINWNR=4

これらのパラメーターにより、各パートナーは、自分が回線争奪勝者であるセッションを最大 4 つまで DB2 ユニバーサル・データベース (OS/390 版) との間で作成できるようになります。 OS/2 は DB2 ユニバーサル・データベース (OS/390 版) と LU 6.2 会話を作成するので、 OS/2 を回線争奪勝者としても大幅なパフォーマンスの向上は望めません。 OS/2 は、使用可能な回線争奪勝者セッションを持っている場合、新しい LU 6.2 会話を開始する許可を求める必要はありません。

ローカル・システム (TCP/IP) の定義

読者の便宜のために、この節では DB2 コネクト エンタープライズ・エディション (OS/2 および Windows NT 版) 概説およびインストール を要約しています。詳細については、DB2 ユニバーサル・データベース (OS/390 版) インストレーションの手引き、および DRDA Support for TCP/IP with DB2 Universal Database for OS/390 and DB2 Universal Database を参照してください。

DB2 ユニバーサル・データベース (OS/390 版) との TCP/IP 通信を定義するためのステップは以下のとおりです。

  1. TCP/IP 通信は DB2 ユニバーサル・データベース (OS/390 版) およびパートナー・システム上で確立されている必要があります。
  2. 2 つの適切な TCP/IP ポート番号がネットワーク管理者から割り当てられている必要があります。省略時では DB2 ユニバーサル・データベース (OS/390 版) は、データベース接続にポート番号 446 を、再同期要求 (2 フェーズ・コミット) にポート番号 5001 を使用します。
  3. リモート・アプリケーション・サーバーまたはアプリケーション・リクエスターは、 DB2 ユニバーサル・データベース (OS/390 版) として同一のポート番号 (またはサービス名) を使用する必要があります。
  4. TCP/IP がすでに検査済みの機密保護オプションを「YES」に設定していることを確認してください。 追加機密保護拡張を参照してください。
  5. DB2 ユニバーサル・データベース (OS/390 版) BSDS は、追加のパラメーターを組み込んでいる必要があります。 図 18 は、 TCP/IP 通信を使用可能にするために必要な追加パラメーターを強調しています。

    図 18. ブートストラップ・データ・セット DDF 定義 (TCP/IP 用) の例

    //SYSADMB JOB ,'DB2 5.1 JOB',CLASS=A
    //*
    //*        CHANGE LOG INVENTORY:
    //*        UPDATE BSDS WITH
    //*             - DB2 LOCATION NAME FOR NEW_YORK3
    //*             - VTAM LUNAME (NYM2DB2)
    //*             - DB2/VTAM PASSWORD
    //*
    //*             - GENERIC LU NAME
    //*             - TCP/IP PORT FOR DATABASE CONNECTIONS
    //*             - TCP/IP PORT FOR RESYNCH OPERATIONS
    //*
    //DSNBSDS EXEC PGM=DSNJU003
    //STEPLIB  DD  DISP=SHR,DSN=DSN510.DSNLOAD
    //SYSUT1   DD  DISP=OLD,DSN=DSNC510.BSDS01
    //SYSUT2   DD  DISP=OLD,DSN=DSNC510.BSDS02
    //SYSPRINT DD  SYSOUT=*
    //SYSUDUMP DD  SYSOUT=*
    //SYSIN    DD  *
     DDF    LOCATION=NEW_YORK3,LUNAME=NTYM2DB2,PASSWORD=PSWDBD1,
            GENERICLU=name,PORT=446,RESPORT=5001
    /*
    //*
    

リモート・システムの定義

DB2 ユニバーサル・データベース (OS/390 版) アプリケーションがリモート・システムからのデータを要求する場合、通信データベース (CDB) 表が検索されて、リモート・システムについての情報が検出されます。 CDB は SQL 表のグループであり、DB2 ユニバーサル・データベース (OS/390 版) システム管理者が管理します。 DB2 ユニバーサル・データベース (OS/390 版) システム管理者は、SQL を使用して CDB に行の挿入を行うことにより、使用される可能性のある各 DRDA パートナーを記述することができます。 CDB およびその使用方法に関する完全な説明は、 DB2 ユニバーサル・データベース (OS/390 版) SQL 解説書、および DB2 ユニバーサル・データベース (OS/390 版) インストレーションの手引き を参照してください。

CDB を参照し、以下の情報を探索します。

通信データベースにデータを読み込む

インバウンド TCP/IP データベース接続のみを使用する場合は、CDB の更新は必要ありません。それで、DB2 ユニバーサル・データベース (OS/390 版) を TCP/IP サーバーとしてのみ使用する計画であるなら、 CDB にデータを読み込む必要はなく、省略時値を使用できます。しかしながら、インバウンド SNA 接続を使用する場合は、 SYSIBM.LUNAMES に少なくとも 1 つのブランク行を含める必要があります。たとえば、任意の着信 DB2 コネクト LU からの SNA データベース接続要求を受け入れられるようにするには、以下のような SQL コマンドを使用します。

   INSERT INTO SYSIBM.LUNAMES (LUNAME) VALUES ('        ')                        

DB2 ユニバーサル・データベース (OS/390 版) をリクエスターとして使用する場合は、CDB は常に更新する必要があります。 SYSIBM.LOCATIONS 表、および SYSIBM.LUNAMES 表 (SNA 接続の場合) または SYSIBM.IPNAMES 表 (TCP/IP 接続の場合) のどちらかに行を挿入する必要があります。

さらに、 SNA 接続用のインバウンド機密保護要件またはインバウンド・ユーザー ID 変換を制御したい場合は、追加の CDB 更新が必要となります。追加の例は以下の解説を参照してください。機密保護の提供は、アプリケーション・リクエスターを設定するときにユーザー機密保護を定義する方法を示しています。そして、機密保護の提供はアプリケーション・サーバーの設定について説明しています。

DB2 ユニバーサル・データベース (OS/390 版) 管理の手引き では、 CDB 表を更新するための要件がより詳細に説明されています。 CDB にデータを読み込んだ後、リモート・システム上のデータにアクセスする照会を書き込むことができます。 DB2 ユニバーサル・データベース (OS/390 版) インストレーションの手引き にも CDB の更新に関する詳細な情報があります。

通信データベースが要求を処理する方法

要求を送信するとき、DB2 ユニバーサル・データベース (OS/390 版) は SYSIBM.LOCATIONS カタログ表の LINKNAME 列を使用して、どのネットワーク・プロトコルをアウトバウンド・データベース接続に使用すべきかを決定します。 VTAM 要求を受け取るには、 DB2 ユニバーサル・データベース (OS/390 版) インストール・パネル DSNTIPR 中の LUNAME を選択する必要があります。 TCP/IP 要求を受け取るには、DB2 ユニバーサル・データベース (OS/390 版) インストール・パネル DSNTIP5 中の、 DRDA ポートと再同期ポートを選択する必要があります。 TCP/IP はサーバーのポート番号を使用して、ネットワーク要求を正しい DB2 サブシステムに渡します。

SYSIBM.IPNAMES 表の LINKNAME 列に値が存在する場合、 TCP/IP が DRDA 接続のために使用されます。値が SYSIBM.LUNAMES 表にある場合は、SNA が使用されます。 SYSIBM.LUNAMES と SYSIBM.IPNAMES の両方に同一の名前がある場合は、そのロケーションに接続するために TCP/IP が使用されます。
注:リクエスターが SNA および TCP/IP プロトコルの両方を使用して、与えられたロケーションに接続することはできません。たとえば、ユーザーの SYSIBM.LOCATIONS で LINKNAME に LU1 が指定されていて、 LU1 が SYSIBM.IPNAMES および SYSIBM.LUNAMES 表の両方で定義されている場合、このリクエスターから LU1 への接続には TCP/IP が使用される唯一のプロトコルとなります。

通信データベース表

CDB は以下の表で構成されています。

  1. SYSIBM.LOCATIONS

    この表によって DB2 ユニバーサル・データベース (OS/390 版) は、 アウトバウンド要求用 DB2 ユニバーサル・データベース (OS/390 版) アプリケーションが選択した各 RDB_NAME にアクセスするのに必要となる SNA または TCP/IP アドレス情報を判別することができます。列は次のとおりです。

    LOCATION
    リモート・システムの RDB_NAME。 DB2 ユニバーサル・データベース (OS/390 版) では RDB_NAME 値が 16 バイトまでに制限されていて、 DRDA で定義されている 18 バイトという制限より 2 バイト短くなっています。

    LINKNAME
    リモート・システムの LU 名または TCP/IP 属性。

    PORT
    TCP/IP ポート名またはサービス名情報 (DRDA の省略時ポート名は 446)。

    TPN
    リモート・システムの APPC トランザクション・プログラム名 (TPN)。リモート・システムが DB2 ユニバーサル・データベース (OS/390 版) システムである場合、またはリモート・システムが省略時の DRDA TPN 値 (X'07F6C4C2') を使用する場合は、 DB2 ユニバーサル・データベース (OS/390 版) が自動的に正しい値を選択するため、TPN に空ストリングが使用されます。

    リモート・システムが省略時値以外の TPN 値を必要とする場合、ここでその値を指定してください。

  2. SYSIBM.LUNAMES

    この表では、SNA 接続を使用して接続されるリモート・システムのネットワーク属性を定義します。列は次のとおりです。

    LUNAME
    リモート・システムの LU 名。

    SYSMODENAME
    DB2 ユニバーサル・データベース (OS/390 版) の 2 次サーバー・サポート (システム主導アクセス) のための DB2 ユニバーサル・データベース (OS/390 版) - DB2 ユニバーサル・データベース (OS/390 版) システム間 会話を確立するために使用される VTAM ログオン・モード名。この列をブランク値にすると、DB2 ユニバーサル・データベース (OS/390 版) システム会話に IBMDB2LM が使用されることになります。

    SECURITY_IN
    この DB2 ユニバーサル・データベース (OS/390 版) システムがリモート・システムのサーバーとして機能する場合の、リモート・システムのネットワーク機密保護受け入れに関する必須オプション (インバウンド機密保護 要件)。以下の値を取ることができます。
    • V はオプションが「検査」であることを示します。着信接続要求が次のうちの 1 つを含んでいる必要があります。ユーザー ID とパスワード、ユーザー ID と RACF パスチケット、あるいは DCE 機密保護チケット。
    • A はオプションが「検査済み」であることを示します。要求はパスワードを必要としませんが、パスワードを送信する場合は検査されます。このオプションでは、次のうちのどれかを含んでいる場合、着信接続要求が受け入れられます。ユーザー ID、ユーザー ID とパスワード、ユーザー ID と RACF パスチケット、あるいは DCE 機密保護チケット。

      USERNAMES 列に 'I' または 'B' が含まれている場合、ユーザー ID のみを含んでいる着信接続要求を検査するために RACF が呼び出されることはありません。

    SECURITY_OUT
    この DB2 ユニバーサル・データベース (OS/390 版) システムがリモート・システムのリクエスターとして機能する場合の、リモート・システムのネットワーク機密保護受け入れに関する必須オプション (アウトバウンド機密保護 要件)。以下の値を取ることができます。
    • A はオプションが「検査済み」であることを示します。アウトバウンド接続要求は許可 ID を含んでおり、パスワードはありません。アウトバウンド要求のために使用される許可 ID は、USERNAMES 列の値に応じて、 DB2 ユーザーの許可 ID または変換済み ID のどちらかになります。
    • R はオプションが「RACF パスチケット」であることを示します。アウトバウンド接続要求はユーザー ID と RACF パスチケットを含んでいます。サーバーの LU 名 は、RACF パスチケット・アプリケーション名として使用されます。

      アウトバウンド要求のために使用される許可 ID は、USERNAMES 列の値に応じて、 DB2 ユーザーの許可 ID または変換済み ID のどちらかになります。

    • P はオプションが「パスワード」であることを示します。アウトバウンド接続要求は許可 ID およびパスワードを含んでいます。パスワードは ENCRYPTPWDS 列で指定された値に応じて、 SYSIBM.USERNAMES 表または RACF から取得されます。

      USERNAMES 列では 'B' または 'O' を指定する必要があります。

    ENCRYPTPSWDS
    このパートナーとのパスワード交換を暗号化するかどうか。暗号化パスワードは、DB2 ユニバーサル・データベース (OS/390 版) リクエスターおよびサーバーでのみサポートされます。

    MODESELECT
    SYSIBM.MODESELECT 表を使用し、要求を出したエンド・ユーザーとアプリケーションに基づいて VTAM ログオン・モード項目 (モード名) を選択するかどうかを決定します。この列に 'Y' が入っている場合、 SYSIBM.MODESELECT 表を使用して、各アウトバウンド分散データベース要求のモード名を取得します。

    MODESELECT に 'Y' 以外の値が入っている場合、システム主導アクセス要求にモード名 IBMDB2LM が使用され、 DRDA 要求にモード名 IBMRDB が使用されます。

    モード名に関連した VTAM サービス・クラス (COS) を指定することにより、 MODESELECT 列を使って分散データベース要求を優先順位付けすることが可能になります。

    USERNAMES
    必要な come-from 検査とユーザー ID 変換のレベル。この列は、リモート・パートナーからデータを要求するときにこの DB2 ユニバーサル・データベース (OS/390 版) サブシステムが使用する機密保護パラメーターも指定します (アウトバウンド機密保護 要件)。 usernames は、 I、O、または B (インバウンドのみ、アウトバウンドのみ、または両方) の値を取ることができます。

    GENERIC
    DB2 ユニバーサル・データベース (OS/390 版) が LU 名に実際の名前、または一般名のどちらを使用するかを示します。
  3. SYSIBM.LUMODES

    この表は、APPC (SNA) 接続を使用するパートナー・システム用に、 VTAM に LU 6.2 セッション制限 (CNOS 制限) を設けるために使用されます。列は次のとおりです。

    LUNAME
    リモート・システムの LU 名。

    MODENAME
    制限を指定する対象となる VTAM ログオン・モードの名前。 MODENAME 列にブランク値を指定すると、IBMDB2LM に省略時解釈されます。

    CONVLIMIT
    このログオン・モードの場合の、ローカルな DB2 ユニバーサル・データベース (OS/390 版) とリモート・システム間のアクティブな会話の最大数。この値は、このログオン・モードのための VTAM APPL 定義ステートメントの DSESLIM パラメーター (DB2 ユニバーサル・データベース (OS/390 版) の省略時の VTAM セッション限度を指定する) をオーバーライドするために使用されます。

    CONVLIMIT に指定された値は、 CNOS 中に DMINWNR および DMINWNL 値を CONVLIMIT/2 に設定するために使用されます。

  4. SYSIBM.MODESELECT

    この表により、エンド・ユーザーおよび DB2 ユニバーサル・データベース (OS/390 版) アプリケーションごとに異なるモード名を指定できるようになります。これは SNA 接続でのみ使用されます。各 VTAM モード名にはサービス・クラス (COS) を関連付けることができるので、この表を使って、AUTHID、PLANNAME、および LUNAME の組み合わせに基づいて、分散データベース・アプリケーションにネットワーク伝送優先順位を割り当てることができます。列は次のとおりです。

    AUTHID
    DB2 ユニバーサル・データベース (OS/390 版) ユーザーの許可 ID (ユーザー ID)。省略時値はブランクです。これは、指定されたログオン・モード名をすべての許可 ID に当てはめることを意味します。

    PLANNAME
    リモート・データベース・システムへのアクセスを要求しているアプリケーションに関連したプラン名。省略時値はブランクです。これは、指定されたログオン・モード名をすべてのプラン名に当てはめることを意味します。 BIND PACKAGE コマンドで使用されるプラン名は DSNBIND です。

    LUNAME
    リモート・データベース・システムと関連した LU 名。

    MODENAME
    分散データベース要求を指定のリモート・システムに経路指定するときに使用される VTAM ログオン・モードの名前。省略時値はブランクです。これは、システム主導アクセス会話には IBMDB2LM を使用し、 DRDA 会話には IBMRDB を使用することを意味します。
  5. SYSIBM.USERNAMES

    この表は、パスワード、名前変換、および come-from 検査を指定することによって、エンド・ユーザー名を管理するために使用します。 DB2 ユニバーサル・データベース (OS/390 版) はエンド・ユーザー名を許可 ID として参照します。他の製品の大部分は、この名前をユーザー ID として参照します。

    この表で、ユーザーはユーザー名変換を使用して、ユーザー ID 接続および DB2 ユニバーサル・データベース (OS/390 版) 許可 ID として異なった値を使用するように強制することができます。名前変換処理は、リモート・システムへの要求 (アウトバウンド 要求) のため、およびリモート・システムから送られてくる要求 (インバウンド 要求) のために、行うことができます。パスワードが暗号化されていない場合、ユーザー ID とパスワードの両方をリモート・サイトに送るときに、この表はエンド・ユーザーのパスワードの情報源となります。列は次のとおりです。

    TYPE
    行の使用法の説明 (アウトバウンドまたはインバウンド用の名前変換を記述した行か、それとも come-from 検査要求を記述した行か)。

    I はインバウンド接続を示し、 O はアウトバウンド接続を示します。

    TCP/IP 接続には "O" を使用してください。 (インバウンド ID 変換と come-from 検査は TCP/IP 要求に対してはなされません。)

    AUTHID
    アウトバウンド名前変換の場合、これは変換対象の DB2 ユニバーサル・データベース (OS/390 版) 許可 ID。インバウンド名前変換の場合、これは変換対象の SNA ユーザー ID。どちらの場合でも、ブランクの AUTHID 値はすべての許可 ID またはユーザー ID にあてはまります。

    LINKNAME
    この行と関連した VTAM または TCP/IP ネットワーク・ロケーションを識別します。この列がブランク値の場合、この名前変換規則があらゆる TCP/IP または SNA パートナーに適用されることを示します。

    非ブランクの LINKNAME が指定されていれば、次の条件のうちの 1 つまたは両方が真である必要があります。

    • SYSIBM.LUNAMES の中に、 LUNAME が SYSIBM.USERNAMES の LINKNAME 列で指定された値と一致する行が存在する。この行は、この名前変換規則と関連した VTAM サイトを指定します。
    • SYSIBM.IPNAMES の中に、 LINKNAME が SYSIBM.USERNAMES の LINKNAME 列で指定された値と一致する行が存在する。この行は、この名前変換規則と関連した TCP/IP ホストを指定します。

      インバウンド名前変換および come-from 検査は、TCP/IP クライアントに対しては実行されません。

    NEWAUTHID
    新しいエンド・ユーザー名 (SNA ユーザー ID または DB2 ユニバーサル・データベース (OS/390 版) 許可 ID)。ブランクを指定すると、ID の変換が不要であることを示すものとなります。

    PASSWORD
    パスワードが暗号化されない場合 (SYSIBM.LUNAMES で ENCRYPTPSWDS = 'N' の場合)、割り当て会話で使用されるパスワード。パスワードが暗号化される場合、この列は無視されます。
  6. SYSIBM.IPNAMES

    この表は、TCP/IP ノードのために使用されます。

    LINKNAME
    この列で指定された値は、 SYSIBM.LOCATIONS の LINKNAME 列で指定された値と一致していなければなりません。

    SECURITY_OUT
    この列では、DRDA 機密保護オプションを定義します。これはローカル DB2 SQL アプリケーションが、この TCP/IP ホストに関連した任意のリモート・サーバーに接続するときに使用されます。
    • A はオプションが「検査済み」であることを示します。アウトバウンド接続要求は許可 ID を含んでおり、パスワードはありません。アウトバウンド要求のために使用される許可 ID は、USERNAMES 列の値に応じて、 DB2 ユーザーの許可 ID または変換済み ID のどちらかになります。
    • R はオプションが「RACF パスチケット」であることを示します。アウトバウンド接続要求はユーザー ID と RACF パスチケットを含んでいます。 LINKNAME 列で指定された値は、リモート・サーバー用の RACF パスチケット・アプリケーション名として使用されます。

      アウトバウンド要求のために使用される許可 ID は、USERNAMES 列の値に応じて、 DB2 ユーザーの許可 ID または変換済み ID のどちらかになります。

    • P はオプションが「パスワード」であることを示します。アウトバウンド接続要求は許可 ID およびパスワードを含んでいます。パスワードは SYSIBM.USERNAMES 表から取得されます。

      USERNAMES 列では "O" を指定する必要があります。

    USERNAMES
    この列はアウトバウンド許可 ID 変換を制御します。アウトバウンド変換は、許可 ID が DB2 からリモート・サーバーに送信されたときに実行されます。
    • O はアウトバウンド ID が変換対象となっていることを示します。 SYSIBM.USERNAMES 表の行が ID 変換を実行するために使用されます。

      インバウンド ID については、変換または "come-from" 検査は実行されません。

    • ブランクの項目は、変換が生じないことを示します。

    IPADDR
    この列はリモート TCP/IP ホストの IP アドレスまたはドメイン名を含んでいます。 IPADDR 列は以下のように指定する必要があります。
    • IPADDR が小数点で区切られた 4 個の数値を含む左ぞろえの文字列を含んでいる場合、 DB2 はその値を小数点付き 10 進数形式の IP アドレスと解釈します。たとえば、'123.456.78.91' は小数点付き 10 進数 IP アドレスとして解釈されます。
    • それ以外のすべての値は、 TCP/IP gethostbyname ソケット呼び出しで解決することができる、 TCP/IP ドメイン名として解釈されます。 TCP/IP ドメイン名は、大文字小文字の区別を行いません。

通信の定義 (SNA)

VTAM は、OS/390 システム用のコミュニケーション・マネージャーです。 VTAM は DB2 ユニバーサル・データベース (OS/390 版) から LU 6.2 verb を受け入れ、これらの verb をユーザーがネットワーク上で送信可能な LU 6.2 データ・ストリームに変換します。 VTAM が DB2 ユニバーサル・データベース (OS/390 版) CDB で定義されたパートナー・アプリケーションと通信するためには、以下の情報を VTAM に提供しなければなりません。

RU サイズおよび歩調合わせの設定

定義する VTAM モード表によって、RU サイズと歩調合わせカウントが指定されます。これらの値を正しく定義できていないと、すべての VTAM アプリケーションに悪影響を与える可能性があります。

RU サイズ、セッション限度、および歩調合わせカウントを選択した後、これらの値が既存の VTAM ネットワークに与える影響を考慮することは非常に重要です。新しい分散データベース・システムをインストールするときには、以下の項目を復習してください。

通信の定義 (TCP/IP)

この考慮事項については、以前に記述したとおりです (ローカル・システム (TCP/IP) の定義を参照してください)。

機密保護の提供

リモート・システムが SQL アプリケーションに代わって分散データベース処理を実行する場合には、アプリケーション・リクエスター、アプリケーション・サーバー、およびそれらに接続しているネットワークの機密保護要件を満たさなければなりません。これらの要件は、以下のカテゴリーのいくつかに分けられます。

エンド・ユーザー名の選択

OS/390 システムでは、エンド・ユーザーに 1〜8 文字のユーザー ID が割り当てられます。このユーザー ID 値は、特定の OS/390 システムで固有でなければなりませんが、ネットワーク全体で固有でなくてもかまいません。たとえば、NEWYORK システムで JONES というユーザーがいて、 DALLAS システムでまた JONES というユーザーがいてもかまいません。この 2 人のユーザーが同一の人であれば、対立は起きません。しかし、DALLAS の JONES が NEWYORK の JONES とは別人の場合、 SNA ネットワーク (およびそのネットワークの分散データベース・システム) は、 NEWYORK の JONES と DALLAS の JONES とを区別できません。この状況を訂正しない場合には、 DALLAS の JONES は NEWYORK システムの JONES に与えられた特権を使用できます。

名前の対立を解消するため、DB2 ユニバーサル・データベース (OS/390 版) はエンド・ユーザー名前変換のサポートを提供します。 DB2 ユニバーサル・データベース (OS/390 版) アプリケーション・リクエスターでアプリケーションが分散データベース要求を行うとき、通信データベースでアウトバウンド名前変換 が必要であると指定されていれば、 DB2 ユニバーサル・データベース (OS/390 版) は名前変換を実行します。アウトバウンド名前変換が選択されていると、 DB2 ユニバーサル・データベース (OS/390 版) は必ず各アウトバウンド分散データベース要求と一緒にパスワードを強制的に送信します。

DB2 ユニバーサル・データベース (OS/390 版) のアウトバウンド名前変換は、 SYSIBM.LUNAMES または SYSIBM.IPNAMES 表の USERNAMES 列を 'O' または 'B' に設定すると活動化されます。 USERNAMES を 'O' に設定すると、アウトバウンド要求でエンド・ユーザー名前変換が実行されます。 USERNAMES を 'B' に設定すると、インバウンド要求とアウトバウンド要求の両方でエンド・ユーザー名前変換が実行されます。

DB2 ユニバーサル・データベース (OS/390 版) の許可は、エンド・ユーザーのユーザー ID および DB2 ユニバーサル・データベース (OS/390 版) プランまたはパッケージ所有者のユーザー ID に依存しているため、エンド・ユーザー名前変換処理は、エンド・ユーザーのユーザー ID、プラン所有者のユーザー ID、およびパッケージ所有者のユーザー ID に対して実行されます。 3 名前変換処理に際しては、SYSIBM.USERNAMES 表から以下の順序で以下のパターン (TYPE.AUTHID.LINKNAME) に一致する行が探索されます。

  1. O.AUTHID.LINKNAME − 特定のエンド・ユーザーの特定のパートナー・システムへの変換規則。
  2. O.AUTHID.blank − 特定のエンド・ユーザーから任意のパートナー・システムへの変換規則。
  3. O.blank.LINKNAME − 任意のユーザーの特定のパートナー・システムへの変換規則。

一致する行が見つからないと、DB2 ユニバーサル・データベース (OS/390 版) は分散データベース要求を拒否します。行が見つかると、NEWAUTHID 列の値が許可 ID として使用されます (ブランクの NEWAUTHID 値は、元の名前を変換しないで使用することを意味します)。

前述の例を考慮してみましょう。 NEWYORK の JONES が DALLAS に分散データベース要求を出す場合、この JONES に別の名前 (NYJONES) を与えたいものとします。この例において、 JONES が使用するアプリケーションは DSNPLAN (DB2 ユニバーサル・データベース (OS/390 版) プラン所有者) の所有で、 DALLAS に送信を行うときにこのユーザー ID の変換は不要であるものとします。 CDB に名前変換規則を指定するのに必要な SQL ステートメントを図 19 に示します。

図 19. アウトバウンド名前変換用 SQL (SNA)

INSERT INTO SYSIBM.LUNAMES
     (LUNAME, SYSMODENAME, SECURITY_OUT, ENCRYPTPSWDS, MODESELECT, USERNAMES)
  VALUES ('LUDALLAS', ' ', 'A', 'N', 'N', 'O');
INSERT INTO SYSIBM.LOCATIONS
     (LOCATION, LINKNAME, LINKATTR)
  VALUES ('DALLAS', 'LUDALLAS', '');
INSERT INTO SYSIBM.USERNAMES
     (TYPE, AUTHID, LINKNAME, NEWAUTHID, PASSWORD)
  VALUES ('O', 'JONES', 'LUDALLAS', 'NYJONES', 'JONESPWD');
INSERT INTO SYSIBM.USERNAMES
     (TYPE, AUTHID, LINKNAME, NEWAUTHID, PASSWORD)
  VALUES ('O', 'DSNPLAN', 'LUDALLAS', ' ', 'PLANPWD');

結果として得られる CDB 表を図 20 に示します。

図 20. アウトバウンド名前変換


REQTEXT

図 21 に、 SNA 接続を使用して DB2 ユニバーサル・データベース DRDA AS に接続するためのより簡単な例を示します。

図 21. アウトバウンド名前変換用 SQL (SNA 用の簡単な例)

  INSERT INTO SYSIBM.LUNAMES (LUNAME,
                              SECURITY_OUT,                              
                              ENCRYPTPSWDS,                              
                              USERNAMES)                                 
                         VALUES ('NYX1GW01','P','N','O');
  INSERT INTO SYSIBM.LOCATIONS (LOCATION,LINKNAME,TPN)
                             VALUES('TASG6',                             
                                    'NYX1GW01','NYSERVER');
  INSERT INTO SYSIBM.USERNAMES (TYPE,AUTHID,LINKNAME,NEWAUTHID,PASSWORD) 
         VALUES ('O','      ','NYX1GW01','SVTDBM6','SG6JOHN');

図 22 に TCP/IP 接続を使用して DB2 ユニバーサル・データベース DRDA AS に接続するための簡単な例を示します。

図 22. アウトバウンド名前変換用 SQL (TCP/IP 用の簡単な例)

-- DB2 for Solaris1 - UNIX                                                      
   DELETE FROM SYSIBM.IPNAMES WHERE LINKNAME = 'SOLARIS1' ;                     
   INSERT INTO SYSIBM.IPNAMES ( LINKNAME                                        
                              , SECURITY_OUT                                    
                              , USERNAMES                                       
                              , IBMREQD                                         
                              , IPADDR)                                         
                       VALUES ( 'SOLARIS1'                                      
                              , 'P'                                             
                              , 'O'                                             
                              , 'N'                                             
                              , '9.21.45.4')                                    
                              ;                                                 
   INSERT INTO SYSIBM.LOCATIONS ( LOCATION                                      
                                , LINKNAME                                      
                                , IBMREQD                                       
                                , PORT                                          
                                , TPN)                                          
                         VALUES ( 'TCPDB1'                                      
                                , 'SOLARIS1'                                    
                                , 'N'                                           
                                , '30088'                                       
                                , '')                                           
                                ;                                               
   INSERT INTO SYSIBM.USERNAMES ( TYPE                                          
                                , AUTHID                                        
                                , LINKNAME                                      
                                , NEWAUTHID                                     
                                , PASSWORD                                      
                                , IBMREQD)                                      
                         VALUES ( 'O'                                           
                                , ''                                            
                                , 'SOLARIS1'                                    
                                , 'svtdbm5'                                     
                                , 'svt5dbm'                                     
                                , 'N')                                          
                                ;                                               

ネットワーク機密保護

アプリケーション・リクエスターがリモート・アプリケーションを示すエンド・ユーザー名を選択した後は、そのアプリケーション・リクエスターは必要なネットワーク機密保護情報を提供しなければなりません。

SNA 接続では、LU 6.2 は主に 3 つのネットワーク機密保護機能を提供します。

アプリケーション・サーバーの責任でデータベース資源を管理するため、アプリケーション・サーバーは、どのネットワーク機密保護にアプリケーション・リクエスターが必要かを指示します。各アプリケーション・サーバーの会話レベル機密保護要件を SYSIBM.LUNAMES 表または SYSIBM.IPNAMES 表に記録する必要があります。そのためには USERNAMES 列を、アプリケーション・サーバーの要件を反映するように設定します。

SNA 会話機密保護オプションは以下のとおりです。

SECURITY=SAME
これは検査済みの機密保護とも言います。それは、エンド・ユーザーのユーザー ID だけがリモート・システムに送信されるためです (パスワードは送信されません)。このレベルの会話機密保護は、 SYSIBM.LUNAMES の USERNAMES 列に 'O' または 'B' が入っていない場合に使用してください。

DB2 ユニバーサル・データベース (OS/390 版) ではエンド・ユーザー名前変換がアウトバウンド会話機密保護に関連付けられているので、アウトバウンド・エンド・ユーザー名変換が活動化されている場合に SECURITY=SAME を使用することはできません。

SECURITY=PGM
このオプションを使用すると、エンド・ユーザー ID とパスワードが妥当性検査のためにリモート・システムに送信されます。この機密保護オプションは、 SYSIBM.LUNAMES 表の USERNAMES 列に 'O' か 'B' のいずれかが入っている場合に使用してください。

SYSIBM.LUNAMES 表に指定されているオプションに応じて、 DB2 ユニバーサル・データベース (OS/390 版) は 2 つの異なる情報源からユーザーのパスワードを取得します。

SECURITY=NONE
DRDA はこのオプションをサポートしていないため、 DB2 ユニバーサル・データベース (OS/390 版) ではこの機密保護オプションを使用できません。

データベース・マネージャー機密保護

アプリケーション・リクエスターが分散データベースの機密保護に貢献できる 1 つの方法は、前に エンド・ユーザー名の選択で説明されたように、アウトバウンド・ユーザー名前変換です。アウトバウンド・ユーザー名前変換を使用すると、要求を出しているユーザーおよびアプリケーションの ID に従って、各アプリケーション・サーバーへのアクセスを制御できます。その他に、DB2 ユニバーサル・データベース (OS/390 版) アプリケーション・リクエスターが分散システムの機密保護に貢献できる方法には以下のものがあります。

リモート・アプリケーションのバインド
エンド・ユーザーはアプリケーション・サーバーのリモート・アプリケーションを、 DB2 ユニバーサル・データベース (OS/390 版) BIND PACKAGE コマンドを使ってバインドします。 DB2 ユニバーサル・データベース (OS/390 版) は、リクエスターでの BIND PACKAGE コマンドの使用を制限しません。ただし、エンド・ユーザーは、リモート・パッケージが DB2 ユニバーサル・データベース (OS/390 版) プランに組み込まれるまで、このパッケージを使用できません。 DB2 ユニバーサル・データベース (OS/390 版) は、BIND PLAN コマンドの使用を制限します。エンド・ユーザーは、 DB2 ユニバーサル・データベース (OS/390 版) GRANT ステートメントで BIND または BINDADD 特権を与えられないかぎり、リモート・パッケージをプランに追加することができません。

パッケージをバインドするときは、 ENABLE/DISABLE オプションを使用して、パッケージを TSO、CICS/ESA、IMS/ESA、またはリモート DB2 ユニバーサル・データベース (OS/390 版) サブシステムから使用できるかどうかを指定してください。

リモート・アプリケーションの実行
DB2 ユニバーサル・データベース (OS/390 版) エンド・ユーザーがリモート・アプリケーションを実行するには、そのアプリケーションに関連した DB2 ユニバーサル・データベース (OS/390 版) プランを実行する権限がエンド・ユーザーになければなりません。 DB2 ユニバーサル・データベース (OS/390 版) プランの所有者には、自動的にそのプランの実行権限が与えられます。他のエンド・ユーザーは、DB2 ユニバーサル・データベース (OS/390 版) GRANT EXECUTE ステートメントで、プランの実行権限を与えてもらうことができます。このようにして、分散データベース・アプリケーションの所有者は個々のユーザー・ベースでアプリケーションの使用を制御できます。

機密保護サブシステム

OS/390 システムの外部機密保護サブシステムは、通常、 RACF または RACF と互換性のあるインターフェースを備えた他の製品により提供されます。 DB2 ユニバーサル・データベース (OS/390 版) アプリケーション・リクエスターには、外部の機密保護サブシステムを直接呼び出すことはありません。ただし、ネットワーク機密保護で説明された暗号化パスワード・サポートは例外です。しかし、以下の状況ではアプリケーション・リクエスターで外部機密保護サブシステムが間接的に使用されます。

データの表示

DB2 ユニバーサル・データベース (OS/390 版) は、省略時のインストール・システム・コード化文字セット ID (CCSID) が 500 の状態で出荷されています。この省略時値はおそらく、ご使用のインストール・システムでは正しくない でしょう。

DB2 ユニバーサル・データベース (OS/390 版) をインストールするときには、インストール・システムの CCSID を、ご使用のサイトの入力装置が生成して DB2 ユニバーサル・データベース (OS/390 版) に送る文字の CCSID に設定する必要があります。通常、この CCSID はご使用になる言語によって決定されます。インストール・システムの CCSID が間違っていると、文字変換の結果が誤ったものになります。国別または言語別のサポートされる CCSID のリストについては、 DB2 コネクト 使用者の手引き を参照してください。

ご使用の DB2 ユニバーサル・データベース (OS/390 版) サブシステムが、各アプリケーション・サーバーの CCSID を DB2 ユニバーサル・データベース (OS/390 版) サブシステムのインストール・システムの CCSID に変換できるかどうか確認する必要があります。変換元 CCSID と変換先の CCSID の一般的な組み合わせについては、 DB2 ユニバーサル・データベース (OS/390 版) に変換テーブルが用意されていますが、可能なすべての組み合わせに対応しているわけではありません。必要であれば、使用可能な変換テーブルと変換ルーチンのセットを追加できます。 DB2 ユニバーサル・データベース (OS/390 版) 文字変換の詳細については、 DB2 ユニバーサル・データベース (OS/390 版) 管理の手引き を参照してください。


脚注:

3
要求が DB2 ユニバーサル・データベース (OS/390 版) サーバーに送信される場合は、名前変換がパッケージ所有者とプラン所有者に対しても実行されます。パッケージ所有者とプラン所有者の名前がパスワードに関連付けられることはありません。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]