Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

MarceloTada

[Resolvido] Erro ORA 12514 - Estranho - Pinga mas nao conecta em

Recommended Posts

Informações do Ambiente:

* Versão do Oracle: 10.1

* Sistema Operacional: Windows XP

 

Pessoal, meu oracle parou de conectar do nada. Pelo erro me parece que o listener nao ta enchergando os services corretamente. Será que seria o caso de registrar estaticamente?

 

Fatos:

 

- todos os services pingam com tnsping mas nao conecta via client na maquina do servidor - apenas com sql*plus e setando a variavel de ambiente ORACLE_SID;

- o listener é dinamico - consta apenas o service PLSExtProc;

- listener está como "localhost";

- tnsnames.ora está tudo como "localhost" tb;

- Configurando pelo net wizard percebi que em vez de localhost ele coloca o host da maquina (nome + rede) mas depois de configurar o tnsnames com o mesmo host definido no listener ele muda tudo p/ "localhost";

 

Alguém faz idéia de como resolver este problema?

 

Obrigado!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marcelo,

 

Sinistro o lance aí ein.

você pode colar informações do arquivo tnsnames.ora?

 

Será que o Windows não está com o firewall ativado e bloqueando a conexão?? Faça um teste... vá nas opções do firewall do Windows e desative o mesmo e ainda assim vá na aba "avançados" para desativar o firewall nas conexões de rede.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tnsnames.ora:

SPED =
  (DESCRIPTION =
	(ADDRESS_LIST =
	  (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
	)
	(CONNECT_DATA =
	  (SERVICE_NAME = SPED)
	)
  )

BACKUP =
  (DESCRIPTION =
	(ADDRESS_LIST =
	  (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
	)
	(CONNECT_DATA =
	  (SERVICE_NAME = BACKUP)
	)
  )

Listener:

 

SID_LIST_LISTENER =
  (SID_LIST =
	(SID_DESC =
	  (SID_NAME = PLSExtProc)
	  (ORACLE_HOME = D:\oracle\product\10.1.0\db_1)
	  (PROGRAM = extproc)
	)
	(SID_DESC =
	  (GLOBAL_DBNAME = Oracle101)
	  (ORACLE_HOME = D:\oracle\product\10.1.0\db_1)
	  (SID_NAME = SPED)
	)
	(SID_DESC =
	  (GLOBAL_DBNAME = Oracle101)
	  (ORACLE_HOME = D:\oracle\product\10.1.0\db_1)
	  (SID_NAME = BACKUP)
	)
  )

LISTENER =
  (DESCRIPTION =
	(ADDRESS = (PROTOCOL = TCP)(HOST = LOCALHOST)(PORT = 1521))
  )

O estranho é que ele realmente pinga. E tb nao é firewall pq eu consigo conectar via sql plus e ferramentas como sqlldr, imp, exp, etc.

Coloquei como pode ver os servicos explicitos no listener e mesmo assim nao adiantou. Acho que tem algo a ver com o host da maquina pois em clients, precisamos colocar o host, o que no caso é "localhost" mas parece que implicitamente ele nao ta usando o "localhost" ou o ip de loopback mas sim o host da maquina, neste sentido, acaba nao sendo equivalente com o tnsnames.

 

O que acha?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigos, acho que descobri o problema.

 

Segue a resoluçao p/ quem tiver o mesmo.

 

Implicitamente, ao colocar "localhost" no listener e no tnsnames, o oracle não utilizava a palavra "localhost" nem tao pouco o ip de loopback como suspeitado anteriormente. Entao ele trocava o "name" pelo host da maquina fazendo com que o "localhost" do tnsnames ficasse diferente e irreconhecivel do name do listener. Enfim, setei entao manualmente o listener p/ o host e tb no tnsnames, reiniciei o listener e voilá!

 

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.