OCI接続のトラブルシューティング

OCIを使用したOracle Databaseへの接続で問題が発生する場合がある複数の理由があります。

次の条件が満たされていることを確認してください。

  • Oracle BIサーバーを実行しているコンピュータは、Oracle Call Interface (OCI)を使用してデータベースに接続する必要があります。

  • リポジトリ接続プールで接続文字列全体を使用しない場合、Oracle BIサーバーがそのエントリを特定できるように、環境内の次の場所に有効なtnsnames.oraファイルを設定する必要があります。

    BI_DOMAIN/bidata/components/core/serviceinstances/ssi/oracledb

  • リポジトリ接続プールで接続文字列全体を使用しないことを選択した場合、tnsnames.oraファイルのネット・サービス名が接続プールで使用されるデータ・ソース名と一致することを確認します。

    たとえば、tnsnames.oraエントリの次の例では、対応するリポジトリ接続プールのデータソース名はITQA2です。

    ITQA2 =
       (DESCRIPTION =
          (ADDRESS_LIST =
             (ADDRESS = (PROTOCOL = TCP)(HOST = ITQALAB2)(PORT = 1521))
       (CONNECT_DATA =
          (SERVICE_NAME = ITQALAB2.corp)
          )
       )
    

次の手順では、Oracle tnsnames.ora設定に対してリポジトリ・データベースおよび接続プール設定を確認する方法を示します。

  1. 管理ツールでリポジトリを開きます。
  2. 「物理」レイヤーで、確認するデータベースをダブルクリックして、「データベース」ダイアログを表示します。
  3. 「一般」タブの「データ・ソース定義: データベース」フィールドで、適切なOracle Databaseバージョンが選択されていることを確認します。次に、「OK」をクリックします。
  4. このデータソースの「接続プール」ダイアログを開きます。物理レイヤーでデータベース・オブジェクトを開いて、「接続プール」オブジェクトを表示する必要がある場合があります。
  5. 「接続プール」ダイアログで、次の項目が該当していることを確認します。
    • 「コール・インタフェース」フィールドに、使用しているOracle Databaseのリリースに関して適切な値が表示されています。

    • データ・ソース名」フィールドに、tnsnames.oraエントリで定義したOracle Databaseのネット・サービス名が表示されています。

    • ユーザー名フィールドおよび「パスワード」フィールドに正しい値が入っています。

    必要に応じて値を変更し、「OK」をクリックします。

  6. 環境で、次のディレクトリにあるtnsnames.oraファイルを開きます。

    BI_DOMAIN/bidata/components/core/serviceinstances/ssi/oracledb

  7. 次の特性を持つ有効なネット・サービス名が存在することを確認します。
    • データソース名の接続プール設定と一致している

    • 対象のOracle物理データベースを指定しています。