EXPERT RESPONSE
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.
|