VAX RMS Journaling Manual

*HyperReader

  CONTENTS

  Title Page

  Copyright Page

  Preface

  1      Introduction to RMS Journaling

  1.1     After-Image Journaling

  1.2     Before-Image Journaling

  1.3     Recovery Unit Journaling

  1.4     Using Journaling in Your Application

  2      After-Image Journaling

  2.1     Using After-Image Journaling
    2.1.1      Marking a File for After-Image Journaling
    2.1.2      After-Image Journals
    2.1.3      Unmarking and Re-Marking Files for After-Image Journaling
    2.1.4      Security and Access Issues
    2.1.5      Journaling More Than One File to the Same Journal
    2.1.6      Setting Size Parameters for Journals
    2.1.7      Making Backup Copies of Data Files
    2.1.8      After-Image Journaling Support for RMS Services
    2.1.9      Handling RMS I/O Errors When Journaling
    2.1.10     Summary

  2.2     After-Image Recovery
    2.2.1      Using the RMS Recovery Utility
    2.2.2      After-Image Recovery with Multiple Journals
    2.2.3      Using Data Files That Have Been Recovered
    2.2.4      Special Considerations for Files Also Marked for Recovery Unit Journaling
      2.2.4.1      Multifile Applications
      2.2.4.2      Multijournal Applications
    2.2.5      Summary

  3      Before-Image Journaling

  3.1     Using Before-Image Journaling
    3.1.1      Marking a File for Before-Image Journaling
    3.1.2      Before-Image Journals
    3.1.3      Unmarking and Re-Marking Files for Before-Image Journaling
    3.1.4      Security and Access Issues
    3.1.5      Journaling More Than One File to the Same Journal
    3.1.6      Setting Size Parameters for Journals
    3.1.7      Making Backup Copies of Data Files
    3.1.8      Before-Image Journaling Support for RMS Services
    3.1.9      Summary

  3.2     Before-Image Recovery
    3.2.1      Using the RMS Recovery Utility
    3.2.2      Before-Image Recovery with Multiple Journals
    3.2.3      Using Data Files That Have Been Recovered
    3.2.4      Special Considerations for Files Also Marked for Recovery Unit Journaling
      3.2.4.1      Multifile Applications
      3.2.4.2      Multijournal Applications
    3.2.5      Summary

  4      Recovery Unit Journaling

  4.1     DECdtm and RMS Journaling
    4.1.1      Transactions and Recovery Units
    4.1.2      One- and Two-Phase Commit

  4.2     Using Recovery Unit Journaling
    4.2.1      Recovery Unit Journaling Support for RMS Services
    4.2.2      Marking a File for Recovery Unit Journaling
    4.2.3      Transaction Services
      4.2.3.1      Start Transaction [and Wait] Service $START_TRANS[W]
      4.2.3.2      End Transaction [and Wait] Service $END_TRANS[W]
      4.2.3.3      Abort Transaction [and Wait] Service $ABORT_TRANS[W]
    4.2.4      Associating a Record Stream with a Transaction
    4.2.5      Disassociating a Record Stream from a Transaction
      4.2.5.1      Committed Transactions
      4.2.5.2      Aborted Transactions
    4.2.6      Recovery Unit Journals
      4.2.6.1      Creation and Deletion of Journals
      4.2.6.2      Location of Journals
        4.2.6.2.1       Default Placement
        4.2.6.2.2       SET FILE/RU_JOURNAL=LABEL Command
        4.2.6.2.3       XABITM Item List Entry XAB$_RUJVOLNAM

  4.3     Automatic Recovery After a Failure
    4.3.1      Types of Recovery:  In-Place and Detached
    4.3.2      Detached Recovery
      4.3.2.1      Synchronous and Asynchronous Recovery
      4.3.2.2      Partial Recovery
      4.3.2.3      ``In-Doubt'' and ``Limbo'' Transactions

  4.4     Advanced Recovery Unit Concepts
    4.4.1      Record Locking by RMS Journaling
    4.4.2      Special Considerations for Applications Also Using After-Image Journaling
      4.4.2.1      Multifile Applications
      4.4.2.2      Multijournal Applications
    4.4.3      Special Considerations for Applications Also Using Before-Image Journaling
      4.4.3.1      Multifile Applications
      4.4.3.2      Multijournal Applications

  4.5     Error Handling
    4.5.1      RMS Errors During the Two-Phase Commit Procedure
      4.5.1.1      Errors While Processing a Prepare Order
      4.5.1.2      Errors While Processing an Abort Order
      4.5.1.3      Errors in Processing a Commit Order
    4.5.2      RMS Errors During Detached Recovery
      4.5.2.1      Surviving Accessor of a Shared File
      4.5.2.2      Opening a File with Active Transactions

  4.6     Summary

  5      Other VMS Components Used with RMS Journaling

  5.1     VMS Commands That Display Journaling Information
    5.1.1      ANALYZE/RMS_FILE
    5.1.2      DIRECTORY/FULL
    5.1.3      DUMP/HEADER

  5.2     The Backup Utility

  6      System Management Considerations

  6.1     Managing Disk Space Used by Journals
    6.1.1      After-Image Journals
    6.1.2      Before-Image Journals
    6.1.3      Recovery Unit Journals

  6.2     Volume Labels and the Mount Utility

  6.3     Process Quotas

  REFERENCE SECTION

  SET FILE Commands

  SET FILE/AI_JOURNAL

  SET FILE/BI_JOURNAL

  SET FILE/RU_ACTIVE

  SET FILE/RU_FACILITY

  SET FILE/RU_JOURNAL

  RECOVER/RMS_FILE Command

  RECOVER/RMS_FILE

  Journaling FAB Field-FAB$B_JOURNAL

  FAB$B_JOURNAL

  Journaling XABs

  XABJNL

  XABRU

  XABITM

  A   Changes for VAX RMS Journaling Version 5.4

  A.1     Support for DECdtm Transactions

  A.2     RUF Services Emulated

  A.3     Network Support

  A.4     Record Stream Association
    A.4.1      When Do Streams Become Associated with a Transaction?
    A.4.2      Stream Association Using RUF and DECdtm Services

  A.5     Detached Recovery
    A.5.1      Synchronous and Asynchronous Recovery
    A.5.2      Partial Recovery

  A.6     Placement of Recovery Unit Journals

  A.7     Multiple Long-Term Journals Allowed

  A.8     Mixed-Version Clusters

  B   Obsolete Recovery Unit Services Routines

  $ABORT_RU

  $COMMIT_RU

  $END_RU

  $PREPARE_RU

  $START_RU

  C   Error Messages Specific to VAX RMS Journaling

  D   Sample Application Program

  E   Software Performance Reports

  EXAMPLES

  D-1        Sample Application Program-VAX C (Using the Default Transaction)

  D-2        Sample Application Program-VAX C (Using XAB$_TID)

  D-3        Sample Application Program-VAX COBOL

  TABLES

  2-1        After-Image Journaling Support for RMS Services

  3-1        Before-Image Journaling Support for RMS Services

  4-1        Recovery Unit Journaling Support for RMS Services

  REF-1     FAB$B_JOURNAL_Bit_Settings

  REF-2     Summary of XABJNL Fields

  REF-3     Summary of XABRU Fields

  REF-4     New XABITM Item List Entries