VAX DSM Database Operations Guide

*HyperReader

  CONTENTS

  Title Page

  Copyright Page

  Preface

  Acknowledgment

  1      Introduction to Database Operations

  Overview of VAX DSM Databases

  Global Storage Techniques

  Volume Sets
    Volumes
    User Class Identifier
    Distributed Data Processing

  Specifying Globals with Extended Global Syntax

  2      Managing Database Sets, Volume Sets, and Globals

  VAX DSM File Name Defaults in Utilities

  Database Set Management Utilities ( ^DBSMAN )

  Utilities for Managing VAX DSM Volume Sets
    Volume Management Utility ( ^VOLMAN )
      Creating VAX DSM Volume Sets ( CREATE^VOLMAN )
      Extending Volume Sets ( EXTEND^VOLMAN )
      Adding a Volume to a Volume Set ( ADD^VOLMAN )
      Changing the Maximum Number of Globals on a Volume Set ( MAXGLO^VOLMAN2 )
      Enabling Expanded String Length on a Volume Set ( EXPSTR^VOLMAN2 )
    Displaying the Volume Set Table ( ^%VOLTAB )

  Mounting DSM-11 Compatible Volume Sets

  Creating UCIs ( ^UCIADD )

  Global and UCI Placement, Growth, and Optimization
    Global Levels and Disk Access
    Global Overflow
    Overflow from One Volume to Another
    Placing UCIs on a Volume Set
    Global Disk Block Allocation ( ^UCIGAM and ^%GLOMAN )
      Global Placement
      Controlling Global Growth

  Global Protection
    Global Protection Scheme
    Default Protection
    Changing Global Protection
    Changing Global Characteristics
    Modifying Default Global Characteristics

  Global Translation
    Overview
    Translation and Schema Tables
    Using Global Translation
    Library Globals and Translation
    Using the Global Translation Utility ( ^CONTR )
    Using the ^%TRAN Utility

  3      Using Distributed Data Processing

  Overview of VAX DSM Distributed Data Processing (DDP)

  Accessing Remote Globals

  Global Reference Resolution

  DDP Networks
    Ethernet DDP Links
    DECnet DDP Links
    Inter-Environment DDP Links

  DDP Nodes

  DDP Circuits

  DDP Autoconfigure

  DDP Groups

  DDP Circuit Connection Security

  DDP Software Components

  DDP Communications Overview
    Request Transmission
    Request Reception

  DDP and Cluster-Mounted Volume Sets
    DDP Services for Cluster-Mounted Volume Sets

  Configuring and Starting DDP
    Loading the VAX DSM DDP Driver
    Using the ^CONFIG Utility to Configure DDP
    Configuring DDP Links
      Configuring Ethernet Links
      Configuring DECnet Links
    Starting DDP

  DDP Log Files

  VAX DSM DDP Utilities
    Starting Up or Shutting Down DDP ( START^DDPLNK and STOP^DDPLNK )
    Configuring DDP ( ^CONDDP )
    Modifying the DDP Security Database ( ^DDPSEC )
    Examining or Modifying a Logical Circuit ( ^DDPCIR )
    Controlling Circuits Using the ^DDPUTL Utility
    Using the DDP Performance Statistics Utility ( ^DDPSTA )

  References to String-Collated or 7-Bit Globals

  4      Using Cluster-Mounted Database Sets

  Overview

  Maintaining High Availability in a VAXcluster Environment

  Using Cluster-Mounted Database Sets with DDP and Journaling

  Setting Up Configurations with Cluster-Mounted Database Sets

  Starting Up and Shutting Down VAX DSM Configurations in a VAXcluster Environment

  Monitoring Configurations with Cluster-Mounted Database Sets

  Accessing Cluster-Mounted Databases

  5      Selecting a Method for Sharing the VAX DSM Database

  Goals of a Shared Database System

  Disk Caching and VAX DSM Systems

  Using DDP for a Shared Database System

  Using Cluster-Mounted Volume Sets for a Shared Database System

  Selecting DDP or Cluster-Mounted Volume Sets for Database Sharing

  Combining DDP-Served and Cluster-Mounted Volume Sets in a VAXcluster Environment

  6      Maintaining VAX DSM Database Integrity

  Levels of Database Integrity

  Database Failure Modes

  Protection from Media Failures
    Physical Disk Shadowing
    Database Backup with After-Image Journaling

  Protection from System Failures
    Before-Image Journaling
    Using After-Image Journaling with Before-Image Journaling
    Journaling in a VAXcluster Environment
    Recovery Process in a VAXcluster Environment

  Database Backup Techniques
    Full Database Backup
    Incremental Database Backup
      Cumulative Incremental Backup
      Serial Incremental Backup
      Performing an Incremental Backup
      Restoring an Incremental Backup
      Updating the Backup Revision Number

  7      Using VAX DSM Journaling

  Journaling Resources

  Journaling Processes
    Journal Process
    Recovery Process
    DDP Servers

  Journal Files
    Before-Image Journal File
    After-Image Journaling Files
      After-Image Journal Files
      After-Image Log File

  Setting Up Before-Image and After-Image Journaling
    Creating a Before-Image Journal File ( ^BIJINIT )
    Creating After-Image Journal Files ( ^JRNINIT )
    Enabling Before-Image and After-Image Journaling

  Before-Image Journaling Utilities
    Examining the Before-Image Journal File ( ^BIJEXAM )
    Forcing the Before-Image Journal File ( ^BIJFORC )

  After-Image Journaling Utilities
    Journal File Utilities
      Add Journal File Name ( ADDFIL^JRNL )
      Close Current Journal File ( CLOSEFI^JRNL )
      Create New Log File ( NEWLOG^JRNL )
      Display Journal File Label ( LABEL^JRNL )
      Display Journal File Names ( DISPLAY^JRNL )
      Initialize Journal File ( ^JRNINIT )
      Open Current Journal File ( OPENFIL^JRNL )
    Global Utilities for Journaling ( SETJRN^%GLOMAN )
    List Journal Utility ( ^JRNLIS )
    Journal Operator Utilities
      Disable Journaling ( PAUSE^JRNL )
      Disable Transaction Processing ( TPOFF^JRNL )
      Enable Journaling ( RESUME^JRNL )
      Enable Transaction Processing ( TPON^JRNL )
      Journal Status ( STATUS^JRNL )

  Generating After-Image Journal Files

  Recovering from Media Failure (Dejournaling)
    Dejournaling from a DSM-11 Journal Tape ( DSM11^DEJRNL )
    Dejournaling from the After-Image Log File ( LOG^DEJRNL )
    Dejournaling from Selected Files and Globals ( FILE^DEJRNL )
    Writing a Customized Dejournaling Utility
      %DEJRNL $ZCALL
      %GDECOD $ZCALL
      %GLSDAT $ZCALL

  Recovering from a System Failure

  Using Command Procedures to Perform Database Backups
    Standard Calling Interface
    Volume Set Access Control ( ^VOLINH )
      Set Read Only Access ( SRO^VOLINH )
      Clear Read Only Access ( CRO^VOLINH )
    After-Image Journal File Control ( ^JRNUTL )
      Initialize a Journal File ( INIFIL^JRNUTL )
      Add a New Journal File ( ADDFIL^JRNUTL )
      Close Current Journal File ( CLOSEFI^JRNUTL )
      Open Next Journal File ( OPENFIL^JRNUTL )
      Create New Journal Log File ( NEWLOG^JRNUTL )
    Incremental Backup and Restore ( ^BACKUP )
      Incremental Backup ( ENT^BACKUP )
      Update Backup Revision Number ( ENT^BACKUP )
    Full Database Backup Command Procedure
    Incremental Database Backup Command Procedure

  8      Checking and Repairing Database Integrity

  Integrity Checker Utility ( ^IC )

  Fast Integrity Checker Utility ( ^FASTIC )

  Creating Command Procedures to Perform Integrity Checking

  Database Repair Utility ( ^FIX )

  9      Using Transaction Processing

  Introduction to Transaction Processing

  Transaction Recovery Units
    VAX DSM Transaction Processing Mechanisms
    Recovery Unit Isolation and Serialization

  Configuring VAX DSM for use with Transaction Processing
    Transaction Database Sets and Globals
    Creating Transaction Processing Volume Sets
    Initializing Transaction Processing Journal Files
    Defining the Transaction Database Set
    Using the ^CONFIG Utility to Configure Transaction Processing
    Configuring Volume Sets for Routine and Temporary Globals

  Controlling Transaction Processing Activities

  Monitoring Transaction Processing Activities

  Recovery Unit Programming Techniques
    Recovery Unit Bracketing
      $ZULEVEL, $ZUID, and Nested Recovery Units
      Read-only Recovery Units
    Programming for Isolation and Concurrency
    High Concurrency Locking Techniques
      Shared Read Locks
      Protected Write Locks
    Recovery Unit Error Handling
    Writing Restartable Recovery Units

  A   Converting DSM-11 Databases to VAX DSM Volume Sets

  Overview

  TARGET Volume Set Size Requirements

  Procedure for Converting the DSM-11 Database
    Direct Conversion
    Two-Step Conversion
    Using the ^CON11 Utility

  B   VAX DSM Tables and Memory-Resident Data Structures

  Memory-Resident Tables
    Volume Set Table
    UCI Table
    Storage Allocation Table

  C   Overview of Data Storage

  VAX DSM Block Types
    Layout of VAX DSM Blocks
    Map Blocks
    Global Directory Blocks
    Global Pointer Blocks
    Global Data Blocks
    Source Routine Blocks
    Compiled Routine Blocks

  Collating Sequence
    Numeric Collating Sequence
    ASCII Collating Sequence
    Implementation of Collating Sequence

  Optimizing Disk-Cache Usage

  D   Storing VAX DSM Globals and Routines in VAX RMS ISAM Files

  Using VAX RMS ISAM Files to Store VAX DSM Globals
    Establishing RMS ISAM Files
    How Globals Are Stored as RMS ISAM Files
    Global Variable Names
      Translating Global Variable Names into File Specifications
      Organization of RMS Files
      RMS Defaults
      ASCII Collating Sequence

  Global Protection and Access Privileges
    Shared Access to Globals
    Accessing VAX DSM RMS Globals Across the Network
    Global Access Using VMS Utilities

  VAX DSM Command Line Qualifier for Selecting Directories

  RMS Global Utilities
    Close ( GBL^%CLOSE )
    Create ( ^%GLCRE )
    Dump ( ^%GDUMP )
    Open Globals ( GBL^%STAT )
    Statistics ( GBLSTAT^%STAT )

  Using VAX RMS ISAM Files to Store VAX DSM Routines
    RMS Routine Directories
    Size of Routines in Directories
    Protection of Routine Directories
    VAX DSM Command Qualifiers that Affect RMS Routines
    Default File Specifications of Application Routine Directories
    Default File Specifications of Library Routine Directories
    Using Logical Names to Specify Routine Directories

  RMS Routine Directory $ZCALLs
    %RDRMS $ZCALL
    Changing Routine Directories and UCI

  RMS Routine Utility ( ^%RCON )

  JOB Command and RMS Routines and Globals

  EXAMPLES

  2-1        Using the ^VOLMAN Utility to Create a Volume Set

  3-1        Configuring DDP with the ^CONFIG Utility

  7-1        Using the ^CONFIG Utility to Enable BIJ and AIJ

  7-2        Writing a Customized Dejournaling Utility

  7-3        Full Database Backup Command Procedure

  7-4        Incremental Database Backup Command Procedure

  9-1        Using the ^CONFIG Utility to Configure Transaction Processing

  9-2        ^TPSTA Report

  A-1        Running the ^CON11 Utility

  FIGURES

  1-1        DSM-11 Compatible Database Set

  1-2        VAX DSM Database Set

  1-3        Transaction Database Set

  1-4        Global Storage Differences

  1-5        VAX DSM Global Storage Hierarchy

  1-6        Multivolume Volume Sets

  1-7        Backing Up a Multivolume Volume Set

  1-8        Database Organization

  1-9        Accessing Globals in a DDP Environment

  2-1        Global Initialization

  2-2        Typical Global Layout

  2-3        Disk Allocation for Two UCIs

  2-4        Global Data Growth Area Allocation for Three Globals

  2-5        Relationship Between Default UCIs, Translation Tables, and the Schema Table

  2-6        Algorithm for Non-Library Global References

  2-7        Algorithm for Library Global References

  3-1        Three-Node Ethernet Network

  3-2        Ethernet Network Configurations in Two DDP Groups

  3-3        DDP Software Components and Server Processes

  3-4        Two VAXcluster Members Mounting the Same Volume Set

  3-5        One VAXcluster Member Mounting a Volume Set

  3-6        Mixed Cluster/Noncluster Environment

  3-7        DECnet DDP Link Between Two DDP Nodes

  4-1        Common Access to Volume Set AAA

  5-1        Single-Node System with Access to Volume Set AAA

  5-2        Three-Node System with DDP Access to Volume Set AAA

  5-3        Three-Node System with a Cluster-Mounted Volume Set

  5-4        Efficiency of Cluster-Mounted Volume Sets

  5-5        DDP Performance

  5-6        DDP and Cluster-Mounted Database Sharing Statistics

  5-7        Combined DDP/Cluster-Mounted Shared Database System

  6-1        Levels of Database Integrity

  6-2        Database Shadowing

  7-1        Relationship Between VAX DSM Journal Processes in a VAXcluster Environment

  9-1        Transaction Database Set

  9-2        Nested Recovery Units

  B-1        Volume Set Table and Volume Descriptor

  B-2        UCI Table

  C-1        Relationship of Blocks in a VAX DSM Global

  C-2        VAX DSM Global Block

  C-3        Map Block

  C-4        Global Directory Block

  C-5        Protection Code Byte Assignments

  C-6        A Global Key

  C-7        Global Pointer Block

  C-8        Global Data Block

  TABLES

  5-1        Database Sharing Methods

  8-1        Fast Integrity Checker Messages

  B-1        Storage Allocation Table