This forum is a good source of help. It's generally best for more general questions or easy to reproduce issues. More specific or difficult to debug issues are better handled by Oracle Support generally. I would contact them, especially if you have an urgent issue.
For this specific issue, we can try to understand what the root cause is. I had several questions to see if we can do that:
1) What is the operation that encounters the "Network Session : End of File" exception?
2) What is the exception call stacks obtained?
3) Is "Network Session : End of File" exception the only exception seen? If not, what are the exception message and exception callstack of all the other issues observed?
4) Did any DB errors occur simultaneously? If so, what were they?
5) What ODP.NET version (DB 12c, ODAC 12c, 12c patch) and what DB version do you use?
sorry for the delay but we decided to install a new Oracle database server on Oracle Enterprise Linux and see if the problem also occurs there.
Unfortunately it does.
Here my answers to your questions:
1,2,3: We receive the following exception when we try to connect to the database after restarting our application because it is not able to get data from the database any longer.
When the problems with the database start we do not get any other exceptions it just seems that those function calls do not return.
Oracle.ManagedDataAccess.Client.OracleException (0x80004005): Netzwerksession: Dateiende ---> OracleInternal.Network.NetworkException (0x000030F9): Netzwerksession: Dateiende
bei OracleInternal.Network.ReaderStream.Read(OraBuf OB)
bei OracleInternal.TTC.OraBufReader.Read(Boolean bIgnoreData)
bei OracleInternal.TTC.MarshallingEngine.UnmarshalUB1(Boolean bIgnoreData)
bei Oracle.ManagedDataAccess.Client.OracleException.HandleError(OracleTraceLevel level, OracleTraceTag tag, Exception ex)
bei OracleInternal.ServiceObjects.OracleConnectionImpl.Connect(ConnectionString cs, Boolean bOpenEndUserSession)
bei OracleInternal.ConnectionPool.PoolManager`3.CreateNewPR(Int32 reqCount, Boolean bForPoolPopulation, ConnectionString csWithDiffOrNewPwd)
bei OracleInternal.ConnectionPool.PoolManager`3.Get(ConnectionString csWithDiffOrNewPwd)
bei OracleInternal.ConnectionPool.OraclePoolManager.Get(ConnectionString csWithNewPassword)
bei OracleInternal.ConnectionPool.OracleConnectionDispenser`3.Get(ConnectionString cs, PM conPM, ConnectionString pmCS, SecureString securedPassword, SecureString securedProxyPassword)
4: What information do you exactly need and where can I get it?
5: We are using Oracle.ManagedDataAccess.dll (V220.127.116.11) together with the O/R-Mapper BLToolkit to communicate with the database.
we are using at the moment the following connection string:
Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.0.99.244)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl)));User Id=mlog;Password=xxxxxxxxxxx;"
I could mail you the alert log and trace files (approx. 300kb) if you want. We did not find any messages about time-outs.
We figured out that we did not use the ODAC version of the Oracle.ManagedDataAccess.dll up to now.
We downloaded this version today and will now start testing with this version.
You can email the log and trace files to firstname.lastname@example.org. Let me know how the ODAC version of managed ODP.NET works. It contains a number of bug fixes that the Oracle DB Client version does not have.