Name

DBMS_DEFER_SYS.EXECUTE

Synopsis

The DBMS_DEFER.CALL procedure, discussed earlier, neither executes nor pushes transactions to the destination databases; it simply queues them. In order to propagate the deferred call to the destinations and to execute it there, you must use the DBMS_DEFER_SYS package’s EXECUTE procedure. EXECUTE forces immediate execution of a deferred transaction from the current master or snapshot site.

PROCEDURE DBMS_DEFER_SYS.EXECUTE
   (destination IN VARCHAR2,
    stop_on_error IN BOOLEAN := FALSE,
    transaction_count IN BINARY_INTEGER := 0,
    execution_seconds IN BINARY_INTEGER := 0,
    execute_as_user IN BOOLEAN := FALSE,
    delay_seconds IN NATURAL := 0,
    batch_size IN NATURAL := 0);

There are no restrictions on calling EXECUTE.

Parameters

Parameter Name

Description

destination

Global name of the destination database.

stop_on_error

If TRUE, execution of queued transactions stops if an error is encountered. If FALSE (the default), execution continues unless destination is unavailable.

transaction_count

If > 0, maximum number of transactions to execute.

execution_seconds

If > 0, maximum number of seconds to spend executing transactions.

execute_as_user

If TRUE, the execution of deferred transactions is authenticated at the remote system using the authentication context of the session user. If FALSE (the default), the execution is authenticated at the remote system using the authentication contexts of the users that originally queued the deferred transactions (indicated in the origin_user ...

Get Oracle Distributed Systems now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.