ステップの要約:
- tnsnames.ora ファイルを Tableau ユーザーがアクセスできる場所にコピーします。
- ファイルにパーミッションを設定します。
- TNS_ADMIN 環境変数を更新します。必要な場合は、ステップ 1 のディレクトリを指すようにします。
ステップ 1: tnsnames.ora ファイルを特権のないユーザー (tableau) がアクセスできるディレクトリにコピーする
バージョン 2019.3.x 以上の場合:
tnsnames.ora ファイルを /etc ディレクトリにコピーします。
バージョン 2019.2.x 以前の場合:
デフォルトでは、特権のないユーザーには「tableau」という名前が付けられています。すべての Tableau Server プロセスはこのアカウントで実行され、使用する tnsnames.ora ファイルは検索できる場所にある必要があります。
Oracle コネクタを既にインストールしている場合は、ファイルをディレクトリ /opt/tableau/tableau_driver/oracle にコピーすることをお勧めします。
ユーザーがディレクトリにアクセスできることを確認するには、「su」を使用してアカウントに変更し、その後ディレクトリに変更します。例は次のとおりです。
sudo su tableau
cd /opt/tableau/tableau_driver/oracle
これらのステップを実行した結果、「permission denied (パーミッションが拒否されました)」エラーが発生する場合、使用しているディレクトリのパーミッションを更新する必要があります。
ステップ 2: tnsnames.ora ファイルのパーミッションを設定する
2019.2.x 以前では、次の手順に従います:
- tnsnames.ora ファイルがあるファイル パスへ移動します。
- コマンド chmod 666 tnsnames.ora を実行して、ファイルにパーミッションを付与します。
- コマンド ls -l で、ファイルのパーミッションを確認します。
注: 環境パスの末尾には、スラッシュを
含めないでください。パスの書式が正しくないと、ORA-12154 エラーが発生する場合があります。
2019.3 以降:Linux マシンでは tsnames.ora ファイルを
/etc ディレクトリに配置します。環境変数は必要ありません。
2020.2 以降:次のテキストを含む /var/opt/tableau/tableau_server/data/tabsvc/vizqlserver/Datasources/oracle.properties ファイルを作成します。
例:
oracle.net.tns_admin=/etc必要に応じて、Server 上のファイル システム内の tnsnames.ora ファイルのパスを指すように
/etc を変更します。
JDBC プロパティ ファイルの詳細については、こちらをご覧ください:
https://kb.tableau.com/articles/howto/Customizing-JDBC-Connections?lang=ja-jp
ステップ 3: TNS_ADMIN 環境変数を設定して、ステップ 1 のディレクトリを指す
バージョン 2019.3.x 以上の場合: このステップをスキップできます。環境変数は必要ありません。
バージョン 2019.2.x 以前の場合:
- テキスト エディターで、お使いの Tableau Server のバージョンにマッチするファイルを開きます。
- Tabelau Server 2018.1.x - 2019.2 -- /var/opt/tableau/tableau_server/.local/share/systemd/user/tabsvc_0.service
- 次のラインを追加します。"/path/to/file-folder" は、ステップ 1 で tnsnames.ora をコピーしたディレクトリです。
- Environment=TNS_ADMIN=/path/to/file-folder
- ファイルの変更を保存します。
注: 環境パスの末尾にはスラッシュを含めないでください。パスの書式が正しくないと、ORA-12154 エラーが発生する場合があります。
クリックしてソリューションを展開する
すべての環境
オプション ステップ
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 ファイルがなく、クライアント ワークステーションからコピーできるファイルもない場合、テキスト エディターを使用してファイルを作成できます。次の制限にご注意ください。
エントリ用の可能性のあるテンプレートを次に示します。括弧内の要素はデータベース管理者から取得した値に置換する必要があります。
注: 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)
)
)