From:Steve Adams
Date:08-Sep-2000 09:33
Subject:   20 invalidations per hour

Try using the APT script whence_invalidations.sql to find out which objects have been "changed" so as to cause these invalidations. If the invalidations are from tables that are snapshot masters, then you could be hitting bug 1348501 introduced at 8.1 in which snapshot refresh operations cause all SQL against the master table to be invalidated (discovered by yours truly). There is a patch for this bug, but you need to be at 8.1.6.2 to apply it. However, 20 invalidations per hour is probably not enough of a performance problem to bother applying a patch for.

Can anything else cause an invalidation besides changes in underlying objects, roles, synonyms, etc? A function we are running as part of a third party package is showing numerous invalidations in v$sqlarea (10-20/hour). There is no chance that underlying objects are being changed at anything near this rate (I checked dba_objects.last_DDL for the objects in dba_dependencies, though there could be other possibilities). This function also has numerous reloads, so I am in the process of increasing the shared_pool size, but I don't see that this is related to the invalidations. I am concerned that there is more going on here. Thanks for any help.