We have an Idempiere 4.1 install, running with Oracle DB 11.
Our idempiere logs registered many times the error:
-----------> StatementUtils.log: Statement close FAILED. 
java.sql.SQLRecoverableException: Closed Connection; State=08003; ErrorCode=17008
Searching in the web, found a solution in c3p0 documentation with a not mapped by Idempiere param: statementCacheNumDeferredCloseThreads
You can get more information about this at:
So, as discussed with Carlos on skype, we added the treatment to this parameter in the class org.compiere.db.DB_Oracle, and generate a patch with the c3p0 recomendation.
But, in our case, the log continue to write the warning. We obtain the best results with the combination with the patch and changing the properties (IdleConnectionTestPeriod, MaxIdleTimeExcessConnections and MaxIdleTime) in pool.properties file to lower values.
The default to zero introduced here created a problem with the default number of open cursors that oracle allows (300).
Pack In of big files is broken with:
ORA-01000: maximum open cursors exceeded