13 DRDAサーバーの構成
この項では、DRDAサーバーを構成するために実行する必要のあるタスクについて説明します。サポートされるオペレーティング・システムごとに、個別に説明します。所定のオペレーティング・システムおよびデータベースの使用経験が必要です。
リモートDRDAサーバーを構成する手順は、次のDRDAサーバーに適用されます。
-
DB2 UDB for z/OS
-
DB2 UDB for iSeries
-
DB2 UDB for Linux、Unix、Windows
DRDAデータベースを構成してゲートウェイによるアクセスを可能にするには、DRDAデータベースに対する操作と、ホスト・オペレーティング・システムの特定のコンポーネントに対する操作が必要です。ホスト・システムにOracleソフトウェアがインストールされない場合でも、ホスト・システムおよびDRDAデータベースに対するアクセスと、それらに関する知識が構成時に必要になります。ホスト・システムおよびDRDAデータベースの詳細は、ベンダーのドキュメントを参照してください。
この章の内容は次のとおりです。
13.1 DB2 UDB for z/OS用のDRDAサーバーの構成
次のタスクを実行して、z/OSシステム上のDB2でDRDAサーバーを構成します。
-
パッケージを所有するユーザーIDを定義します。
特定のDRDAサーバーに対してゲートウェイを初めて使用するときに、Oracleが提供するパッケージがDRDAサーバーに自動的にバインドされます。使用されるユーザーIDとパスワード(現在のOracleユーザーとして暗黙的に示されるユーザー、または
CREATE DATABASE LINK
コマンドで明示的に定義されたユーザー)に、DRDAサーバーでパッケージを作成するための適切な権限を付与する必要があります。このユーザーに最低限必要な権限は次のとおりです。-
BIND
、COPY
およびEXECUTE
のパッケージ権限。たとえば、次のようにします。GRANT BIND ON PACKAGE oraclegtw.* TO userid GRANT COPY ON PACKAGE oraclegtw.* TO userid GRANT EXECUTE ON PACKAGE oraclegtw.* TO PUBLIC
-
CREATE
IN
のコレクション権限。たとえば、次のようにします。GRANT CREATE IN COLLECTION oraclegtw TO userid
-
BINDADD
およびBINDAGENT
のシステム権限。たとえば、次のようにします。GRANT BINDADD TO userid GRANT BINDAGENT TO userid
-
CREATETAB
のデータベース権限。たとえば、次のようにします。GRANT CREATETAB ON DATABASE database TO userid
オプションで、DRDAゲートウェイ・パッケージを手動でバインドすることもできます。DB2 UDB for z/OSに対してパッケージを手動でバインドする方法は、DRDAゲートウェイ・パッケージの手動バインドを参照してください。
パッケージを所有するユーザーIDを選択し、このユーザーIDがDB2とOS/390 (MVS)の両方に定義されていることを確認します。
このユーザーIDには、表
SYSIBM.SYSPACKSTMT
に対するSELECT
権限を付与する必要があります。 -
-
リカバリ・ユーザーIDを定義します。
ゲートウェイの構成時に、
HS_FDS_RECOVERY_ACCOUNT
およびHS_FDS_RECOVERY_PWD
パラメータを使用して、ゲートウェイ初期化ファイルにリカバリ・ユーザーIDおよびパスワードが指定されます。分散トランザクションが失敗した場合、リカバリ・プロセスは、これらのパラメータに定義されているユーザーIDおよびパスワードを使用してリモート・データベースに接続します。このユーザーIDは、パッケージに対する実行権限を持つとともに、DRDAデータベースに定義されている必要があります。HS_FDS_RECOVERY_ACCOUNT
にユーザーIDが指定されていない場合、分散トランザクションがインダウト状態になると、ゲートウェイはRECOVER
のユーザーIDへの接続を試みます。リカバリに使用するユーザーIDとパスワードを決定します。
HS_TRANSACTION_LOG
表は、リカバリ・ユーザーと同じスキーマに作成される必要があります。このリカバリ・ユーザーIDには、表
SYSIBM.SYSPACKSTMT
に対するSELECT
権限を付与する必要があります。 -
DB2インスタンス用のDRDAのロケーション名を確認します。
ゲートウェイ・パラメータとして、DRDAのロケーション名が必要です。ロケーション名を確認するには、DB2 SPUFIセッションで次のSQL問合せを実行します。
SELECT CURRENT SERVER FROM any_table
ここで、
any_table
は、1つ以上の行が含まれる有効な表です。この問合せで戻された値が空白またはNULLの場合、DRDAのロケーション名は確定していません。システム管理者に連絡して、インスタンスのロケーション名を設定してください。
-
ゲートウェイ用のDB2分散データ機能を構成します。
DB2の分散データ機能(DDF)は、DRDAとDRDA以外のすべての分散データベース操作を管理するDB2のコンポーネントです。
現在のサイトでDB2の分散操作を使用している場合、通常は、ゲートウェイを通じてアクセスする予定のDB2インスタンス上でDDFが稼働しています。DDFが稼働していない場合、適切なDB2のドキュメントに従ってDDFを構成および起動する必要があります。
DB2インスタンス上でDDFが稼働していない場合でも、状況によってはDDFの通信データベース(CDB)表を変更し、ゲートウェイからのDRDAセッションの認可処理を指定する必要があります。この作業は、DB2 SPUFIユーティリティなどのユーティリティを使用して、適切に権限付与されたユーザーにより実行できます。CDB表を変更する場合、変更を反映するにはDDFを停止してから再起動する必要があります。追加のCDB表およびセキュリティの情報は、セキュリティ上の考慮事項を参照してください。
-
オプション・ステップ: z/OS上のDB2にOracle Date Exitをインストールします
Oracleが提供するDB2 Date Exitにより、ユーザーはOracle固有の構文を使用して日付文字列を指定できます。Exitをインストールする際には、アセンブラ・ソースとJCLのアップロード、JCLのカスタマイズ、およびData Exitのアセンブルとインストールを行うためのジョブの実行が必要になります。Oracle Date Exitをインストールする手順は、次のとおりです。
-
パラメータ
DSORG=PO
、RECFM=FB
、LRECL=80
およびBLKSIZE=6160
を使用して、パーティション化したデータセットを割り当てます。たとえば、次のようにします。userid.SRCLIB
-
$ORACLE_HOME/dg4db2/admin
にある次のファイルを所定のPDSメンバーとして割当て済PDSにASCIIモードでFTP転送します。dg4db2_zos_dta.asm -> DSNXVDTA dg4db2_zos_dta.jcl -> ORAXVDTA dg4db2_zos_dtx.asm -> DSNXVDTX dg4db2_zos_dtx.jcl -> ORAXVDTX
-
ORA* JCL
を編集し、指示に従ってJCLを更新します。更新が完了したら、JCLを送信してExitをアセンブル、リンクおよびインストールします。
-
13.4 DRDAゲートウェイ・パッケージの手動バインド
ゲートウェイではいくつかのDB2パッケージが使用され、これらは、通常、DB2インスタンスへのゲートウェイの初回接続時にアップロードおよびバインドされます。ユーザーの環境によっては、接続に使用されるユーザーIDに、バインドを実行するために必要な権限がなかったり、ゲートウェイにバインドを許可するのではなく、パッケージを手動でバインドする方が望ましい場合もあります。
そのような場合のために、手動バインド用の事前定義された一連のパッケージが用意されています。ただし、これらのパッケージにはいくつかの制限があり、特定のゲートウェイ初期化パラメータに値を設定することでこれに対応する必要があります。そうしないと、ゲートウェイによりパッケージのリバインドが自動的に試行されます。
この項の内容は次のとおりです。
13.4.1 DB2 UDB for z/OS用のパッケージの手動バインド
DB2 UDB for z/OS用のパッケージを手動でバインドする手順は、次のとおりです。
ゲートウェイでこれらのパッケージを使用するには、ゲートウェイ初期化ファイルで次の初期化パラメータを設定してください。
-
HS_OPEN_CURSORS=200
-
HS_FDS_PACKAGE_COLLID=NULLID