ORA-12541: TNS: nenhum ouvinte

1

Aqui está a situação:

Eu tenho um computador (vamos chamá-lo de servidor PC , cujo IP é 192.168.1.100 ) que tem o ORACLE instalado nele. Eu posso acessar os dados no oracle usando Python neste servidor PC (isso significa que o ouvinte está sendo executado no servidor PC ). Aqui está o listener.ora neste servidor PC :

# listener.ora Network Configuration File: C:\app3022472\product.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      #(SID_NAME = CLRExtProc)
      (SID_NAME = orcl)
      (ORACLE_HOME = C:\app3022472\product.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:C:\app3022472\product.2.0\dbhome_1\bin\oraclr12.dll")
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )


#(HOST = DESKTOP-2RE9AJU)

E tnsnames.ora no servidor PC :

# tnsnames.ora Network Configuration File: C:\app3022472\product.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

LISTENER_ORCL =
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))

#(HOST = DESKTOP-2RE9AJU)

ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      #(SID = CLRExtProc)
      (SID = ORCL)
      (PRESENTATION = RO)
    )
  )

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

#(HOST = DESKTOP-2RE9AJU)

Agora eu quero usar outro computador (vamos chamá-lo de cliente PC ) para conectar o banco de dados no PC servidor. O Oracle não está instalado no PC cliente , mas PL/SQL Developer e instantclient estão instalados. Eu abro o PL / SQL, adiciono os caminhos de instantclient e oci.dll em tools - preference . Em seguida, adicione o username/key@//192.168.1.100:1521/orcl em history log - fixed user . Em seguida, adicione um arquivo tnsnames.ora na pasta instantclient , que é assim:

# tnsnames.ora Network Configuration File: C:\app3022472\product.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

LISTENER_ORCL =
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))


ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      #(SID = CLRExtProc)
      (SID = ORCL)
      (PRESENTATION = RO)
    )
  )

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

Os firewalls em ambos os computadores estão fechados. Eles podem pingar uns aos outros com sucesso. Eu também tentei isso em cmd no cliente PC : telnet 192.168.1.100 1521 , que também está conectado com sucesso.

Mas ele falha quando tento conectar o banco de dados do servidor PC usando cliente PC com o PL / SQL Developer. Isso me dá: ORA-12541: TNS:no listener . Alguém poderia me dar algumas sugestões? Obrigado pela sua atenção.

    
por YQ.Wang 08.06.2018 / 05:22

0 respostas

Tags