PL/SQL User's Guide and Reference

Contents Index Home Previous Next

New Remote Dependency Mode

Formerly, Oracle used only timestamps to manage remote dependencies among PL/SQL library units (packages and stored subprograms). Whenever a library unit was recompiled, the server timestamped it. At run time, dependent subprograms on a client system or on another server were invalidated because their timestamps were no longer current. Often, the resulting recompilations were needless because the specification of the library unit had not been altered.

Needless recompilations can slow network traffic and affect performance. Furthermore, if a client system has no PL/SQL compiler, invalidated applications cannot be recompiled.

Now, Oracle can use timestamps or signatures to manage remote dependencies. (The signature of a subprogram includes its name and the number, datatypes, and modes of its parameters.) When Oracle uses the signature of a remote library unit, dependent subprograms are invalidated only if the signature or specification of the unit was altered. So, dependent subprograms are recompiled only when necessary.

To have Oracle use signatures instead of timestamps, you set the following parameter in the Oracle initialization file:

REMOTE_DEPENDENCIES_MODE = SIGNATURE

You can reset the parameter dynamically, as the following Pro*C example shows:

EXEC SQL ALTER SESSION 
   SET REMOTE_DEPENDENCIES_MODE = TIMESTAMP;

For more information, see Oracle7 Server Application Developer's Guide.


Contents Index Home Previous Next