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を定義します。
ゲートウェイの構成時に、リカバリ・ユーザーIDとパスワードがゲートウェイ初期化ファイルで
HS_FDS_RECOVERY_ACCOUNT
パラメータとHS_FDS_RECOVERY_PWD
パラメータを使用して指定されます。分散トランザクションが失敗した場合は、これらのパラメータで定義されたユーザーIDとパスワードを使用して、リカバリ・プロセスがリモート・データベースに接続します。このユーザーIDには、パッケージに対する実行権限が付与されている必要があり、DRDAデータベースで定義されている必要があります。ユーザーIDがHS_FDS_RECOVERY_ACCOUNT
で指定されていないときに、分散トランザクションがインダウトになると、ゲートウェイは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のカスタマイズ、Date 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