The documentation for the ANALYZE statement (in 7.3 and 8.0) clearly
indicates that it should not be used on the data dictionary tables. I
presume Oracle Corporation specifically means that ANALYZE should not be
executed on any table, index, or cluster in the "SYS" schema.
However, I have not been able to find any official reference material
that specifically explains what bad things will happen and why they will
happen when ANALYZE is executed on the "SYS" tables. Can anyone point me to
some Oracle documentation or a white paper that explains this? Or at least
explain the specifics of what would go awry.
In an earlier thread in this newsgroup, someone mentioned that it was
okay to execute the "dbms_utility.analyze_schema('SYS', 'COMPUTE')" packaged
procedure, because it had intelligence built in such that it would not do
those bad things to the "SYS" schema that ANALYZE would do. This sounds
like a great approach. But, again, does Oracle have any official
documentation or a white paper that explains this?
----
Vic Thomas
Database Administrator
Associated Software Consultants