Distributed transactions become in-doubt ways - Oracle Transaction

Q.  A transaction is in-doubt when there is a failure during any aspect of the two-phase commit. From the following give the exact way for which distributed transactions can become in-doubt?
- Published on 12 Aug 15

a. A server machine running Oracle Database software crashes
b. A network connection between two or more Oracle Databases involved in distributed processing is disconnected
c. An unhandled software error occurs
d. All mentioned above
e. Both A & B

ANSWER: All mentioned above
 

    Discussion

  • Nirja Shah   -Posted on 22 Sep 15
    - The two-phase commit mechanism ensures that all nodes either commit or perform a rollback together.

    - What happens if any of the three phases fails because of a system or network error? The transaction becomes in-doubt.

    - Distributed transactions can become in-doubt in the following ways:
    1. A server machine running Oracle Database software crashes
    2. A network connection between two or more Oracle Databases involved in distributed processing is disconnected
    3. An unhandled software error occurs

    - The RECO process automatically resolves in-doubt transactions when the machine, network, or software problem is resolved.

    - Until RECO can resolve the transaction, the data is locked for both reads and writes.

    - The database blocks reads because it cannot determine which version of the data to display for a query.

Post your comment / Share knowledge


Enter the code shown above:

(Note: If you cannot read the numbers in the above image, reload the page to generate a new one.)