3

I'm using the latest version of the provider Oracle.ManagedDataAccess targetting .Net Core. When I execute the following SQL statement under Admin user:

DROP TABLE "MYUSER"."MYTABLE";

It throws this exception:

Oracle.ManagedDataAccess.Client.OracleException: 'ORA-00603: ORACLE server session terminated by fatal error ORA-00600: internal error code, arguments: [2032], [12585499], [12585499], [8192], [219], [255], [0], [56319], [], [], [], []'

Here is the full stackTrace:

Oracle.ManagedDataAccess.Client.OracleException (0x80004005): ORA-00603: ORACLE server session terminated by fatal error ORA-00600: internal error code, arguments: [2032], [12585499], [12585499], [8192], [219], [255], [0], [56319], [], [], [], [] at OracleInternal.ServiceObjects.OracleConnectionImpl.VerifyExecution(Int32& cursorId, Boolean bThrowArrayBindRelatedErrors, SqlStatementType sqlStatementType, Int32 arrayBindCount, OracleException& exceptionForArrayBindDML, Boolean& hasMoreRowsInDB, Boolean bFirstIterationDone) at OracleInternal.ServiceObjects.OracleCommandImpl.ExecuteNonQuery(String commandText, OracleParameterCollection paramColl, CommandType commandType, OracleConnectionImpl connectionImpl, Int32 longFetchSize, Int64 clientInitialLOBFS, OracleDependencyImpl orclDependencyImpl, Int64[]& scnFromExecution, OracleParameterCollection& bindByPositionParamColl, Boolean& bBindParamPresent, OracleException& exceptionForArrayBindDML, OracleConnection connection, OracleLogicalTransaction& oracleLogicalTransaction, Boolean isFromEF) at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteNonQuery() at System.Data.Common.DbCommand.ExecuteNonQueryAsync(CancellationToken cancellationToken)

The exception does not always happen, it is intermittent... I know that this exception means that there is a bug in the Oracle provider. Unfortunately, I do not have Oracle support. Does anyone have an idea why I'm having this exception?

UPDATE

I'm able to get the trace of the error that I get. Here is the link: https://gist.github.com/tanbchr/25a81146af2a9f346cc8c44d6555dc4d

billybob
  • 2,859
  • 6
  • 35
  • 55
  • 2
    An ORA-00600 error is an internal error in the database (it has nothing to do with the provider). That will generate a trace file on the database server that you could look at for more information. If you don't have support, though, it's likely that any investigation would either lead you to an answer that you need to install a particular patch to resolve the known issue or that there is an outstanding bug but that doesn't help you much if you can't access Metalink to use the ORA-00600 lookup tool or download a patch to fix the bug. – Justin Cave Oct 08 '19 at 18:58
  • Why is your application dropping a table in the first place? That's something I've never done in an application so potentially you're doing something in a way that is outside the mainstream and we can help you come up with a different implementation. – Justin Cave Oct 08 '19 at 19:00
  • To answer your second question, we are developing an application that migrates data from any database to any other database. The user can drop its table if he wants to recreate it based on the source table. – billybob Oct 08 '19 at 19:03
  • I will look on google on how to grab the trace file. Do you have a link to suggest? – billybob Oct 08 '19 at 19:04
  • Your alert log will have the full path to the trace file that was generated. You can go through this to find all the trace files (this is version specific so it'll be different if you happen to be on a rather old version of Oracle) https://docs.oracle.com/cd/B28359_01/server.111/b28310/diag006.htm#ADMIN12484 – Justin Cave Oct 08 '19 at 19:21
  • @JustinCave I'm able to get the logs. I attached it to a gist. As you said, since I don't have support, there is nothing that I can do... I updated the question. – billybob Oct 08 '19 at 19:42

0 Answers0