Remote connection to oracle database running on a docker container from outside the docker's host machine

Viewed 1565

I have been recently trying to set up an Oracle Database Server 12c R2 using its official docker images from this website, and I've successfully run a container from that image and connected to the database both from the inside of the container and its outside (from the docker host machine). The docker host machine is a VPS (ubuntu 16.04), and I have telnet to the IP/PORT of the database from my laptop (centos 7), but I'm not able to connect to the database using sqlplus command. The tnsnames.ora file is something like this:

ORCLCDB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 217.182.235.26)(PORT = 32756)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCLCDB.localdomain)))
ORCLPDB1 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 217.182.230.21)(PORT = 32756)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCLPDB1.localdomain)))

and the listener.ora is like this:

LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 217.182.235.26)(PORT = 32756)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))))
DIAG_ADR_ENABLED = off
SSL_VERSION = 1.0

and the command that I'm using to connect from my local machine is:

sqlplus64 UI_TEST/ut@217.182.235.26:32756/ORCLCDB.localdomain

But I get ORA-12537: TNS:connection closed

What is the problem? What am I missing?

1 Answers

There can be various possible reasons for the error you are observing. Can you check if any of these solutions lands you to success.

Also worth checking if you can map a host port to dockerised listener port, therein making a tunneling mechanism to get your connections passed in.

Related