


APPLIES TO:Oracle Applications Utilities - Version 11.5.10.2 to 12.1.3 [Release 11.5.10 to 12.1]IBM AIX on POWER Systems (64-bit) IBM AIX Based Systems (64-bit) AIX5L Based Systems (64-bit) Checked for relevance on June 4th, 2018 SYMPTOMS
All the JDBC Thin Client connections from E-Business Suite are waiting long and then failing with error :
...
java.sql.SQLException: Io exception: There is no process to read data written to a pipe.
...
SQL*Plus connections are working fine.
CAUSEThis issue is usually caused by "TimeOut" issue under the following levels :Please test the JDBC connection using the following code :1. Firewall level timeout
//=======================================================
// Test Code: cut from here //======================================================= import java.sql.*; class oraConn { public static void main (String args []) throws SQLException { try { DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); java.util.Properties ora_property = new java.util.Properties(); Connection conn = DriverManager.getConnection("jdbc:oracle:thin:apps/<passwd>@<host>.<domain>:<port>:<SID>"); Statement stmt = conn.createStatement(); ResultSet rset = stmt.executeQuery("select user from dual"); while (rset.next()) System.out.println(rset.getString(1)); } catch (SQLException ex) { // A SQLException was generated. Catch it and // display the error information. Note that there // could be multiple error objects chained // together. System.out.println ("\n*** SQLException caught ***\n"); // Walk through the list of SQL exceptions and print // each SQL exception's information while (ex != null) { System.out.println ("SQLState: " + ex.getSQLState ()); System.out.println ("Message: " + ex.getMessage ()); System.out.println ("Vendor: " + ex.getErrorCode ()); ex.printStackTrace(); ex = ex.getNextException (); System.out.println (""); } } } } //======================================================= // End-of-Code //======================================================= Check if it is able to create a JDBC connection on the server. Monitor it with :
SQL> SELECT sid, serial#, logon_time, program
FROM v$session WHERE program LIKE 'JDBC%'; Check if the test code returns following error after the above session gets killed : ... *** SQLException caught *** SQLState: null Message: Io exception: There is no process to read data written to a pipe. Vendor: 17002 java.sql.SQLException: Io exception: There is no process to read data written to a pipe. at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:334) at oracle.jdbc.ttc7.TTC7Proto .handleIOException(TTC7Protocol.java:3664) at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:353) at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:371) at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:551) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:351) at java.sql.DriverManager.getConnection(DriverManager.java:559) at java.sql.DriverManager.getConnection(DriverManager.java:211) at oraConn.main(oraConn.java:9) ... SOLUTIONTo implement the solution, please execute the following steps :1. Unset any timeout value at network level or firewall level, if any. 2. Modify timeout settings : listener.ora :
sqlnet.ora :
3. Re-start the Database and the DB Listener 4. Retest the issue 5. Migrate the solution to appropriate Environment | ![]() | ![]()
|
Database Options/Management Packs Usage Report You can determine whether an option is currently in use in a database by running options_pa...
No comments:
Post a Comment