In previous releases, metadata recorded mutual dependencies between objects with the granularity of the whole object.
For example:
PL/SQL unit P depends on PL/SQL unit Q or that view V depends on table T. This means that dependent objects were sometimes invalidated when there was no logical requirement to do so. For example, if view V depends only on columns C1, C2, and C3 in table T and a new column, C99, is added, the validity of view V is not logically affected. Nevertheless, in earlier releases, V was invalidated by the addition of column C99.
Oracle Database 11g records dependency metatdata at a finer level of granularity so that the addition of C99 does not invalidate view V. Similarly, if procedure P depends only on elements E1 and E2 in package PKG, then if element E99 is added to PKG, procedure P is not invalidated. (In Oracle Database 10g, this change to PKG would invalidate procedure P.)
By reducing the consequential invalidation of dependent objects in response to changes in the objects they depend upon, application availability is dramatically increased. The benefit is felt both in the development environment and when a deployed application is patched or upgraded. The benefit occurs when an Oracle Database patchset is applied because changes to schema objects are required to be compatible and, therefore, will not now cause consequential invalidations.
Source:Extracted from Oracle White Paper
1 response so far ↓
1 Guido Leenders // Apr 11, 2008 at 2:29 pm
This is definitely a big progress. It could also considerably reduce efforts for impact analysis when only code is available. User_dependencies seems not to have been enhanced to allow easy query retrieval of this additional information.
Any suggestions what other datadictionary views might be used?
Leave a Comment