Resumen de los pasos:
- Copie el archivo tnsnames.ora en una ubicación a la que pueda acceder un usuario de Tableau
- Configure los permisos del archivo.
- Actualice la variable de entorno TNS_ADMIN, si es necesario, para que se asigne al directorio usado en el paso (1).
Paso 1: Copiar el archivo tnsnames.ora en un directorio que pueda utilizar un usuario sin privilegios (tableau)
2019.3.x y versiones posteriores:
Copie el archivo tnsnames.ora en el directorio /etc.
2019.2.x y versiones anteriores:
De forma predeterminada, un usuario sin privilegios recibe el nombre "tableau". Todos los procesos de Tableau Server se ejecutan con esta cuenta y debería poder localizar el archivo tnsnames.ora para usarlo.
Si ya ha instalado el conector de Oracle, se recomienda que copie el archivo en el directorio /opt/tableau/tableau_driver/oracle.
Puede confirmar que el usuario puede acceder al directorio usando "su" para conmutar entre la cuenta y el directorio. Por ejemplo:
sudo su tableau
cd /opt/tableau/tableau_driver/oracle
Si al realizar estos pasos aparece el error "Permiso denegado", debe actualizar los permisos del directorio que utilice.
Paso 2: Configurar los permisos del archivo tnsnames.ora
Para la versión 2019.2.x y anteriores, siga estos pasos:
- Vaya a la ruta de archivo donde se encuentra el archivo tnsnames.ora.
- Conceda permisos al archivo ejecutando el comando chmod 666 tnsnames.ora.
- Compruebe los permisos del archivo con el comando siguiente: ls -l.
Nota: La ruta de entorno
no debe tener una barra diagonal final. Si el formato de la ruta no es correcto, los usuarios pueden encontrarse el error ORA-12154.
2019.3 y versiones posteriores:En su lugar, coloque el archivo tsnames.ora en el directorio
/etc del equipo Linux. No se necesita ninguna variable de entorno.
2020.2 y versiones posteriores:Cree un archivo /var/opt/tableau/tableau_server/data/tabsvc/vizqlserver/Datasources/oracle.properties con el siguiente texto:
Ejemplo:
oracle.net.tns_admin=/etcCambie
/etc si es necesario para hacer referencia a la ruta del archivo tnsnames.ora dentro del sistema de archivos o de su instancia de Server.
Puede encontrar más información sobre el archivo de propiedades JDBC aquí:
https://kb.tableau.com/articles/howto/Customizing-JDBC-Connections?lang=es-es
Paso 3: Configurar la variable de entorno TNS_ADMIN para que se asigne al directorio usado en el paso 1
Para la versión 2019.3.x y superiores: puede omitir este paso ya que no se requiere una variable de entorno.
2019.2.x y versiones anteriores:
- En un editor de texto, abra el archivo que coincida con su versión de Tableau Server:
- Tableau Server 2018.1.x - 2019.2 -- /var/opt/tableau/tableau_server/.local/share/systemd/user/tabsvc_0.service
- Añada la siguiente línea, en la que "/path/to/file-folder" corresponde al directorio en el que copió tnsnames.ora en el paso 1:
- Environment=TNS_ADMIN=/path/to/file-folder.
- Guarde los cambios en el archivo.
Nota: La ruta del entorno no debe contener una barra diagonal final; si el formato de la ruta es incorrecto, puede que los usuarios vean el error ORA-12154.
HAGA CLIC PARA EXPANDIR LA SOLUCIÓN
Todos los entornos
Pasos opcionales
Encontrar archivos tnsnames.ora
Si el cliente Oracle está instalado en su servidor, el archivo tnsnames.ora se encontrará en el siguiente directorio: $ORACLE_HOME/network/admin.
Puede comprobar si el archivo existe con los siguientes comandos:
echo $ORACLE_HOME
imprime la ruta del archivo.
sudo find / -iname tnsnames.ora
incluye la lista de ubicaciones de los archivos tnsnames.ora en el sistema de archivos.
Nota: No es necesario que instale el cliente de Oracle para usar tnsnames.ora con Tableau Server. Este paso le ayudará a trabajar con cualquier tipo de instalación.
Crear un archivo tnsnames.ora desde cero
Si no se encuentra el archivo tnsnames.ora en el equipo y no tiene uno para copiarlo desde el equipo del cliente, puede crear uno usando un editor de texto. Tenga en cuenta estas restricciones:
-
El archivo tnsnames.ora distingue mayúsculas de minúsculas, y todas las letras deben escribirse en minúscula.
-
En el archivo no debe usarse el espaciado con tabulaciones.
A continuación se muestra una posible plantilla para una entrada. Los elementos en paréntesis deben reemplazarse por valores obtenidos del administrador de la base de datos.
Nota: Aunque el archivo TNSNames.ora no requiera la entrada ADDRESS_LIST en un equipo Windows o Mac, el archivo tnsnames.ora sí requiere esta variable en los equipos Linux.
[net_service_name]=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=[protocol_address_information])
)
(CONNECT_DATA=
(SERVICE_NAME=[service_name])
)
)
Por ejemplo:
Production =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = prod.corp.com)(PORT = 1521)
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)