Я установил Oracle 12c на сервер Windows 2012 и могу подключиться к базе данных, которую я создал с его помощью, с помощью SQL Developer, запущенного на самом сервере. Однако я не могу подключиться к той же базе данных с удаленного компьютера, что я и хотел сделать. Я использую SQuirreL, SQL Developer и даже запускаю код Java для подключения к ящику с внешнего клиента, и время каждой попытки истекает, поэтому я знаю, что у меня правильный URL-адрес подключения (jdbc: oracle: thin: @ 192.168.0.105: 1521: orcl) и что на самом сервере что-то не так.
Есть ли набор инструкций, на которые можно указать мне, чтобы моя база данных была доступна извне?
Вот содержимое моего файла listener.ora на сервере:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\app\dbadmin\product\12.1.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:C:\app\dbadmin\product\12.1.0\dbhome_1\bin\oraclr12.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.105)(PORT = 1521))
)
)
Я получаю следующую ошибку (ошибка тайм-аута, как сказано выше):
java.sql.SQLRecoverableException: IO Error: The Network Adapter could not establish the connection
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:673)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:715)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:385)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:30)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:564)
at java.sql.DriverManager.getConnection(DriverManager.java:571)
at java.sql.DriverManager.getConnection(DriverManager.java:215)
at Launcher.main(Launcher.java:47)
Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection
at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:445)
at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:464)
at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:594)
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:229)
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1360)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:486)
... 7 more
Caused by: java.net.SocketTimeoutException: connect timed out
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:162)
at oracle.net.nt.ConnOption.connect(ConnOption.java:133)
at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:411)
... 12 more
Этот вопрос уже задавали один или два раза в StackOverflow, но я попробовал большинство ответов, которые нашел, и все еще не могу подключиться к своей базе данных Oracle 12c извне. В sql * plus есть несколько команд, которые я пробовал (http://technology.amis.nl/2013/06/26/oracle-12c-getting-started-with-db-express/) безуспешно. Я уверен, что это просто какие-то настройки, такие как брандмауэр или что-то еще в этом роде, но, если возможно, хотел бы получить отзывы от опытных людей.
Любая помощь очень ценится.