cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IO error: the network adapter could not establish connection. Oracle DB to AppDynamics controller

junhyung.kim
Creator

I have configured the DB collector with the Ip address, Service Name, and Listener ports along with a user with required permission. DB is displayed on the controller UI but it isn't sending any data because of an error        "IO error: the network adapter could not establish connection". 

DB is up and running, listener is configured correctly, inbound rule for firewall is allowing port 1521 from the controller but the issue still exists. I tried googling for hours but only things i found were related to Oracle database itself not in regards to DB configuration in AppDynamics. 

 

Thanks in advance.

4 REPLIES 4

junhyung.kim
Creator

Here is the Diagnostics Event

 

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:664) at java.sql.DriverManager.getConnection(DriverManager.java:208) at com.singularity.ee.agent.dbagent.collector.db.relational.DriverManager.getConnection(DriverManager.java:28) at com.singularity.ee.agent.dbagent.collector.db.relational.oracle.OracleCollector.initConnection(OracleCollector.java:40) at com.singularity.ee.agent.dbagent.collector.db.relational.oracle.OracleCollector.initConnection(OracleCollector.java:49) at com.singularity.ee.agent.dbagent.collector.db.relational.ARelationalDBCollector.verifyCollector(ARelationalDBCollector.java:62) at com.singularity.ee.agent.dbagent.collector.db.ADBCollector.collect(ADBCollector.java:145) at com.singularity.ee.agent.dbagent.collector.db.ADBCollector.run(ADBCollector.java:133) at com.singularity.ee.util.javaspecific.scheduler.AgentScheduledExecutorServiceImpl$SafeRunnable.run(AgentScheduledExecutorServiceImpl.java:122) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at com.singularity.ee.util.javaspecific.scheduler.ADFutureTask$Sync.innerRunAndReset(ADFutureTask.java:335) at com.singularity.ee.util.javaspecific.scheduler.ADFutureTask.runAndReset(ADFutureTask.java:152) at com.singularity.ee.util.javaspecific.scheduler.ADScheduledThreadPoolExecutor$ADScheduledFutureTask.access$101(ADScheduledThreadPoolExecutor.java:119) at com.singularity.ee.util.javaspecific.scheduler.ADScheduledThreadPoolExecutor$ADScheduledFutureTask.runPeriodic(ADScheduledThreadPoolExecutor.java:206) at com.singularity.ee.util.javaspecific.scheduler.ADScheduledThreadPoolExecutor$ADScheduledFutureTask.run(ADScheduledThreadPoolExecutor.java:236) at com.singularity.ee.util.javaspecific.scheduler.ADThreadPoolExecutor$Worker.runTask(ADThreadPoolExecutor.java:694) at com.singularity.ee.util.javaspecific.scheduler.ADThreadPoolExecutor$Worker.run(ADThreadPoolExecutor.java:726) at java.lang.Thread.run(Thread.java:745) 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) ... 22 more Caused by: java.net.SocketTimeoutException: connect timed out at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) 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) ... 27 more

Have you verified that you are able to reach the Oracle database host/port from the server where database agent is installed.

You can find more information about network requirements here.

https://docs.appdynamics.com/display/PRO44/Database+Visibility+System+Requirements#DatabaseVisibilit...

Thanks for the response.

 

So right now I have the agent installed on the same server as DB.

 

Controller-info.xml is configured and port 1521 is allowed from AppDynamics Controller IP address to DB.

 

On the controller side, I have specified DB type, Name, DB IP address, Service Name, Listener port and UN/PW configured per AppDynamics documentation.

 

Is it necessary to install the agent on different server than the DB itself? or can there be other issue that's causing the connectivity issue?

 

Please let me know if you need more information.

 

Regards,

Mamed.Shahmaliyev
New Member
Most probably you have listener configured wrongly, the hostname you specify in connection string must be the same as in the listener.

https://www.youtube.com/watch?v=pMQXVihgrrE&t=212s

https://adhoctuts.com/fix-oracle-io-error-the-network-adapter-could-not-establish-the-connection-err...