Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Repl.: what does a PUSH that a REFRESH doesn't (and vice-versa) ?
roltom_at_gmail.com wrote:
> Hello,
> Could someone tell me what the internal differences are
> between DBMS_REFRESH.REFRESH and DBMS_DEFER_SYS.PUSH ?
> When you configure the refresh of snapshots *without*
> scheduling PUSHes, what does not happen that would happen
> if it was scheduled ? What's the very use of adding a
> DBMS_DEFER_SYS.PUSH job ? Sorry I didn't understand it
> clearly from the documentation.
> Thanks.
>
For starters, refresh is a pull mechanism, whereas push
is a -you guessed it- pushing mechanism.
refresh is the standard call for an MV to be refreshed. If
something goes wrong, you may have transactions in the master
site, not refreshed on the MV site. You have "deferred"
transactions.
If your problems (e.g. network link down, referential issues)
are solved, you can push those transactions out from the master
site, using the above call.
The same is true with updateable MV's; the transaction is deferred until the network is up, and the refresh can start. In that case, the update from the MV site to the master site has to be done first, while it is deferred (it is complete on the MV site, but the master site is not yet aware of anything).
-- Regards, Frank van BortelReceived on Wed Jul 06 2005 - 12:38:44 CDT