ORA-00604 error occurred at recursive SQL level 1
Could you please tell me why this error comes, when it can come and what can be the probable solutions?
Whenever you issue a query, the system must issue queries in the background to determine many things, such as "do you have permissions to perform the query?", "does the object you are accessing exist?". These queries that the system issues are called "recursive SQL". Sometimes, a recursive SQL statement needs recursive SQL of it's own. So these recursive SQL statements are at another level, level 2.
You won't see recursive SQL statements in SQL*Plus. The best way to see them is by starting a trace in the session. Start up SQL*Plus, then issue the following:
ALTER SESSION SET sql_trace=TRUE;Then run your process until it bombs out. Go ahead and exit SQL*Plus. Now go to your USER_DUMP_DEST directory. A trace file will have been generated for you. Look in the trace file for any ORA errors. This is the root cause of your problem. Correcting this ORA error will stop the ORA-600 error from occuring.
Most ORA-600 errors can be fixed by signing on as SYS and running CATALOG and CATPROC from ORACLE_HOME/rdbms/admin.
For More Information
- What do you think about this answer? E-mail the editors at editor@searchDatabase.com with your feedback.
- The Best Oracle Web Links: tips, tutorials, scripts, and more.
- Have an Oracle or SQL tip to offer your fellow DBAs and developers? The best tips submitted will receive a cool prize. Submit your tip today!
- Ask your technical Oracle and SQL questions -- or help out your peers by answering them -- in our live discussion forums.
- Ask the Experts yourself: Our SQL, database design, Oracle, SQL Server, DB2, metadata, object-oriented and data warehousing gurus are waiting to answer your toughest questions.
This was first published in April 2002