Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む

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

公開日: Apr 30, 2025
説明

Oracle 接続エラーのトラブルシューティング方法。

Oracle ドライバーは、独自形式の非常に特殊な接続ステートメントを必要としますが、TNSNames.ora ファイルでは不要な場合もあります。たとえば、Tableau が提供する Oracle ファイルのみをインストールし、スタンドアロンの Oracle クライアントは含めない場合でも、Oracle エラー メッセージで TNSNames.ora ファイルが参照され、トラブルシューティングが複雑になります。

    解決策

    [Advanced Oracle 接続] ダイアログボックスで経路や命名構文を修正するか、完全な .WORLD データベース名を使用すると、Oracle 接続のほとんどの問題が解決することがよくあります。接続エラーで詳細なトラブルシューティングが必要な場合は、以下の 5 つの一般的な接続エラーを参照してください。

    • ORA-03113: 通信チャネルで end-of-file が検出されました
    • ORA-12154:TNS: 指定された接続識別子を解決できませんでした。HOST 値またはグローバル名が不正か、不明です
    • ORA-12514:TNS リスナーは次の接続記述子で要求されたサービスを現在認識していません。SERVICE 値が正しくありません
    • ORA-12541:TNS: リスナーがありません。PORT 値が正しくありません
    • ORA-00932: データ型が一致しません

      ORA-03113: 通信チャネルで end-of-file が検出されました

      ORA-03113 は、Oracle セッションが中断されるすべての問題に対する汎用的なエラーです。このエラーには、さまざまな原因が考えられます。トラブルシューティングのガイダンスについては、以下のリストを参照してください。

      • このエラーに固有の Oracle ドキュメントを参照してください: My Oracle Support
      • Oracle では、ネットワークの問題をチェックし、SQL*Net の設定を確認することを推奨しています。
      • Oracle 9.2.0.5 に接続している場合、通常、このエラーの主な原因は Oracle のバグ 3010227 です。Oracle パッチ 9.2.0.6 またはサーバーに適した別のパッチを適用するよう、Oracle データベース管理者に依頼してください。
      • Oracle 初期化パラメーター 'STAR_TRANSFORMATION_ENABLED' を FALSE に設定します。
      • 抽出更新のスケジュール時刻の変更をテストします。
      • また、この問題をさらにテストする必要がある場合は、以下にリストされているオプションの手順に従ってください。
      ステップ 1 

      Tableau Desktop のスタート ページから、[データに接続] を選択します。

      ステップ 2 

      [接続] ページで [Oracle] をクリックし、[OK] を選択します。

      接続手順の実行の詳細については、Desktop ヘルプの「Oracle データベース」トピックを参照してください。

      ステップ 3 
      1. 結合エリアで、編集アイコンが表示されるまでカスタム SQL の表にカーソルを合わせ、表示されたアイコンをクリックします。
      2. [カスタム SQL の編集] ダイアログボックスでクエリをコピーします。
      SELECT "NumericBins", "Key" as "Key",
      "NumericBins", "Measure E-2" AS "Measure E-2",
      "NumericBins", "Measure E-1" AS "Measure E-1",
      "NumericBins", "Measure E+0" AS "Measure E+0",
      "NumericBins", "Measure E+1" AS "Measure E+1",
      "NumericBins", "Measure E+4" AS "Measure E+4",
      "NumericBins", "Measure E+7" AS "Measure E+7"
      FROM "TestV1", "NumericBins" "NumericBins"

       
      "TestV1" は Tableau での接続名です。
      ステップ 4 

      このデータベースに接続している SQL セッションで、クエリを貼り付けて実行します。予期される応答は、エラー ORA-7445: 例外が検出されました: コア ダンプです。その場合は、予測どおり、問題が ORA-3113 であることが確認されます。

      ORA-12154:TNS: 指定された接続識別子を解決できませんでした

      ORA-12154 は、TNS (Transparent Network Substrate) がサービス名を解決できない場合に発生します。サービス名は、%ORACLE_HOME%\network\admin\ フォルダーにある TNSNames.ora ファイルに指定されています。通常、TNSNames.ora ファイル内の情報が正しくない場合に、このエラーが発生します。例:

      • データベース名に .world 拡張子が含まれていない。
      • SERVICE_NAME または HOST 変数が正しくない。
      • サービスまたはポートが、Server/Cloud にパブリッシュされたデータ接続に誤って含まれています (オプション 4 を参照)。

      この問題を解決するには、以下の順序で 4 つのトラブルシューティングオプションのうちのいずれかを試してください。

      オプション 1:TNSNames.ora を編集する

       次の両方の場所で .world の拡張子を含む完全なデータベース名を指定します。

      • TNSNames.ora ファイル。

        および

      • [接続] ページの [サーバー] テキストボックス。

      オプション 2:Tableau Server の実行ユーザー アカウントに TNSNames.ora へのパーミッションがあることを確認する (Tableau Server のみ)

      Tableau Server をインストールした場合、以下の手順を実行して、Tableau Server 実行ユーザー アカウントが TNSNames.ora ファイルの場所へのパーミッションを持っていることを確認します。実行ユーザーアカウントがパーミッションを持っていない場合、Tableau Server は Oracle データソースの詳細にアクセスできません。

      ステップ 1 

      TNSNames.ora ファイル (または、マシン上の同等の SQLNET.ora と LDAP.ora ファイル) の場所を確認します。

      注意: デフォルトでは、TNSNames.ora ファイルは \network\admin ディレクトリにあります例: C:\Oracle_Client\network\admin

      ステップ 2 

      TNS_ADMIN 変数がステップ 1 で説明しているファイルの場所を指していることを確認します。

      注意: TNS_ADMIN 変数を確認するには、[スタート] ボタンをクリックし、[コントロール パネル] > [システム] を選択します。[システムの詳細設定] をクリックし、[詳細設定] タブをクリックして、[環境変数] ボタンをクリックします。
      このシステム変数ファイル パスは UNC 形式である必要があります。

      ステップ 3 

      ブラウザで https://:8850 にアクセスして TSM を開きます。詳細については、「Tableau サービス マネージャー Web UI へのサインイン」を参照してください。

      ステップ 4 

      [セキュリティ] タブをクリックし、[実行サービスアカウント] タブをクリックします。
      [サーバーの実行ユーザー] で、[ユーザー名] フィールドの情報をコピーします。

      ステップ 5 

      TNSNames.ora ファイルがあるフォルダーに移動します。

      ステップ 6 

      フォルダーを右クリックし、[プロパティ] を選択します。[セキュリティ] タブをクリックし、[編集] ボタンをクリックします。

      ステップ 7 

      [グループまたはユーザー名] で、[追加] ボタンをクリックします。

      ステップ 8 

      [選択するオブジェクト名を入力してください] テキストボックスに、ステップ 6 でコピーした実行ユーザーアカウントの詳細を貼り付けます。

      ステップ 9 

      完了したら、[OK] をクリックします。

      ステップ 10 

      アクセス許可エリアで、[フルコントロール] と [変更] チェックボックスがオンになっていることを確認します。

      ステップ 11 

      [OK] をクリックして、ダイアログボックスを閉じます。

      オプション 3:TNSNames.ora 内のすべての情報が正しいことを確認する

       上記のトラブルシューティング手順で問題が解決しない場合は、続きを読み、TNSNames.ora ファイル内の他の情報が正しく指定されていることを確認する手順を実行します。

      TNSNames.ora ファイルの例を次に示します。

      QAORCL10.world =

      (DESCRIPTION =

      (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = MY_HOST_NAME)(PORT = 1521))

      )

      (CONNECT_DATA =

      (SERVICE_NAME = MY_SERVICE_NAME)

      )

      )

      ファイル内で注目する 3 つの変数は、HOSTPORT、および SERVICE_NAME です。TNSNames.ora ファイルからこれらの変数をコピーし、利用できるようにしておきます。これらの変数には、大文字と小文字の区別があります。次の手順では、接続でこれらの変数を指定する方法について説明します。

      ステップ 1 

      Tableau Desktop のスタート ページから、[データに接続] を選択します。

      ステップ 2 

      [接続] ページで [Oracle] をクリックします。

      ステップ 3 

      TNSNames.ora ファイルの次の情報を指定します。

      • [サーバー名] テキストボックスに、HOST 名を入力します。
      • [サービス] テキストボックスに、SERVICE_NAME を入力します。
      • [ポート] テキストボックスに、PORT 番号を入力します。
      • Windows 認証を使用するか、特定のユーザー名とパスワードを使用するかを指定し、[接続] をクリックします。

      注意:  変数には、大文字と小文字の区別があります。

      ステップ 4 

      [スキーマ] ドロップダウン リストからスキーマを選択し、結合エリアに表をドラッグして [ワークシートに移動] をクリックします。

      ステップ 5 

      Oracle 接続を設定して TNSNames.ora または LDAP.ora を使用する」(Setting an Oracle Connection to Use TNSNames.ora or LDAP.ora) の記事の手順を完了します。

      重要:

      • 使用する TNSNames.ora ファイルを ASCII エンコードで保存してください。ASCII 以外のエンコード (UTF-8 や Unicode など) では、ORA-12154 エラー メッセージが表示されます。
      • 通常、Oracle ソフトウェアがすでにマシンにインストールされている場合でも、これらの手順を実行する必要があります。
      ステップ 6

      Tableau の [ドライバー] ページから適切な Oracle ドライバーをダウンロードし、インストールします。Oracle ドライバーがコンピューターにインストールされている場合でも、Tableau と互換性がない可能性があります。[ドライバー] ページで指定されたバージョンが必要になります。

      オプション 4 (パブリッシュされたワークブックまたはデータソース)

      パブリッシュ済み Oracle データソースに接続されたパブリッシュ済みワークブックを開くときに、接続からサービスまたはポートを削除します。

      1. パブリッシュされたデータソースまたはワークブックをダウンロードします。
      2. Tableau Desktop で、パブリッシュされたデータソースまたはワークブックを開きます。
      3. [データ] ペインで [データソース] を右クリックして、[データソースの編集] を選択します。
      4. [サービス] フィールドまたは [ポート] フィールドから値を削除します。  詳細は、Oracle ヘルプを参照してください。
      5. 接続が機能することを確認します。
      6. データソースまたはワークブックをもう一度パブリッシュします。
      7. Tableau Server で、接続をテストします。

       

      ORA-12514:TNS: リスナーは接続記述子で要求されたサービスを現在認識していません

      通常、SERVICE 値が正しくない場合にこのエラーが発生します。

      この問題を解決するには、正しい SERVICE 値を調べます。%ORACLE_HOME%\network\admin\ フォルダーにある TNSNames.ora ファイルを開きます。必要に応じて、ORA_12154 の手順を参照してください。

      ORA-12541:TNS: リスナーがありません

      通常、PORT 値が正しくない場合にこのエラーが発生します。

      この問題を解決するには、PORT 値を 1521 と 1526 のどちらかに置き換えます。現在使用していない値を試してください。

      ORA-00932: データ型が一致しません

      Oracle に接続するとき、または Oracle データソースから抽出を作成するときに、このエラーが発生します。通常、このエラーは適切でない Oracle ドライバーをインストールしていることが原因で発生します。

      この問題を解決するには、[ドライバー] ページから、使用している Tableau のバージョンに適した Oracle ドライバーをインストールします。

      上記の一般的なエラーに加えて、パフォーマンスの問題 (抽出の更新に時間がかかりすぎるなど) が発生している場合は、最新のドライバーをダウンロードしてインストールしてみてください。 適切なドライバーはこちらからダウンロードできます。

       

        その他のリソース

        提案

        Oracle クライアントがマシンにインストールされていない場合は、データベース管理者から必要なファイルを入手してください。Oracle のデータ接続エラーが解決しない場合は、次を実行します。

        • TNS_ADMIN 変数を作成するために使用する TNSNames.ora フォルダーのパスを確認します。
        • TNS_ADMIN 変数が確実に認識されるように、マシンを再起動します。
        • Tableau で使用している Oracle 接続名が TNSNames.ora の Net Service Name エントリと正確に一致していることを確認します。この名前には、大文字と小文字の区別があります。
        • Oracle ドライバーによって TNS_ADMIN システム変数が適用されるように、Windows を再起動する必要が生じる場合があります。
        • ローカル IT に連絡して、TNSNames.ora ファイルが最新であることを確認します。
        • Oracle 接続で LDAP を使用している場合は、SQLNet.ora ファイルと TNSNames.ora ファイルを必ず含めます。

        ORA-12154:TNS could not resolve service name tips (TNS でサービス名のヒントを解決できませんでした)

        注意:サードパーティコンテンツが正確で最新のものであるように確認する最善の努力を払っていますが、ここに参照される情報は、予告なしに変更される可能性があります。

        カスタム SQL 実行時のエラー: "ora-00907: 右括弧がありません"


        ナレッジ記事番号

        001473195

         
        読み込み中
        Salesforce Help | Article