How to resolve connection issues in JDBC to Oracle (2 specific examples)Issue Symptoms Issue 1: 06/17/19 11:57:02 (149) Worker-Standard:JDBCProbe-fb12d7d6db8e37402cc2105f689619d2 Worker starting: JDBCProbe source: c9bb7ee2db09ff002cc2105f68961923 06/17/19 11:57:03 (040) Worker-Standard:JDBCProbe-fb12d7d6db8e37402cc2105f689619d2 Waiting for connection semaphore 06/17/19 11:57:03 (040) Worker-Standard:JDBCProbe-fb12d7d6db8e37402cc2105f689619d2 Obtained connection semaphore 06/17/19 11:57:03 (149) Worker-Standard:JDBCProbe-fb12d7d6db8e37402cc2105f689619d2 SEVERE *** ERROR *** java.sql.SQLRecoverableException: IO Error: Connection resetoracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:467)oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:546)oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:236)oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521)java.sql.DriverManager.getConnection(DriverManager.java:664)java.sql.DriverManager.getConnection(DriverManager.java:208)com.service_now.mid.connections.jdbc.JDBCConnection.establishConnection(JDBCConnection.java:102)com.service_now.mid.connections.jdbc.JDBCConnection.connect(JDBCConnection.java:74)com.service_now.mid.connections.jdbc.JDBCConnectionFactory.create(JDBCConnectionFactory.java:65)com.service_now.mid.connections.ConnectionCachePool.getAvailableConnection(ConnectionCachePool.java:82)com.service_now.mid.connections.ConnectionCache.get(ConnectionCache.java:94)com.service_now.mid.probe.JDBCProbe.getJDBCConnection(JDBCProbe.java:769)com.service_now.mid.probe.JDBCProbe.probe(JDBCProbe.java:117)com.service_now.mid.probe.AProbe.process(AProbe.java:96)com.service_now.mid.queue_worker.AWorker.runWorker(AWorker.java:125)com.service_now.mid.queue_worker.AWorkerThread.run(AWorkerThread.java:20)java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)java.lang.Thread.run(Thread.java:748) 06/17/19 11:57:03 (149) Worker-Standard:JDBCProbe-fb12d7d6db8e37402cc2105f689619d2 Detect JDBCConnection interrupted. Retry: 1 of 3 06/17/19 11:57:04 (149) Worker-Standard:JDBCProbe-fb12d7d6db8e37402cc2105f689619d2 Waiting for connection semaphore 06/17/19 11:57:04 (149) Worker-Standard:JDBCProbe-fb12d7d6db8e37402cc2105f689619d2 Obtained connection semaphore 06/17/19 11:57:04 (196) Worker-Standard:JDBCProbe-fb12d7d6db8e37402cc2105f689619d2 SEVERE *** ERROR *** java.sql.SQLRecoverableException: IO Error: Connection reset Issue 2: java.sql.SQLException: IO Error: An existing connection was forcibly closed by the remote host. Connection lapse 31 ms. Authentication lapse 0 ms. ReleaseThis issue was seen on London with Oracle JDBC connection but can happen on other ServiceNow releases with Oracle JDBC as well.CauseIssue 1: This connection reset error was caused by an incompatibility between the Oracle server and the JDBC driver used. Issue 2: The connection was forcibly closed because the Connection URL used to connect to the Oracle server via the MID Server was missing the required parameters.ResolutionIssue 1: The JRE installed with the London Mid Server was using the ojdbc6.jar file. The 'connection reset' error no longer happens with the ojdbc8.jar. Issue 2: To change the connection URL parameters, go to your datasource record and right click on the header and chose Configure > Form Layout. Add the Connection URL field to your form. While the Connection URL is automatically created from the content of Format, Database Name, and Database Port and Server, you can overwrite this default connection URL with any required connection string that your database administrators provided. For example: jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)(HOST=myOracle)(PORT=9999))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORADATA))) instead of jdbc:oracle:thin:@myOracle:9999:ORADATARelated LinksIt is most helpful to involve the database administrators to determine which JAR and connection string to use.