Skip Headers

Oracle® Database Advanced Replication Management API Reference
10g Release 1 (10.1)

Part Number B10733-01
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Master Index
Master Index
Go to Feedback page
Feedback

Go to previous page
Previous
Go to current chapter
Up
Go to next page
Next
View PDF

PUSH Function

This function forces a deferred remote procedure call (RPC) queue at your current master site or materialized view site to be pushed (propagated) to a remote site using either serial or parallel propagation.

Syntax

DBMS_DEFER_SYS.PUSH (
   destination          IN  VARCHAR2,
   parallelism          IN  BINARY_INTEGER := 0,
   heap_size            IN  BINARY_INTEGER := 0,
   stop_on_error        IN  BOOLEAN        := false,
   write_trace          IN  BOOLEAN        := false,
   startup_seconds      IN  BINARY_INTEGER := 0,
   execution_seconds    IN  BINARY_INTEGER := seconds_infinity,
   delay_seconds        IN  BINARY_INTEGER := 0,
   transaction_count    IN  BINARY_INTEGER := transactions_infinity,
   delivery_order_limit IN  NUMBER         := delivery_order_infinity)
  RETURN BINARY_INTEGER;

Parameters

Table 14-21 PUSH Function Parameters  
Parameter Description
destination

The fully qualified database name of the master site or master materialized view site to which you are forwarding changes.

parallelism

0 specifies serial propagation.

n > 1 specifies parallel propagation with n parallel processes.

1 specifies parallel propagation using only one parallel process.

heap_size

Maximum number of transactions to be examined simultaneously for parallel propagation scheduling. Oracle automatically calculates the default setting for optimal performance.

Note: Do not set the parameter unless so directed by Oracle Support Services.

stop_on_error

The default, false, indicates that the executor should continue even if errors, such as conflicts, are encountered. If true, then stops propagation at the first indication that a transaction encountered an error at the destination site.

write_trace

When set to true, Oracle records the result value returned by the function in the server's trace file. When set to false, Oracle does not record the result value.

startup_seconds

Maximum number of seconds to wait for a previous push to the same destination.

execution_seconds

If > 0, then stop push cleanly after the specified number of seconds of real time. If transaction_count and execution_seconds are zero (the default), then transactions are executed until there are no more in the queue.

The execution_seconds parameter only controls the duration of time that operations can be started. It does not include the amount of time that the transactions require at remote sites. Therefore, the execution_seconds parameter is not intended to be used as a precise control to stop the propagation of transactions to a remote site. If a precise control is required, use the transaction_count or delivery_order parameters.

delay_seconds

Do not return before the specified number of seconds have elapsed, even if the queue is empty. Useful for reducing execution overhead if PUSH is called from a tight loop.

transaction_count

If > 0, then the maximum number of transactions to be pushed before stopping. If transaction_count and execution_seconds are zero (the default), then transactions are executed until there are no more in the queue that need to be pushed.

delivery_order_limit

Stop execution cleanly before pushing a transaction where delivery_order >= delivery_order_limit

Returns

Table 14-22 PUSH Function Returns  
Value Description
result_ok

OK, terminated after delay_seconds expired.

result_startup_seconds

Terminated by lock timeout while starting.

result_execution_seconds

Terminated by exceeding execution_seconds.

result_transaction_count

Terminated by exceeding transaction_count.

result_delivery_order_limit

Terminated by exceeding delivery_order_limit.

result_errors

Terminated after errors.

result_push_disabled

Push was disabled internally. Typically, this return value means that propagation to the destination was set to disabled internally by Oracle for propagation synchronization when adding a new master site to a master group without quiescing the master group. Oracle will enable propagation automatically at a later time

result_split_del_order_limit

Terminated after failing to acquire the enqueue in exclusive mode. If you receive this return code, then retry the push. If the problem persists, then contact Oracle Support Services.

Exceptions

Table 14-23 PUSH Function Exceptions  
Exception Description
incompleteparallelpush

Serial propagation requires that parallel propagation shuts down cleanly.

executiondisabled

Execution of deferred remote procedure calls (RPCs) is disabled at the destination.

crt_err_err

Error while creating entry in DEFERROR.

deferred_rpc_quiesce

Replication activity for replication group is suspended.

commfailure

Communication failure during deferred remote procedure call (RPC).

missingpropagator

A propagator does not exist.