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.