BASE DE DADOS DE CONHECIMENTO

Configurar uma conexão Oracle para usar TNSNames.ora ou LDAP.ora


Publicado: 29 Nov 2016
Data da última modificação: 08 Jan 2019

Pergunta

Como configurar uma conexão da Oracle para usar o TNSNames.ora ou o LDAP.ora.

Ambiente

  • Tableau Desktop
  • Tableau Server
  • Oracle

Resposta

CLIQUE PARA EXPANDIR A SOLUÇÃO

Antes de executar as etapas abaixo, verifique se o Serviço de rede da Oracle foi instalado no computador que hospeda o Tableau Desktop ou Tableau Server.
No Windows

Etapa 1: verifique se um arquivo TNSNames.ora existe no seu computador. 

Por padrão, o arquivo TNSNames.ora pode ser encontrado em {oracle directory}\network\admin. Por exemplo, C:\Oracle_Client\network\admin. 
Se nenhum arquivo TNSNames.ora existir no seu computador, crie um com um editor de texto. Abaixo está um possível modelo de uma entrada. Os elementos entre chaves devem ser substituídos por valores obtidos junto ao administrador de banco de dados.

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


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

Etapa 2: definir a variável de ambiente TNS_Admin.

  1. Selecione Iniciar > Painel de controle > Sistema 
  2. Selecione Configurações avançadas do sistema
  3. Na caixa de diálogo Propriedades do Sistema, na guia Avançado, selecione Variáveis de Ambiente. 
  4. Em Variáveis do sistema, clique em Nova.
  5. Na caixa de diálogo Nova variável do sistema, insira o seguinte e depois clique em OK:
    • Nome da variável: TNS_ADMIN
    • Valor da variável: o diretório que contém o arquivo TNSNames.ora.
  6. Clique em OK na caixa de diálogo Variáveis de Ambiente e na caixa de diálogo Propriedades do Sistema.
  7. Reinicie o computador para garantir que a nova variável seja reconhecida.

Etapa 3: use o nome do serviço de rede da Oracle no Tableau.

  1. Feche todas as pastas de trabalho do Tableau e abra uma nova instância do Tableau.
  2. No Tableau Desktop, selecione Conectar aos dados > Oracle.
    • Para o servidor, insira o 'net_service_name' da Oracle registrado no arquivo TNSNAmes.ora.
    • Insira o nome de usuário e a senha se necessário.

O resto dos detalhes da conexão no arquivo TNSNames.ora são comunicados por meio da variável do sistema TNS_ADMIN. Observe que você deve deixar o nome de serviço opcional e as informações de porta vazios, caso contrário isso pode interferir com a conexão por duplicar informações.

CLIQUE PARA EXPANDIR A SOLUÇÃO
No Mac

Etapa 1:

  1. Feche o Tableau Desktop se ele estiver aberto. 
  2. Assegure-se de que você baixou e instalou os drivers para Mac da Oracle da página de Drivers do Tableau.
  3. Copiar um arquivo LDAP.ora ou TNSNames.ora existente contendo informações da conexão para /etc: 
  • No Finder, selecione Ir > Ir para a pasta e então insira /etc.
  • Copie o arquivo .ora para /etc.

Etapa 2: definir a variável de ambiente TNS_Admin

  1. Inicie o Terminal e insira o seguinte comando: 

    sudo nano /etc/launchd.conf

    Observação: o Nano é um editor de texto disponível em computadores Mac.

  2. Insira sua senha quando solicitado.

  3. Digite o seguinte:

    launch setenv TNS_ADMIN /etc

  4. Pressione Ctrl-X, depois Y e depois Enter para salvar as alterações e sair do Nano.
  5. Reinicie seu Mac.

Etapa 3: verificar se a variável TNS_ADMIN estava configurada

  1. Inicie o Terminal e insira o seguinte comando: 

    export

  2. Você verá uma lista com todas as variáveis do sistema. Procure:

    declare -x TNS_ADMIN="/etc"

  3. Confirme se a resolução do DNS está funcionando para o nome de host listado no arquivo .ora fazendo o ping do nome de host no Terminal ou no Utilitário de rede. Use um nome de domínio completamente qualificado, tal como servername.domain.com, em vez de um nome de servidor simples. 
Agora você deve ser capaz de iniciar o Tableau Desktop no seu Mac e de conectar-se com o banco de dados da Oracle, fornecendo apenas o nome do servidor contido no arquivo TNSNames.ora ou LDAP.ora. 
 
CLIQUE PARA EXPANDIR A SOLUÇÃO
No Linux

Etapa 1: verificar a existência de um arquivo tnsnames.ora no computador que está executando o Tableau Server.

  • Por padrão, se o cliente Oracle estiver instalado neste computador, o arquivo tnsnames.ora estará localizado no seguinte diretório: $ORACLE_HOME/network/admin.
  • O comando echo $ORACLE_HOME 
    imprimirá o caminho do arquivo.
  • O comando find $ORACLE_HOME -name tnsnames.ora
     imprimirá a localização do arquivo tnsnames.ora neste diretório.
Não é necessário ter o cliente Oracle instalado para usar tnsnames.ora com o Tableau Server.

Se nenhum arquivo tnsnames.ora existir no seu computador, crie um com um editor de texto. O nome do arquivo tnsnames.ora diferencia maiúsculas e minúsculas e deve estar em letras minúsculas. O arquivo não deve usar o espaçamento de tabulação. Abaixo está um possível modelo de uma entrada. Os elementos entre chaves devem ser substituídos por valores obtidos junto ao administrador de banco de dados.
Observação: embora um arquivo TNSNames.ora em um computador Windows ou Mac possa não exigir a entrada ADDRESS_LIST, o arquivo tnsnames.ora em um computador Linux exige essa variável.

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


Por exemplo:

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

Etapa 2: definir a variável de ambiente TNS_ADMIN.

  1. Em um editor de texto, abra o arquivo  /etc/systemd/system/tabsvc_0.service
    • Observação: a partir da versão 2018.1, o arquivo "tabsvc_0.service" está localizado em: /var/opt/tableau/tableau_server/.local/share/systemd/user/tabsvc_0.service
  2. Adicione a seguinte linha:Environment=TNS_ADMIN=/path/to/file-folder 
  3. Salve as alterações feitas no arquivo. Pode ser necessário reiniciar o computador para que as alterações no ambiente entrem em vigor.
Observação: o caminho do ambiente não tem uma barra à direita. Se o formato do caminho estiver incorreto, os usuários poderão encontrar um erro ORA-12154.

Etapa 3: definir permissões para o arquivo tnsnames.ora.

  1. Navegue até o caminho do arquivo em que o arquivo tnsnames.ora está localizado.
  2. Conceda permissões ao arquivo executando o comando: chmod 666 tnsnames.ora
  3. Verifique as permissões do arquivo com o seguinte comando: ls -l

 

Informações adicionais

Os seguintes erros comuns do Oracle podem ser corrigidos ou evitados quando a conexão de dados é configurada para usar o TNSNames.ora ou o LDAP.ora.

  • ORA-12154: TNS: não foi possível resolver o identificador de conexão especificado

  • ORA-12514: o ouvinte TNS desconhece o serviço solicitado no momento no descritor de conexão

  • ORA-12541: TNS: sem ouvinte

  • ORA-12170: TNS: tempo limite de conexão ocorrido

  • ORA-12504: O ouvinte TNS não recebeu SERVICE_NAME em CONNECT_DATA


Como usar o ping no Mac: Fazer ping de sites, domínios ou endereços de IP
OS X: Sobre o utilitário de rede

Este artigo resolveu o problema?