DEC Rdb Guide to Distributed Transactions

*HyperReader

CONTENTS

  Title Page

  Copyright Page

  Send Us Your Comments

  Preface

  Technical Changes and New Features

  1      Introduction to Distributed Transactions
    1.1 Deciding When to Use Distributed Transactions
    1.2 Using Distributed Transactions with Other Products
    1.3 Understanding the Two-Phase Commit Protocol and Distributed Transactions
      1.3.1      Terminating Distributed Transactions
      1.3.2      Completing Unresolved Transactions

  2      How Distributed Transactions Work
    2.1 Starting Distributed Transactions
    2.2 Completing Successful Distributed Transactions
      2.2.1      Executing the Prepare Phase
      2.2.2      Executing the Commit Phase
    2.3 Understanding the Database Recovery Process
    2.4 Completing Unresolved Transactions

  3      Designing Databases and Applications for Distributed Transactions
    3.1 Designing Databases for Distributed Transactions
      3.1.1      Partitioning Databases by Business Function
      3.1.2      Partitioning Databases Geographically
      3.1.3      Replicating Data
      3.1.4      Combining Database Design Strategies
    3.2 Using Distributed Transactions in a VMScluster Environment
    3.3 Required Privileges for Distributed Transactions
    3.4 Avoiding Deadlock with Distributed Transactions
    3.5 Controlling When Applications Attach to Databases
    3.6 Controlling When SQL Applications Detach from Databases

  4      Using SQL with Distributed Transactions
    4.1 Using the Two-Phase Commit Protocol with SQL
    4.2 Disabling the Two-Phase Commit Protocol
    4.3 Using the Two-Phase Commit Protocol Implicitly
      4.3.1      Handling Errors in Implicit Distributed Transactions
    4.4 Using the Two-Phase Commit Protocol Explicitly
      4.4.1      Handling Errors in Explicit Distributed Transactions
      4.4.2      Using Context Structures with SQL Statements
      4.4.3      Using Cursors with Distributed Transactions
      4.4.4      Using SQL Module Language with Distributed Transactions
        4.4.4.1      Using Context Structures with SQL Module Language
        4.4.4.2      Using Default Transaction Support with SQL Module Language
      4.4.5      Using Precompiled SQL with Distributed Transactions
        4.4.5.1      Using Context Structures with Precompiled SQL
        4.4.5.2      Declaring the Context Structure in Ada
        4.4.5.3      Using Default Transaction Support with Precompiled SQL
    4.5 Compiling, Linking, and Running the Sample Distributed Transaction Application

  5      Using RDBPRE with Distributed Transactions
    5.1 Using the Two-Phase Commit Protocol with RDBPRE
    5.2 Using the Two-Phase Commit Protocol Implicitly
      5.2.1      Using Existing Applications with Distributed Transactions
      5.2.2      Writing New Applications That Implicitly Use the Two-Phase Commit Protocol
      5.2.3      Handling Errors in Implicit Distributed Transactions
    5.3 Using the Two-Phase Commit Protocol Explicitly
      5.3.1      Handling Errors in Explicit Distributed Transactions
      5.3.2      Writing Applications That Explicitly Use the Two-Phase Commit Protocol

  6      Completing Unresolved Transactions
    6.1 Using RMU Commands to Complete Unresolved Transactions
    6.2 Manually Completing Unresolved Transactions
    6.3 Recovering Corrupted Databases and Completing Unresolved Transactions

  A Troubleshooting Distributed Transactions