Document ID: 37802.1
Subject: Snapshots and Triggers
Author: TOSCROFT
Modified: 22 Apr 96
SNAPSHOTS AND TRIGGERS
----------------------
Read-Only Snapshots:
Triggers are not supported on read-only snapshots; we can only allow
updates to the snapshots to come from the refresh mechanism.
Oracle7 only guarantees that at the completion of the refresh the snapshot
data will be equal to that in the master table at the time of refresh. No
guarantee is made regarding the way in which these changes will be applied,
or the order in which they will be applied. It is possible that this method
will be changed between releases.
It is not possible, therefore, to predict how triggers will behave during a
snapshot refresh so they cannot be officially supported.
If referential constraints or other business rules are necessary, then they
can be enforced at the master site; these will then be reflected at the
snapshot site when the refresh completes, providing all related tables are
refreshed as one refresh group.
Updatable Snapshots:
It is possible to define triggers on updatable snapshots. To do this,
however, you need to ensure that these triggers are only fired when updates
are made by the local application, rather than when a refresh is performed.
The mechanism to ensure this is explained in the Oracle7 Server Distributed
Systems manual - 'Volume II: Replicated Data'. See the chapter entitled
'Advanced Techniques' (ch. 7 in Release 7.2, ch. 8 in Release 7.3).