Job Search

Sunday, March 6, 2016

Minimizing Dependent Recompilations Oracle Database 11g


  • Adding a column to a table does not invalidate its dependent objects.
  • Adding a PL/SQL unit to a package does not invalidate dependent objects.
  • Fine-grain dependencies are tracked automatically.
  • No configuration is required.

Earlier Oracle Database releases record dependency metadata—for example, that PL/SQL unit P depends on PL/SQL unit F, or that the V view depends on the T table—with the precision of the whole object. This means that dependent objects are sometimes invalidated without logical requirement. 

Starting with Oracle Database 11g, we have access to records that describe more precise dependency metadata. This is called fine-grain dependencies and it is on automatically.

For example, if the V view depends only on the A and B columns in the T table, and column D is added to the T table, the validity of the view is not logically affected.
Nevertheless, before Oracle Database, Release 11.1, the V view is invalidated by the addition of the D column to the T table. With Oracle Database, Release 11.1, adding the D column to the T table does not invalidate the V view. Similarly, if procedure P depends only on elements E1 and E2 within a package, adding the E6 element (to the end of a package to avoid changing slot numbers or entry point numbers of existing top-level elements) to the package does not invalidate the P procedure.

Reducing the invalidation of dependent objects in response to changes to the objects on which they depend increases application availability, both in the development environment and during online application upgrade.


I hope you all have enjoyed reading this article. Comments are welcome....

No comments:

Post a Comment