Riepilogo dei passaggi:
- Copia il file tnsnames.ora in una posizione accessibile dall'utente tableau
- Imposta le autorizzazioni per il file.
- Aggiorna la variabile di ambiente TNS_ADMIN, se necessario, in modo da fare riferimento alla directory nel passaggio (1).
Passaggio 1: Copia il file tnsnames.ora in una directory accessibile dall'utente senza privilegi (tableau)
Per le versioni 2019.3.x e successive:
Copia il file tnsnames.ora nella directory /etc.
Per le versioni 2019.2.x e precedenti:
Per impostazione predefinita, l'utente senza privilegi è denominato "tableau".Tutti i processi di Tableau Server vengono eseguiti con questo account, che deve essere in grado di individuare il file tnsnames.ora per poterlo utilizzare.
Se hai già installato il connettore Oracle, è consigliabile copiare il file nella directory /opt/tableau/tableau_driver/oracle.
Puoi verificare che la directory sia accessibile dall'utente usando "su" per passare all'account e accedere alla directory.Ad esempio:
sudo su tableau
cd /opt/tableau/tableau_driver/oracle
Se questa procedura genera un errore "autorizzazione negata", devi aggiornare le autorizzazioni per la directory che stai utilizzando.
Passaggio 2: Imposta le autorizzazioni per il file tnsnames.ora
Per 2019.2.x e versioni precedenti, procedi come segue:
- Vai al percorso del file tnsnames.ora.
- Concedi autorizzazioni al file eseguendo il comando: chmod 666 tnsnames.ora
- Verifica le autorizzazioni file con il seguente comando: ls -l
Nota: Il percorso di ambiente
non deve contenere una barra finale. Se il formato del percorso è errato, gli utenti potrebbero riscontrare un errore ORA-12154.
2019.3 e versioni successive:Poiché tabsvc non è più presente in Linux, la procedura precedente non è più applicabile. Posiziona invece il file tsnames.ora nella directory
/etc sul computer Linux. Non è necessaria alcuna variabile di ambiente.
2020.2 e versioni successive:Crea un file /var/opt/tableau/tableau_server/data/tabsvc/vizqlserver/Datasources/oracle.properties con il testo seguente:
Esempio:
oracle.net.tns_admin=/etcSe necessario, modifica
/ etc in modo da puntare al percorso del file tnsnames.ora nel file system.
Ulteriori informazioni sui file di proprietà JDBC sono disponibili qui:
https://kb.tableau.com/articles/howto/Customizing-JDBC-Connections?lang=it-it Passaggio 3: Aggiorna la variabile di ambiente TNS_ADMIN in modo da fare riferimento alla directory nel passaggio (1).
Per le versioni 2019.3.x e successive: puoi saltare questo passaggio (non è richiesta alcuna variabile di ambiente).
Per le versioni 2019.2.x e precedenti:
- In un editor di testo, apri il file corrispondente alla tua versione di Tableau Server:
- Tableau Server 10.5.x -- /etc/systemd/system/tabsvc_0.service
- Tabelau Server da 2018.1.x a 2019.2 - /var/opt/tableau/tableau_server/.local/share/systemd/user/tabsvc_0.service
- Aggiungi la seguente riga, dove "/percorso/file-cartella" è la directory in cui hai copiato tnsnames.ora nel passaggio 1:
Environment=TNS_ADMIN=/percorso/file-cartella
- Salva le modifiche apportate al file.
Nota: Il percorso di ambiente non deve contenere una barra finale; se il formato del percorso è errato, gli utenti potrebbero riscontrare un errore ORA-12154.
Passaggi facoltativi
Individuazione dei file tnsnames.ora
Se il client Oracle è installato sul server, il file tnsnames.ora sarà disponibile nella seguente directory: $ORACLE_HOME/network/admin.
Puoi verificare se il file è presente con i seguenti comandi:
echo $ORACLE_HOME
consentirà di stampare il percorso del file.
sudo find / -iname tnsnames.ora
elencherà le posizioni di tutti i file tnsnames.ora nel file system.
Nota: Per utilizzare il file tnsnames.ora con Tableau Server, non è necessario installare il client Oracle.Questo passaggio ti consente semplicemente di lavorare con qualsiasi installazione esistente.
Creazione da zero di un nuovo file tnsnames.ora
Se nel computer non è presente alcun file tnsnames.ora e non ne hai uno da copiare da una workstation client, puoi crearne uno mediante un editor di testo. Tieni presenti le seguenti limitazioni:
-
Per il nome del file tnsnames.ora si applica la distinzione tra maiuscole e minuscole. Il nome deve essere composto interamente da lettere minuscole.
-
Non utilizzare la spaziatura mediante tabulazioni all'interno del file.
Di seguito è riportato un possibile modello per una voce. Gli elementi tra parentesi devono essere sostituiti da valori ottenuti dall'amministratore del database.
Nota: sebbene sia possibile che in un file TNSNames.ora su un computer Windows o Mac non sia richiesta la voce ADDRESS_LIST, per il file tnsnames.ora su un computer Linux è richiesta questa variabile.
[net_service_name]=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=[protocol_address_information])
)
(CONNECT_DATA=
(SERVICE_NAME=[service_name])
)
)
Ad esempio:
Production =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = prod.corp.com)(PORT = 1521)
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
Nota: Se SSL è configurato su Oracle, vedi i seguenti passaggi aggiuntivi.