z/OS での DB2 の計画

これは、z/OS 環境のカスタマイズという、大きなタスクの一部で、ブローカー・コンポーネントのみに関係があります。構成マネージャーおよび ユーザー・ネーム・サーバーは、DB2 へのアクセスは必要ありません。

WebSphere Message Broker for z/OS は、ODBC を使用して DB2 表にアクセスします。 ODBC を使用して DB2 に接続するために、DB2 サブシステムのロケーション名が使用されます。 詳細については、「DB2 UDB for OS/390® and z/OS V7 Data Sharing: Planning and Administration」のマニュアルを参照してください。

特定のユーザー ID に DB2 リソースへのアクセスを与える必要があります。これらを以下に要約します。
  • DB2 システム管理者
    1. データベース、ストレージ・グループ、および表スペースの作成 (BIPCRDB)。
    2. データベースの除去 (BIPDLDB)
  • ブローカー・データベースの管理者 (DBA)。これは WebSphere Message Broker 管理者でなければなりません。
    1. 表および索引の作成 (BIPCRBK)
    2. 表作成、表の除去、および索引の作成 (BIPMGCMP)
  • ブローカーの開始済みタスクのユーザー ID:
    1. ブローカー・データベース表から行を選択、挿入、および削除し、ならびに DB2 システム表から選択する SQL。
  • WebSphere Message Broker 管理者およびその他ユーザー
    1. ブローカー・データベース表から行を選択、挿入、および削除し、ならびに DB2 システム表から選択する SQL。

DB2 システムを始動すると、DSNL004I DDF START COMPLETE というメッセージが表示されるはずです。 このメッセージの直後に、ロケーション名が表示されます。 z/OS 上でブローカー・コンポーネントをカスタマイズする際、BIPDSNAO と呼ばれる dsnaoini ファイルをブローカー PDSE に作成します。これには、ODBC 接続を確立するのに必要な情報が含まれています。 詳細については、「DB2 UDB for OS/390 and z/OS V7 ODBC Guide and Reference」を参照してください。

サブシステム ID またはデータ共用 ID と同じデータ・ソース名を使用することは避けてください。 同じ名前を使用した場合、データベースとの接続に対するディレクティブの細分性に影響を及ぼす場合があります。

データ・ソース名とサブシステム ID で同じ値を使用する場合、Datasource と Subsystem のキーワードが 1 つのセクションに入るように、ブローカー PDSE で BIPDSNAO を編集する必要があります。

このファイルのカスタマイズに関する詳細については、「DB2 UDB for OS/390 and z/OS V7 ODBC Guide and Reference」を参照してください。

カスタマイズの際に、使用する計画名を指定するか、またはデフォルトの DSNACLI を使用できます。 ブローカーにそれ自身のグループ以外の DB2 データ共用グループにアクセスさせる場合、特別な方法で DSNACLI 計画をバインドしなければなりません。 SPUFI を使用し、以下のコマンドを発行して、ワイルドカード・ロケーションが指定されているか検査します。
select * from SYSIBM.SYSPACKLIST where planname ='DSNACLI';
ロケーション列がブランクで、'*' ではない場合は、再バインドする必要があります。

DSNACLISYSIBM.SYSPLAN 表に含まれているか検査する必要もあります。

DB2CACHE DYNAMIC SQL 機能を使用すれば、DB2 ステートメントを再度処理する必要がなくなるため、パフォーマンスが大幅に向上します。 「DB2 UDB for OS/390 and z/OS V7 Installation Guide」の CACHEDYN=YES を参照してください。

ユーザー・データベースが、 DSNHDECP モジュールを使用して、小数点としてコンマを使用するように構成されている場合、制約事項があります。 DB2 と、ブローカーを実行する際のユーザー ID のロケール設定 (特に LC_NUMERIC) が一致しない場合、ユーザー・データベースの更新が予測不能になる場合があります。 LC_NUMERIC は、BIPBPROF メンバー内の LC_ALL 設定により、したがって環境ファイルにより設定されます。 以下のリストでは、4 つの可能性を詳述しています。
  • ピリオドを小数点として使用するように DB2 が構成されており、LC_NUMERIC がピリオド小数点を示す値に設定されている場合、ユーザー・データベースの更新は正しく処理されるはずです。
  • コンマを小数点として使用するように DB2 が構成されており、LC_NUMERIC がコンマ小数点を示す値に設定されている場合、ユーザー・データベースの更新は正しく処理されるはずです。
  • ピリオドを小数点として使用するように DB2 が構成されており、LC_NUMERIC がコンマ小数点を示す値に設定されている場合、ユーザー・データベースの更新は予測不能な動作をする可能性があります。
  • コンマを小数点として使用するように DB2 が構成されており、LC_NUMERIC がピリオド小数点を示す値に設定されている場合、ユーザー・データベースの更新は予測不能な動作をする可能性があります。

DB2 セキュリティー・メカニズムが使用できます。z/OS 1.5 および DB2 バージョン 8 の場合、RACF などの外部セキュリティー・マネージャーを使用できます。

DB2 セキュリティー・メカニズム

ブローカーの DB2 リソースへのアクセスを管理する最も実用的な方法は、2 つの RACF グループを定義して、ユーザーをこれらのグループに接続することです。例えば以下のように、RACF グループ MQP1ADM および MQP1USR をブローカー MQP1BRK に対して定義します。
  • グループ MQP1ADM の場合
    1. このグループに、ブローカー・データベースに対する DBADM 権限を認可します。
    2. ユーザー ID は通常 WebSphere Message Broker 管理者に所有されていますが、ブローカーを作成する BIPCRBK またはブローカーをマイグレーションする BIPMGCMP を実行依頼する必要があるこのグループに、ユーザー ID を追加する必要があります。
  • グループ MQP1USR の場合
    1. ブローカー表の行を操作するアクセスをこのグループに与え、DB2 システム表への選択アクセスを許可します。 例えば、以下のようになります。
      GRANT DELETE, INSERT, SELECT, UPDATE
           ON TABLE
                    DB2_TABLE_OWNER.BSUBSCRIPTIONS
                   ,DB2_TABLE_OWNER.BPUBLISHERS
                   ,DB2_TABLE_OWNER.BCLIENTUSER
                   ,DB2_TABLE_OWNER.BTOPOLOGY
                   ,DB2_TABLE_OWNER.BNBRCONNECTIONS
                   ,DB2_TABLE_OWNER.BRETAINEDPUBS
                   ,DB2_TABLE_OWNER.BACLENTRIES
                   ,DB2_TABLE_OWNER.BMQPSTOPOLOGY
                   ,DB2_TABLE_OWNER.BUSERNAME
                   ,DB2_TABLE_OWNER.BGROUPNAME
                   ,DB2_TABLE_OWNER.BUSERMEMBERSHIP
                   ,DB2_TABLE_OWNER.BROKERAA
                   ,DB2_TABLE_OWNER.BROKERAAEG
                   ,DB2_TABLE_OWNER.BROKERRESOURCES
                   ,DB2_TABLE_OWNER.BRMINFO
                   ,DB2_TABLE_OWNER.BRMRTDINFO
                   ,DB2_TABLE_OWNER.BRMRTDDEPINFO
                   ,DB2_TABLE_OWNER.BRMWFDINFO
                   ,DB2_TABLE_OWNER.BRMPHYSICALRES
                   ,DB2_TABLE_OWNER.BAGGREGATE
                   ,DB2_TABLE_OWNER.BMULTICASTTOPICS
           TO MQP1USR;
      
      GRANT SELECT
           ON TABLE
                    SYSIBM.SYSTABLES
                   ,SYSIBM.SYSSYNONYMS
                   ,SYSIBM.SYSDATABASE
           TO MQP1USR;
    2. ブローカーの開始済みタスクのユーザー ID および WebSphere Message Broker 管理者をこのグループに接続します。また、BIPRELG を実行依頼して mqsireadlog コマンドを実行するユーザーなど、表へのアクセスが必要なその他すべてのユーザーを接続します。
以下に注意してください。
  • DB2 リソースにアクセスするとき、CURRENT SQLID を、DB2 コマンドとして指定するか、または BIPDSNAO メンバーを使用して指定します。

    この ID がグループの場合、DB2 は、ご使用のユーザー ID がこのグループに接続されているか検査し、そうである場合、グループからアクセスを継承します。ユーザー ID がグループ内にない場合、SQL コード -551 を受け取ります。

    ご使用の ID が複数のグループ内にある場合、最も高い権限が使用されます。

  • BIPCRDB および BIPDLDB の場合、CURRENT SQLID は JCL (ジョブ制御言語) 内のコマンドとして指定されます。その他すべての JCL の場合、これは BIPDSNAO 内に指定されます。
  • 許可を定義する際にグループを使用せず、特定のユーザー ID を使用して個別のユーザー ID への許可を定義する場合、認可するユーザー ID が DB2 から除去されると、それが与えていたすべての許可も除去されます。これにより、他のユーザーが作業することを回避できます。
  • BIPDLDB ジョブがブローカー DB2 データベースを除去すると、 現在持っているそのデータベースへのイメージ・コピー参照もすべて削除されます。 将来ブローカーを復元する場合は、イメージ・コピー参照も復元する必要があります。

この ID がグループの場合、DB2 は、ご使用のユーザー ID がこのグループに接続されているか検査し、そうである場合、グループからアクセスを継承します。ユーザー ID がグループ内にない場合、SQL コード -551 を受け取ります。ご使用の ID が複数のグループ内にある場合、最も高い権限が使用されます。

許可を定義する際にグループを使用せず、特定のユーザー ID を使用して個別のユーザー ID への許可を定義する場合、認可するユーザー ID が DB2 から除去されると、それが与えていたすべての許可も除去されます。これにより、他のユーザーが作業することを回避できます。

提供された WebSphere Message Broker for z/OS のジョブについて詳しくは、z/OS ユーティリティー・ジョブを参照してください。

関連タスク
z/OS 環境のカスタマイズ
関連資料
必須アクセスの要約 (z/OS)
z/OS でのカスタマイズ・タスクおよび役割
z/OS 上でデータ共用グループを使用するための DB2 計画のバインディング
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
ae22130_