0

Im fairly new to Oracle so please bear with me.

I want to install an Oracle 18c XE DBMS on a server and access it's databases remotely via DBeaver. First of all there is some confusion on which client to use.

So far I've read the documentation and this is what I found regarding finding a client:

Oracle Client Software

The remote computer must have Oracle client software installed. It is through Oracle client software >that Oracle command-line utilities (and your applications) connect to the database. Oracle Database XE >accepts connections from all of the following types of Oracle client software:

  • Oracle Database Express Edition Client (Oracle Database XE)

When you install Oracle Database XE, Oracle Database Express Edition Client is also installed on the >same computer. You can install Oracle Database XE separately on remote computers. It is available at

http://www.oracle.com/technetwork/database/express-edition/Opens a new window

  • Instant Client

Instant Client is available at

http://www.oracle.com/technetwork/database/features/instant-client/index-100365.htmlOpens a new window Oracle client software for Oracle Database Enterprise Edition or Standard Edition (all supported >releases of Oracle Database)

  • All Oracle client software includes Oracle Net, which is the Oracle network software that enables >client >applications on one computer to connect to databases on another computer over a network.

Question 1: Since Im not going to access the databases programmatically and actually want to use a GUI or SQLPLUS, does that mean I have to fully install Oracle 18c XE on all clients?

For testing purposes I have set up two devices:

  • Device1 - private installation of Oracle 19c (IP: 192.168.178.201)
  • Device2 - future server with an installation of Oracle 18c XE (IP: 192.168.178.54)

Device1 is connected with network 192.168.178.0 via vpn and both devices can ping each other.

Now from my understanding I should only have to configure my DBeaver client connection like this: enter image description here

But the connection times out...

Question 2: Is my configuration of the tsnames.ora and listener.ora wrong?

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))
    )
  )

1 Answer 1

1

You should only install server software (i.e. Oracle 18c XE) on the server. You should install client software (i.e. Instant Client or full OCI Client) everywhere else. While the server software includes the client, it is intended for local access, or to allow servers to talk to each other. There is no need to (indeed every reason not to) install the full XE server on every client host.

For your server network configuration files, the defaults associated with an XE setup should be fine. The only thing you'd need to double check is that you don't have a firewall blocking access to the server port (1521 by default) for remote clients.

1
  • I actually figured that out while you typed it... Well I guess sometimes one just needs a bit more time for themselves... Anyway the Solution was a firewall problem. For default settings on port 1521 you have to create a new rule allowing incoming traffic on port 1521 from anywhere. You can either check the connection by using the client OR try to use lsnrctl status on the client. It will deny access due to insufficient privileges. This is because no client should be able to start, stop or status the listener for an entire oracle network... Aug 13, 2020 at 15:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.