ヘッダーをスキップ
Oracle Database Gatewayインストレーションおよび構成ガイド
11gリリース1(11.1) for Microsoft Windows
E05709-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

13 DRDAサーバーの構成

この章では、DRDAサーバーを構成するために実行する必要のあるタスクについて説明します。サポートされるオペレーティング・システムごとに、個別に説明します。所定のオペレーティング・システムおよびデータベースの使用経験が必要です。

リモートDRDAサーバーを構成する手順は、次のDRDAサーバーに適用されます。

DRDAデータベースを構成してゲートウェイによるアクセスを可能にするには、DRDAデータベースに対する操作と、ホスト・オペレーティング・システムの特定のコンポーネントに対する操作が必要です。ホスト・システムにOracleソフトウェアがインストールされない場合でも、ホスト・システムおよびDRDAデータベースに対するアクセスと、それらに関する知識が構成時に必要になります。ホスト・システムおよびDRDAデータベースの詳細は、ベンダーのドキュメントを参照してください。

この章の内容は次のとおりです。

DB2/OS390用のDRDAサーバーの構成

次のタスクを実行して、OS390システム上でDB2が稼働するDRDAサーバーを構成します。

  1. パッケージを所有するユーザーIDを定義します。

    ゲートウェイの構成時に、バインド・パッケージ・ストアド・プロシージャを実行して、DRDAサーバーでゲートウェイ・パッケージをバインドする必要があります。パッケージを適切にバインドするには、プロシージャの実行時に使用されるユーザーIDとパスワード(現在のOracleユーザーとして暗黙的に示されるユーザー、またはCREATE DATABASE LINKコマンドで明示的に定義されたユーザー)に、DRDAサーバーでパッケージを作成するための適切な権限を付与する必要があります。この同じユーザーIDを使用して、ORACLE2PC(2フェーズ・コミット)表を作成および所有する必要があります。DRDAパッケージのバインドまたはリバインドに使用するユーザーIDには、DRDAサーバーに対する次の権限を1つ以上付与する必要があります。

    • BINDCOPYおよびEXECUTEのパッケージ権限。たとえば、次のようにします。

      GRANT BIND    ON PACKAGE drda1.* TO userid
      GRANT COPY    ON PACKAGE drda1.* TO userid
      GRANT EXECUTE ON PACKAGE drda1.* TO PUBLIC
      
    • CREATE INのコレクション権限。たとえば、次のようにします。

      GRANT CREATE IN ON PACKAGE drda1 TO USER userid
      
    • BINDADDおよびBINDAGENTのシステム権限。たとえば、次のようにします。

      GRANT BINDADD   TO USER userid
      GRANT BINDAGENT TO USER userid
      
    • CREATETABのデータベース権限。たとえば、次のようにします。

      GRANT CREATETAB ON DATABASE database TO USER userid
      

    パッケージおよびORACLE2PC表を所有するユーザーIDを選択します。このユーザーIDがDB2とOS/390(MVS)の両方に対して定義されていることを確認してください。

  2. リカバリ・ユーザーIDを定義します。

    ゲートウェイの構成時に、DRDA_RECOVERY_USERIDおよびDRDA_RECOVERY_PASSWORDパラメータを使用して、リカバリ・ユーザーIDとパスワードをゲートウェイ初期化ファイルに指定します。分散トランザクションが失敗した場合、リカバリ・プロセスは、これらのパラメータで定義されたユーザーIDとパスワードを使用してリモート・データベースに接続します。このユーザーIDは、パッケージに対する実行権限を持っている必要があります。また、DRDAデータベースで定義されている必要があります。ユーザーIDがDRDA_RECOVER_USERIDに指定されていない場合、分散トランザクションがインダウト状態になると、ゲートウェイはORARECOVのユーザーIDに接続を試みます。

    リカバリに使用するユーザーIDとパスワードを決定します。

  3. DB2インスタンス用のDRDAのロケーション名を確認します。

    ゲートウェイ・パラメータとして、DRDAのロケーション名が必要です。ロケーション名を確認するには、DB2 SPUFIセッションで次のSQL問合せを実行します。

    SELECT CURRENT SERVER FROM any_table
    

    ここで、any_tableは、1つ以上の行が含まれる有効な表です。

    この問合せで戻された値が空白またはNULLの場合、DRDAのロケーション名は確定していません。システム管理者に連絡して、インスタンスのロケーション名を設定してください。

  4. ゲートウェイ用のDB2分散データ機能を構成します。

    DB2 DDFは、DRDAとDRDA以外のすべての分散データベース操作を管理するDB2のコンポーネントです。

    現在のサイトでDB2の分散操作を使用している場合、通常は、ゲートウェイを通じてアクセスする予定のDB2インスタンス上でDDFが稼働しています。DDFが稼働していない場合、適切なDB2のドキュメントに従ってDDFを構成および起動する必要があります。

    DB2インスタンス上でDDFが稼働していない場合でも、状況によってはDDFの通信データベース(CDB)表を変更し、ゲートウェイからのDRDAセッションの認可処理を指定する必要があります。この作業は、DB2 SPUFIユーティリティなどのユーティリティを使用して、適切に権限付与されたユーザーにより実行できます。CDB表を変更する場合、変更を反映するにはDDFを停止してから再起動する必要があります。追加のCDB表およびセキュリティの情報は、第15章「セキュリティ上の考慮事項」を参照してください。

DB2/400用のDRDAサーバーの構成

次の手順を実行するには、DB2/400およびAS/400の使用経験が必要です。

  1. パッケージを所有するユーザーIDを定義します。

    ゲートウェイの構成時に、バインド・パッケージ・ストアド・プロシージャを実行して、DRDAサーバーでゲートウェイ・パッケージをバインドする必要があります。パッケージを適切にバインドするには、プロシージャの実行時に使用されるユーザーIDとパスワード(現在のOracleユーザーとして暗黙的に示されるユーザー、またはCREATE DATABASE LINKコマンドで明示的に定義されたユーザー)に、DRDAサーバーでパッケージを作成するための適切な権限を付与する必要があります。この同じユーザーIDを使用して、ORACLE2PC2フェーズ・コミット)表を作成および所有する必要があります。DRDAパッケージのバインドまたはリバインドに使用するユーザーIDには、DRDAサーバーに対する次の権限を付与する必要があります。

    • CRTSQLPKGコマンドに対する使用権限

    • パッケージが作成されるライブラリに対する変更権限

    パッケージおよびORACLE2PC表を所有するユーザーIDを選択します。このユーザーIDがDB2/400とAS/400に対して定義されていることを確認してください。

  2. リカバリ・ユーザーIDを定義します。

    ゲートウェイの構成時に、DRDA_RECOVERY_USERIDおよびDRDA_RECOVERY_PASSWORDパラメータを使用して、リカバリ・ユーザーIDとパスワードをゲートウェイ初期化ファイルに指定します。分散トランザクションが失敗した場合、リカバリ・プロセスは、これらのパラメータで定義されたユーザーIDとパスワードを使用してリモート・データベースに接続します。このユーザーIDは、パッケージに対する実行権限を持っている必要があります。また、DRDAデータベースで定義されている必要があります。ユーザーIDがDRDA_RECOVER_USERIDに指定されていない場合、分散トランザクションがインダウト状態になると、ゲートウェイはORARECOVのユーザーIDに接続を試みます。

    リカバリに使用するユーザーIDとパスワードを決定します。

  3. DB2/400インスタンス用のDRDAのロケーション名を確認します。

    ゲートウェイ・パラメータとして、DRDAのロケーション名が必要です。ロケーション名を確認するには、STRSQLセッションで次のSQL問合せを実行します。システムでSQLを使用できない場合、AS/400コマンドのDSPRDBDIREを使用してローカルDRDAサーバーを識別します。

    SELECT CURRENT SERVER FROM any_table
    

    ここで、any_tableは、1つ以上の行が含まれる有効な表です。

    この問合せで戻された値が空白またはNULLの場合、DRDAのロケーション名は確定していません。システム管理者に連絡して、インスタンスのロケーション名を設定してください。

DB2/UDB(Universal Database)用のDRDAサーバーの構成

次の手順を実行するには、DB2/UDBの使用経験、DB2/UDBの通信サブシステムの構成、およびホスト・システム管理ツールが必要です。

  1. パッケージを所有するユーザーIDを定義します。

    ゲートウェイの構成時に、バインド・パッケージ・ストアド・プロシージャを実行して、DRDAサーバーでゲートウェイ・パッケージをバインドする必要があります。パッケージを適切にバインドするには、プロシージャの実行時に使用されるユーザーIDとパスワード(現在のOracleユーザーとして暗黙的に示されるユーザー、またはCREATE DATABASE LINKコマンドで明示的に定義されたユーザー)に、DRDAサーバーでパッケージを作成するための適切な権限を付与する必要があります。この同じユーザーIDを使用して、ORACLE2PC2フェーズ・コミット)表を作成および所有する必要があります。DRDAパッケージのバインドまたはリバインドに使用するユーザーIDには、DRDAサーバーに対する次の権限を1つ以上付与する必要があります。

    • BINDおよびEXECUTEのパッケージ権限。たとえば、次のようにします。

      GRANT BIND    ON PACKAGE drda1.g2drsql TO USER userid
      GRANT EXECUTE ON PACKAGE drda1.g2drsql TO PUBLIC
      
    • CREATEINのスキーマ権限。たとえば、次のようにします。

      GRANT CREATEIN ON SCHEMA otgdb2 TO USER userid
      GRANT CREATEIN ON SCHEMA drda1 TO USER userid
      
    • CONNECTBINDADDおよびCREATETABのデータベース権限。たとえば、次のようにします。

      GRANT CONNECT   ON DATABASE TO USER userid
      GRANT BINDADD   ON DATABASE TO USER userid
      GRANT CREATETAB ON DATABASE TO USER userid
      

    パッケージおよびORACLE2PC表を所有するユーザーIDを選択します。このユーザーIDがDB2インスタンスIDとオペレーティング・システムの両方に対して定義されていることを確認してください。

  2. リカバリ・ユーザーIDを定義します。

    ゲートウェイの構成時に、DRDA_RECOVERY_USERIDおよびDRDA_RECOVERY_PASSWORDパラメータを使用して、リカバリ・ユーザーIDとパスワードをゲートウェイ初期化ファイルに指定します。分散トランザクションが失敗した場合、リカバリ・プロセスは、これらのパラメータで定義されたユーザーIDとパスワードを使用してリモート・データベースに接続します。このユーザーIDは、パッケージに対する実行権限を持っている必要があります。また、DRDAデータベースで定義されている必要があります。ユーザーIDがDRDA_RECOVER_USERIDに指定されていない場合、分散トランザクションがインダウト状態になると、ゲートウェイはORARECOVのユーザーIDに接続を試みます。

    リカバリに使用するユーザーIDとパスワードを決定します。

  3. DB2/UDBインスタンス用のDRDAのロケーション名を確認します。

    ゲートウェイ・パラメータとして、DRDAのロケーション名が必要です。ロケーション名を確認するには、DB2 CLIセッションで次のSQL問合せを実行します。

    SELECT CURRENT SERVER FROM any_table
    

    ここで、any_tableは、1つ以上の行が含まれる有効な表です。

    この問合せで戻された値が空白またはNULLの場合、DRDAのロケーション名は確定していません。システム管理者に連絡して、インスタンスのロケーション名を設定してください。