For Oracle support & training call (800) 766-1884
Free Oracle Tips

Home
Oracle Tips
Oracle Code Depot
Oracle Monitoring
Oracle Consulting
Oracle Training
Oracle News
Oracle Forum
Oracle Support





 

Free Oracle Tips

image

 
HTML Text

Free Oracle App Server Tips

image

 
HTML Text


Privacy Policy

Redneck

Dress Code

Oracle tuning

Oracle training

Oracle support

Remote Oracle


 

   
  Oracle Tips by Burleson

Oracle Streams
Chapter 3 - Streams Replication

Multi-Way Replication and Conflict Resolution

  • Uniqueness Conflict: This occurs when a row with an identical primary key value or unique key value is inserted at almost the same time in two sites. When the row LCR reaches the destination, it finds that the row with the same primary key or unique key is already present. It becomes an integrity violation and results in an error. Now both the sites have different rows. This kind of conflict is called a uniqueness conflict.
     

  • Delete Conflict: There are some situations where at Site-A, a row is updated and on Site-B, the same row is deleted. Both of these transactions are performed at almost the same time. When Site-A’s row LCR goes to the destination Site-B, it does not find the row to update. In the same way, when the Site-B’s row LCR reaches the destination of Site-A, it has different values. In another situation, the same row may be deleted in both the sites at almost the same time. In this situation, both of the row LCRs will fail to execute the delete operation on the destination site. This situation is called a delete conflict.
     

  • Foreign Key Conflict: In a situation where there is dependency between the parent and child table, the apply process may fail to execute an update, or update just because the row parent key does not exist at the destination. For example, when a row is inserted into ALLINSURED table with polno of 452289, it has sales_id value of 165. sales_id is the foreign key. Salesman is the parent table, where a row for sales_id of 165 is inserted. When the row LCR containing the sales_id arrives later than the ALLINSURED row LCR to the destination database, the apply transaction for row insertion into ALLINSURED fails with foreign integrity failure. This happens because the row with sales_id of 165 does not exist when there is an attempt to insert row into ALLINSURED table at that destination. This kind of situation is called a foreign key conflict.

All the mentioned scenarios are automatically detected by the Streams Apply process. By default, it will place them into an error queue. Unless an error handler or any other type of handler is provided to the apply procedure, they will remain in error conditions.


The above text is an excerpt from:

Oracle Streams
High Speed Replication and Data Sharing

ISBN 0-9745993-5-2

by Madhu Tumma
 


For more details and scripts, see my new book " Oracle Tuning: The Definitive Reference", over 900 pages of BC's favorite tuning tips & scripts. 

You can buy it direct from the publisher for 30%-off and get instant access to the code depot.

  
 

 
 
 
 
Oracle performance tuning software
 
 

 

 
 
 
Oracle performance Tuning 10g reference poster
 
 
 
Oracle training in Linux commands
 
Oracle training Excel
 
Oracle training & performance tuning books
 

 

Fast-Track Oracle Support
PO Box 511
Kittrell, NC 27544


Email BC: