When the parameter SP_OCT_REPLICATE_ALL_DDL is set to 1, then Shareplex replicates certain DDLs executed on source, even if they are on non-replicating objects. Such DDL are termed as 9i Supported DDL. While it replicates CREATE, ALTER and DROP on procedural objects such as procedures, functions, etc, it does not replicate the EXECUTE commands on these. This solution delves on why the EXECUTE has been excluded from the supported commands.
General information.
Commands that are executed on source due to successful execution of the procedure may be replicated across to the target because of enabling of 9i Supported DDL, or because of the way Shareplex replicates changes to the objects in replication. One such example is a DML done on the replicating table. Now, if the EXECUTE on the procedure was replicated, the same DML may be attempted on target by virtue of the running of procedure on target. Such duplication of command can cause a false or true out of sync. Such side effects can happen on several other actions of procedure, for example a drop user on source also replicating to target and Shareplex trying to drop the user twice, once due to procedure also executing on target and due to the replication of DROP USER because of 9i Supported DDL replication.