Почему команда utplsql-cli выдает ошибку с пулом Hikari только после команд sqlplus? - PullRequest
0 голосов
/ 10 июня 2019

при выполнении команды utplsql-cli я успешно подключился к БД, и все тесты были выполнены.К сожалению, при выполнении любых команд sqlplus ранее, utplsql-cli выдает ошибку:

Successfully connected to database. UtPLSQL core: v3.1.6.2735
07:23:30 Oracle-Version: 12.2.0.1.0
07:23:31 HikariPool-1 - Failed to validate connection oracle.jdbc.driver.T4CConnection@2906d865 (IO Error: Invalid Operation, NOT Connected). Possibly consider using a shorter maxLifetime value.
07:23:31 HikariPool-1 - Failed to validate connection oracle.jdbc.driver.T4CConnection@48503868 (IO Error: Invalid Operation, NOT Connected). Possibly consider using a shorter maxLifetime value.
07:23:31 HikariPool-1 - Failed to validate connection oracle.jdbc.driver.T4CConnection@1deb2d37 (IO Error: Invalid Operation, NOT Connected). Possibly consider using a shorter maxLifetime value.
07:23:31 Running tests now.
07:23:31 --------------------------------------
07:23:31 TestRunner initialized
07:23:31 HikariPool-1 - Connection oracle.jdbc.driver.T4CConnection@51fa7b37 marked as broken because of SQLSTATE(08006), ErrorCode(17002)
07:23:31 java.sql.SQLRecoverableException: IO Error: Operation interrupted
07:23:31    at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:761)
07:23:31    at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:904)
07:23:31    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1082)
07:23:31    at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3780)
07:23:31    at oracle.jdbc.driver.T4CPreparedStatement.executeInternal(T4CPreparedStatement.java:1343)
07:23:31    at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3822)
07:23:31    at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1165)
07:23:31    at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52)
07:23:31    at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java)
07:23:31    at org.utplsql.api.db.DefaultDatabaseInformation.getUtPlsqlFrameworkVersion(DefaultDatabaseInformation.java:15)
07:23:31    at org.utplsql.api.compatibility.CompatibilityProxy.doCompatibilityCheckWithDatabase(CompatibilityProxy.java:65)
07:23:31    at org.utplsql.api.compatibility.CompatibilityProxy.<init>(CompatibilityProxy.java:53)
07:23:31    at org.utplsql.api.TestRunner.run(TestRunner.java:155)
07:23:31    at org.utplsql.cli.RunTestRunnerTask.call(RunTestRunnerTask.java:40)
07:23:31    at org.utplsql.cli.RunTestRunnerTask.call(RunTestRunnerTask.java:22)
07:23:31    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
07:23:31    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
07:23:31    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
07:23:31    at java.lang.Thread.run(Thread.java:748)
07:23:31 Caused by: java.io.InterruptedIOException: Operation interrupted
07:23:31    at oracle.net.nt.TimeoutSocketChannel.handleInterrupt(TimeoutSocketChannel.java:311)
07:23:31    at oracle.net.nt.TimeoutSocketChannel.write(TimeoutSocketChannel.java:221)
07:23:31    at oracle.net.ns.NIOPacket.writeToSocketChannel(NIOPacket.java:211)
07:23:31    at oracle.net.ns.NIONSDataChannel.writeDataToSocketChannel(NIONSDataChannel.java:181)
07:23:31    at oracle.net.ns.NIONSDataChannel.writeDataToSocketChannel(NIONSDataChannel.java:132)
07:23:31    at oracle.jdbc.driver.T4CMAREngineNIO.prepareForReading(T4CMAREngineNIO.java:96)
07:23:31    at oracle.jdbc.driver.T4CMAREngineNIO.unmarshalUB1(T4CMAREngineNIO.java:534)
07:23:31    at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:485)
07:23:31    at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:252)
07:23:31    at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:612)
07:23:31    at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:226)
07:23:31    at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:59)
07:23:31    at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:747)
07:23:31    ... 18 common frames omitted
07:23:31 IO Error: Operation interrupted
07:23:31 java.sql.SQLRecoverableException: IO Error: Operation interrupted
07:23:31    at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:761)
07:23:31    at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:904)
07:23:31    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1082)
07:23:31    at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3780)
07:23:31    at oracle.jdbc.driver.T4CPreparedStatement.executeInternal(T4CPreparedStatement.java:1343)
07:23:31    at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3822)
07:23:31    at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1165)
07:23:31    at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52)
07:23:31    at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java)
07:23:31    at org.utplsql.api.db.DefaultDatabaseInformation.getUtPlsqlFrameworkVersion(DefaultDatabaseInformation.java:15)
07:23:31    at org.utplsql.api.compatibility.CompatibilityProxy.doCompatibilityCheckWithDatabase(CompatibilityProxy.java:65)
07:23:31    at org.utplsql.api.compatibility.CompatibilityProxy.<init>(CompatibilityProxy.java:53)
07:23:31    at org.utplsql.api.TestRunner.run(TestRunner.java:155)
07:23:31    at org.utplsql.cli.RunTestRunnerTask.call(RunTestRunnerTask.java:40)
07:23:31    at org.utplsql.cli.RunTestRunnerTask.call(RunTestRunnerTask.java:22)
07:23:31    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
07:23:31    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
07:23:31    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
07:23:31    at java.lang.Thread.run(Thread.java:748)
07:23:31    Suppressed: java.sql.SQLRecoverableException: Closed Connection
07:23:31        at oracle.jdbc.driver.PhysicalConnection.needLine(PhysicalConnection.java:3247)
07:23:31        at oracle.jdbc.driver.OracleStatement.closeOrCache(OracleStatement.java:1392)
07:23:31        at oracle.jdbc.driver.OracleStatement.close(OracleStatement.java:1375)
07:23:31        at oracle.jdbc.driver.OracleStatementWrapper.close(OracleStatementWrapper.java:119)
07:23:31        at oracle.jdbc.driver.OraclePreparedStatementWrapper.close(OraclePreparedStatementWrapper.java:96)
07:23:31        at com.zaxxer.hikari.pool.ProxyStatement.close(ProxyStatement.java:76)
07:23:31        at org.utplsql.api.db.DefaultDatabaseInformation.getUtPlsqlFrameworkVersion(DefaultDatabaseInformation.java:22)
07:23:31        ... 9 more
07:23:31 Caused by: java.io.InterruptedIOException: Operation interrupted
07:23:31    at oracle.net.nt.TimeoutSocketChannel.handleInterrupt(TimeoutSocketChannel.java:311)
07:23:31    at oracle.net.nt.TimeoutSocketChannel.write(TimeoutSocketChannel.java:221)
07:23:31    at oracle.net.ns.NIOPacket.writeToSocketChannel(NIOPacket.java:211)
07:23:31    at oracle.net.ns.NIONSDataChannel.writeDataToSocketChannel(NIONSDataChannel.java:181)
07:23:31    at oracle.net.ns.NIONSDataChannel.writeDataToSocketChannel(NIONSDataChannel.java:132)
07:23:31    at oracle.jdbc.driver.T4CMAREngineNIO.prepareForReading(T4CMAREngineNIO.java:96)
07:23:31    at oracle.jdbc.driver.T4CMAREngineNIO.unmarshalUB1(T4CMAREngineNIO.java:534)
07:23:31    at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:485)
07:23:31    at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:252)
07:23:31    at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:612)
07:23:31    at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:226)
07:23:31    at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:59)
07:23:31    at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:747)
07:23:31    ... 18 more

Когда я изменил параметр maxLifeTime внутри инструмента utplsql-cli на '0', тогда:

HikariPool-1 - Exception during pool initialization.
11:12:44 java.sql.SQLRecoverableException: IO Error: The Network Adapter could not establish the connection

У вас есть идеи, как это исправить?Я думал о долгоживущих сеансах, выполняемых командами sqlplus, но я проверил это, используя представление V $ SESSION.Все соединения были закрыты.

Заранее спасибо, Przemek

...