The databases all commit the data
at the same logical time, preserving the integrity of the distributed data.
Resolving In-Doubt Transactions
Transactions against standalone databases may fail due to problems with the database server; for
example, there may be a media failure. Working with distributed databases increases the number
of potential failure causes during a set of related transactions.
When a distributed transaction is pending, an entry for that transaction will appear in the
DBA_2PC_PENDING data dictionary view. When the transaction completes, its DBA_2PC_
PENDING record is removed. If the transaction is pending but is not able to complete, its record
stays in DBA_2PC_PENDING.
The RECO (Recoverer) background process periodically checks the DBA_2PC_PENDING
view for distributed transactions that failed to complete. Using the information there, the RECO
process on a node will automatically attempt to recover the local portion of an in-doubt
transaction. It then attempts to establish connections to any other databases involved in the
transaction and resolves the distributed portions of the transaction. The related rows in the DBA_
2PC_PENDING view in each database are then removed.
NOTE
You can enable and disable the RECO process via the enable
distributed recovery and disable distributed recovery clauses
of the alter system command.
The recovery of distributed transactions is performed automatically by the RECO process.
Pages:
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930