What is an Oracle two phase commit?
Oracle developed the two phase commit to allow the controlling SQL to ensure that all remote sites have committed their data before issuing a local commit. While data integrity is managed very effectively within a single database with row locking, deadlock detection and roll-back features, distributed data integrity is far more complex.
Recovery in a distributed database environment involves ensuring that the entire transaction has completed successfully before issuing a commit to each of the subcomponents in the overall transaction. This can often be a cumbersome chore, and it is the idea behind the two-phase commit.
One popular alternative to the two-phase commit is replicating information and relying on asynchronous replication techniques to enforce the data integrity. Asynchronous replication refers to Oracle snapshots and requires a master-slave type of configuration, whereby a master database relays updates to the slave database on a periodic basis, using Oracle snapshots to create master-slave replication. The snapshot approach makes sense when an overall system does not require instant referential integrity.
Follow the link below for further insight on the two phase commit: