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.