Olá, recentemente eu precisei realizar alguns testes de conectividade com os servidores Oracle então resolvi registrar os passos realizados para que das próximas vezes eu tenha um conteúdo de fácil acesso.
O objetivo era verificar se o TNS da aplicação estava se conectando com sucesso ao servidor Oracle e executar o comando TNS ping a fim de validar os tempos de respostas do servidor Oracle.
Objetivo:
- Tnsnames
- Fazer conexão com usuário e senha do banco de dados no SqlPlus;
- Verificar o service name configurado no banco de dados;
- Realizar testes de TnsPing.
1. Tnsnames
O primeiro passo é verificar o arquivo Tnsnames.ora e sua configurações de TNS.
O path de instalação do Oracle cliente vai depender de como foi realizada, mas se foi realizada a instalação default ficaria:
Versão 32 Bits
c:\app\Oracle\product\11.2.0\client_1\network\admin\tnsnames.ora
Versão 64 Bits
c:\app\Oracle\product\11.2.0\client_2\network\admin\tnsnames.ora
No meu caso minha aplicação roda em um Pool do IIS configurado para usar a versão 32 bits, logo irei abrir o Tnanames.ora da pasta “Client_1” e verificar as configurações de acesso ao banco de dados Oracle.
BancoHomologacao =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = Srv01)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = hmlsrv)
)
)
Conforme configurações acima observamos que temos uma conexão padrão do banco de dados Oracle, temos um alias que chamamos de “BancoHomologação” um host “Srv01” e um service name “hmlsrv”.
2. SqlPlus – Conexão
Para testar se o TNS configurado no arquivo tnsnames.ora vai se conextar com sucesso ao Oracle digite o seguinte comando:
- Abra o CMD em modo administrador;
- Digite o comando: “sqlplus username/password@NomeTNS”
- Digite o comando: “select value from v$parameter where name like ‘%service_name%’;”
O comando executado na opção 3 vai retornar o nome do Service Name, o mesmo que foi usado no seu arquivo tnsnames.ora.
3. Service Name
Por mais que você já saiba o nome do “service name”, pois o mesmo já foi informado nas configurações de TNS e inclusive você já se conectou na etapa 02 desse tutorial você pode querer saber se existe outros “services names” para esse TNS, então você pode executar o comando abaixo apos estar se conectado ao Oracle, conforme descrito no passo 02 desse tutorial.
select value from v$parameter where name like ‘%service_name%’;
4. TNS Ping
Para testar se a conexão TNS pode conectar-se ao listener, digite o seguinte comando:
tnsping database_instance_name 10
Obs:
database_instance pode ser: TNS do seu arquivo tnsnames.ora, IP direto do Servidor, URL do Scan ou Balance/Cluster
O número 10 após o comendo significa a quantidade de testes que será realizado.
O comando solicita confirmação de que o nome do serviço é válido e que o listener que está configurado para manipular solicitações para esse nome do serviço.
Se a configuração estiver correta, uma mensagem será exibida mostrando o tempo de retorno.
Se a configuração não estiver correta, o comando retornará uma mensagem de erro. Assegure-se de utilizar o nome de serviço correto que o listener esteja iniciado no servidor.
Bom era isso, espero que isso possa ter ajudado.
Abs,
Fabrizio Gianfratti