Sou relativamente novo na Oracle, então, por favor, tenha paciência comigo.
Eu quero instalar um DBMS Oracle 18c XE em um servidor e acessar seus bancos de dados remotamente via DBeaver. Em primeiro lugar, há alguma confusão sobre qual cliente usar.
Até agora eu li a documentação e foi isso que encontrei sobre encontrar um cliente:
Software Cliente Oracle
O computador remoto deve ter o software cliente Oracle instalado. É por meio do software cliente Oracle que os utilitários de linha de comando Oracle (e seus aplicativos) se conectam ao banco de dados. O Oracle Database XE > aceita conexões de todos os seguintes tipos de software cliente Oracle:
- Cliente Oracle Database Express Edition (Oracle Database XE)
Quando você instala o Oracle Database XE, o Oracle Database Express Edition Client também é instalado >no mesmo computador. Você pode instalar o Oracle Database XE separadamente em computadores remotos. Está disponível em
http://www.oracle.com/technetwork/database/express-edition/Abre uma nova janela
- Instant Client
O Instant Client está disponível em
http://www.oracle.com/technetwork/database/features/instant-client/index-100365.htmlAbre uma nova janela Software cliente Oracle para Oracle Database Enterprise Edition ou Standard Edition (todas as versões suportadas do Oracle Database)
- Todos os softwares cliente Oracle incluem o Oracle Net, que é o software de rede Oracle que permite que >clientes >aplicativos em um computador se conectem a bancos de dados em outro computador em uma rede.
Pergunta 1: Como não vou acessar os bancos de dados programaticamente e realmente quero usar uma GUI ou SQLPLUS, isso significa que tenho que instalar totalmente o Oracle 18c XE em todos os clientes?
Para fins de teste, configurei dois dispositivos:
- Device1 - instalação privada do Oracle 19c (IP: 192.168.178.201)
- Device2 - futuro servidor com instalação do Oracle 18c XE (IP: 192.168.178.54)
O dispositivo1 está conectado à rede 192.168.178.0 via vpn e ambos os dispositivos podem fazer ping um no outro.
Agora, do meu entendimento, eu deveria apenas configurar minha conexão de cliente DBeaver assim:
Mas a conexão expira...
Pergunta 2: Minha configuração do tsnames.ora e listener.ora está errada?
tsnames.ora:
# tnsnames.ora Network Configuration File: C:\app\install\product\18.0.0\dbhomeXE\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.178.54)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)
XEPDB1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.178.54)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = xepdb1)
)
)
LISTENER_XE =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.178.54)(PORT = 1521))
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
listener.ora
# listener.ora Network Configuration File: C:\app\install\product\18.0.0\dbhomeXE\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.
DEFAULT_SERVICE_LISTENER = XE
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\app\install\product\18.0.0\dbhomeXE)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:C:\app\install\product\18.0.0\dbhomeXE\bin\oraclr18.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.178.54)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
Você só deve instalar software de servidor (ou seja, Oracle 18c XE) no servidor. Você deve instalar o software cliente (ou seja, Instant Client ou cliente OCI completo) em qualquer outro lugar. Embora o software do servidor inclua o cliente, ele é destinado ao acesso local ou para permitir que os servidores conversem entre si. Não há necessidade (na verdade, todos os motivos para não ) instalar o servidor XE completo em cada host cliente.
Para os arquivos de configuração de rede do servidor, os padrões associados a uma configuração XE devem ser adequados. A única coisa que você precisa verificar é se você não tem um firewall bloqueando o acesso à porta do servidor (1521 por padrão) para clientes remotos.