ALTER PROCEDURE (External Form) enables you to control whether an existing external procedure can be executed directly or indirectly as a separate process by the database. As a general rule, you should only permit a function to run in direct execution mode after is has been thoroughly debugged. When you create a new external procedure, it executes indirectly in protected execution mode by default (see CREATE PROCEDURE and REPLACE PROCEDURE (External Form)).
ALTER PROCEDURE (External Form) also allows you to recompile or relink an external procedure and redistribute it (and its associated JAR file if the external routine is written in Java) using the COMPILE option. This option is primarily intended for use by DBAs to recompile existing procedures that have been moved to another platform, system, or restored database.