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

TNSNames.ora または LDAP.ora を使用するための Oracle 接続の設定

公開日: Mar 17, 2025
タスク
TNSNames.ora または LDAP.ora を使用するように Oracle 接続を設定する方法。


TNSNames.ora または LDAP.ora 接続を設定するメリット。

以下の一般的な Oracle エラーは、TNSNames.ora または LDAP.ora を使用するようにデータ接続を設定すると修正または回避できます。
  • ORA-12154:TNS: 指定された接続識別子を解決できませんでした

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

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

  • ORA-12170:TNS: 接続タイムアウトが発生しました

  • ORA-12504: TNS: リスナーは CONNECT_DATA の SERVICE_NAME を取得できませんでした
ステップ
 
 

Windows の Tableau Desktop/Server、OCI クライアント

ステップ 1: TNS_Admin 環境変数を設定する。

  1. [スタート] > [コントロール パネル] > [システム] を選択します。 
  2. [システムの詳細設定] を選択します。
  3. [システムのプロパティ] ダイアログボックスの [詳細設定] タブで、[環境変数] を選択します。 
  4. [システム変数] で [新規] をクリックします。 
  5. [新しいシステム変数] ダイアログボックスに次のように入力して [OK] をクリックします。 
    • 変数名:TNS_ADMIN 
    • 変数値: TNSNames.ora ファイルが含まれるディレクトリ
  6. [環境変数] ダイアログボックスと [システムのプロパティ] ダイアログボックスにある [OK] をクリックします。 
  7. 新しい変数が確実に認識されるように、コンピューターを再起動します。 

ステップ 2: Tableau で Oracle ネットサービス名を使用して Oracle に接続します。 

  1. Tableau ワークブックをすべて閉じ、Tableau の新しいインスタンスを開きます。
  2. Tableau Desktop で [データに接続] > [Oracle] を選択します。
    • Server で使用するために TNSNAmes.ora ファイルに記載されている Oracle 'net_service_name' を入力します。
    • ユーザー名とパスワードを適切に入力します。

これ以外の TNSNames.ora ファイルの詳細接続は TNS_ADMIN システム変数を介して行われます。情報が重複して接続を妨げる可能性があるため、オプションのサービス名とポート情報は空のままにしておいてください。

 
 

Windows の Tableau Desktop および Server、JDBC ドライバー
 

次のテキスト (例) を含む oracle.properties ファイルを作成します。

oracle.net.tns_admin=C:\\Oracle_Client\\network\\admin

必要に応じて、ホスト ファイル システム内の tnsnames.ora ファイルの場所を参照するようにパスを変更します。二重のバックスラッシュ \\ は意図的なものであり、必須ですが、\\ を使用したパスは、コピーして Windows のファイルエクスプローラーに直接貼り付けても機能しません。 このコンテキストでは、oracle.properties ファイルは、二重のバックスラッシュを使用した場合にのみ正しく機能します。

次の場所にファイルを配置します。

デスクトップ:Documents\My Tableau Repository\Datasources 
Server: C:\ProgramData\Tableau\Tableau Server\data\tabsvc\vizqlserver\Datasources (または、別のインストール場所が使用されている場合は同等のパス)。このフォルダーがまだ存在しない場合、必ず作成してください。


サーバーのみ:ファイルとフォルダーが作成されたら、ファイルに対する適切なパーミッションが実行ユーザーに付与されていることを確認して、Tableau Server を再起動します。

JDBC プロパティファイルについての詳細は、こちらで確認できる場合があります。
 

 

Mac の場合

ステップ 1:

  1. Tableau Desktop が開いている場合は終了します。 
  2. Tableau の「ドライバー」ページから Mac 用の Oracle ドライバーをダウンロードし、インストール済みであることを確認します。
  3. 接続情報が含まれている既存の LDAP.ora ファイルまたは TNSNames.ora ファイルを /etc に次のようにコピーします。 
  • Finder で [移動] > [フォルダーへ移動] を選択し、「/etc」と入力します。
  • .ora ファイルを /etc にコピーします。

ステップ 2: TNS_ADMIN 環境変数を設定する 

  1. ターミナルを開始し、次のコマンドを入力します。

    sudo nano /etc/launchd.conf

    注意: Nano は Mac コンピューターで通常使用できるテキストベースのエディターです。

  2. プロンプトが表示されたらパスワードを入力します。

  3. 次のように入力します。

    launch setenv TNS_ADMIN /etc

  4. Ctrl キーと X を押し、次に Y を押してから、Enter キーで変更を保存し、nano を終了します。
  5. Mac を再起動します。

ステップ 3: TNS_ADMIN 変数が設定されていることを確認する 

  1. ターミナルを開始し、次のコマンドを入力します。

    export

  2. すべてのシステム変数が表示されます。次を探します:

    declare -x TNS_ADMIN="/etc"

  3. ターミナルまたは Network Utility でホスト名を ping することで、ホスト名を .ora ファイルのリストから DNS 解決していることを確認します。このとき、簡易サーバー名ではなく、servername.domain.com などの完全修飾ドメイン名を使用してください。 

これで、TNSNames.ora ファイルまたは LDAP.ora ファイルにあるサーバー名を指定するだけで、Mac で使用する Tableau Desktop を起動して Oracle データベースに接続できるようになりました。 
 

 
 

Linux の場合

ステップの要約:

  1. tnsnames.ora ファイルを Tableau ユーザーがアクセスできる場所にコピーします。
  2. ファイルにパーミッションを設定します。
  3. TNS_ADMIN 環境変数を更新します。必要な場合は、ステップ 1 のディレクトリを指すようにします。

ステップ 1: tnsnames.ora ファイルを特権のないユーザー (tableau) がアクセスできるディレクトリにコピーする

すべてのバージョンの場合:

tnsnames.ora ファイルを /etc ディレクトリにコピーします。
 

ステップ 2: tnsnames.ora ファイルのパーミッションを設定する

2020.4 以降:

次のテキストを使用して、/var/opt/tableau/tableau_server/data/tabsvc/vizqlserver/Datasources/oracle.properties ファイルを作成します。

例: oracle.net.tns_admin=/etc

必要に応じて、Server 上のファイル システム内の tnsnames.ora ファイルのパスを指すように /etc を変更します。

JDBC プロパティファイルについての詳細は、こちらで確認できる場合があります。

 

 
 

すべての環境

任意のステップ

tnsnames.ora ファイルの確認

サーバーに Oracle クライアントがインストールされている場合、tnsnames.ora ファイルは $ORACLE_HOME/network/admin ディレクトリにあります。
次のコマンドを使用して、このファイルが存在していることを確認できます。

echo $ORACLE_HOME 
ファイル パスを表示します。

sudo find / -iname tnsnames.ora
 お使いのファイル システム内にあるすべての tnsnames.ora ファイルの位置をリスト表示します。

注意: Tableau Server で tnsnames.ora を使用するには、Oracle クライアントがインストールされている必要はありません。このステップは既存のインストールでの作業をサポートするためのものです。

新しい tnsnames.ora ファイルを最初から作成する

このコンピューターに tnsnames.ora ファイルがなく、クライアント ワークステーションからコピーできるファイルもない場合、テキスト エディターを使用してファイルを作成できます。次の制限にご注意ください。

  • tnsnames.ora ファイル名は大文字と小文字が区別され、すべて小文字でなければなりません。 

  • ファイルでタブ区切りを使用することはできません。

エントリ用の可能性のあるテンプレートを次に示します。括弧内の要素はデータベース管理者から取得した値に置換する必要があります。
注意: Windows または Mac コンピューターでは、TNSNames.ora ファイルに ADDRESS_LIST エントリがなくても構いませんが、Linux コンピューターでは、tnsnames.ora ファイルにこの変数が必要です。
 

[net_service_name]=
(DESCRIPTION=
  (ADDRESS_LIST=
    (ADDRESS=[protocol_address_information])
   )
  (CONNECT_DATA= 
    (SERVICE_NAME=[service_name])
   )
 )

例: 

Production =
(DESCRIPTION =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = prod.corp.com)(PORT = 1521)
   )
  (CONNECT_DATA = 
    (SERVICE_NAME = orcl)
   )
 )

その他のリソース

Oracle で SSL を構成している場合の追加の構成手順

Oracle の ORACLE_HOME および TNS_ADMIN の構成 (Oracle で SSL が構成されている場合)

sudo su -l tableau      touch /var/opt/tableau/tableau_server/.config/systemd/tableau_server.conf.d/oracle.conf      echo "ORACLE_HOME=/u01/app/oracle/product/12.1.0/client_1" | tee -a /var/opt/tableau/tableau_server/.config/systemd/tableau_server.conf.d/oracle.conf      echo "TNS_ADMIN=/u01/app/oracle/product/12.1.0/client_1/network/admin" | tee -a /var/opt/tableau/tableau_server/.config/systemd/tableau_server.conf.d/oracle.conf       chmod 744 /var/opt/tableau/tableau_server/.config/systemd/tableau_server.conf.d/oracle.confexitcd /opt/tableau/tableau_server/packages/scripts.near.xx.xxxx.xxxx/            sudo ./stop-administrative-services            sudo ./start-administrative-servicessource /etc/profile.d/tableau_server.sh

ナレッジ記事番号

001453730

 
読み込み中
Salesforce Help | Article