TurboIMAGE/XL Database Management System Reference Manual (30391-90012)
Table Of Contents
- 1 Introduction
- 2 Database Structure and Protection
- 3 Defining a Database
- 4 Using the Database
- 5 TurboIMAGE/XL Library Procedures
- Using TurboIMAGE/XL Intrinsics
- DBBEGIN
- DBCLOSE
- DBCONTROL
- DBDELETE
- DBEND
- DBERROR
- DBEXPLAIN
- DBFIND
- DBGET
- DBINFO
- INTRINSIC NUMBER 402
- Syntax
- Parameters
- Discussion
- Mode 101: Item Number
- Mode 102: Item Name
- Mode 103: Items in Database
- Mode 104: Items in Data Set
- Mode 113: BTREEMODE1 and Wildcard Character
- Mode 201: Set Number
- Mode 202: Set Name
- Mode 203: Sets in Database
- Mode 204: Sets with Item
- Mode 205: Set Capacity
- Mode 206: Number of Data Set Chunks
- Mode 207: Size of Data Set Chunks
- Mode 208: Primary and Actual Capacity
- Mode 209: B-Tree Attachment
- Mode 301: Paths
- Mode 302: Key or Search Item
- Mode 401: Logging
- Mode 402: ILR
- Mode 403: Dynamic Roll-Back
- Mode 404: Logging Subsystem Information
- Mode 406: Database Information
- Mode 501: Subsystem Access
- Mode 502: Critical Item Update
- Modes 8nn: Third-Party Indexing
- Mode 901: Language
- DBLOCK
- DBMEMO
- DBOPEN
- DBPUT
- DBUNLOCK
- DBUPDATE
- DBXBEGIN
- DBXEND
- DBXUNDO
- 6 Host Language Access
- Model Program
- ORDERS Database Model Program
- Main Body of Program
- Opening the Database
- Retrieving All the Records on a Chain (with Item Level Locking)
- Retrieving a Data Entry Using a Record Number
- Retrieving Master Data Using a Key Value
- Retrieving Data Serially (with Set Level Locking)
- Adding an Entry
- Updating an Entry
- Deleting an Entry
- Rewinding a Data Set
- Obtaining Database Information
- Obtaining Error Messages and Explanations
- Closing the Database
- C
- COBOL II
- Defining Data Types, Variables, and Intrinsics
- Main Body of Program
- Opening the Database
- Retrieving All the Records on a Chain (with Item Level Locking)
- Retrieving a Data Entry Using a Record Number
- Retrieving Master Data Using a Key Value
- Retrieving Data Serially (with Set Level Locking)
- Adding an Entry
- Updating an Entry
- Deleting an Entry
- Rewinding a Data Set
- Obtaining Database Information
- Obtaining Error Messages and Explanations
- Closing the Database
- FORTRAN 77
- Pascal
- RPG
- 7 Logging and Recovery
- Database Utilities Used in Logging and Recovery
- Recovery Options
- Logical Transactions
- Dynamic Roll-Back Recovery
- Intrinsic Level Recovery
- Logging Preparation
- Step 1--Checking MPE/iX Logging Configuration
- Step 2--Acquiring Logging Capability
- Step 3--Logging to Tape or Disk
- Step 4--Building a Log File for Logging to Disk
- Step 5--Creating the Log Identifier
- Step 6--Setting the Log Identifier
- Step 7--Setting Flags for the Database Backup Copy
- Step 8--Making a Database Backup Copy
- TurboSTORE/iX 7x24 True-Online Backup
- Logging Status
- Logging Maintenance
- Roll-Forward Recovery
- Roll-Back Recovery
- DBRECOV Commands Used with Roll-Forward and Roll-Back Recovery
- Recovery Tables
- Post-Recovery Options
- The Mirror Database
- 8 Using the Database Utilities
- Restructuring the Database with TurboIMAGE/XL Utilities
- Summary of Utility Routines
- Utility Program Operation
- DBLOAD
- DBRECOV
- >CONTROL
- >EXIT
- >FILE
- >RECOVER
- >ROLLBACK
- >RUN
- DBRESTOR
- DBSTORE
- DBUNLOAD
- DBUTIL
- >>ACTIVATE
- >>ADDINDEX
- >>CREATE
- >>DEACTIVATE
- >>DETACH
- >>DISABLE
- >>DROPINDEX
- >>ENABLE
- >>ERASE
- >>EXIT
- >>HELP
- >>MOVE
- >>PURGE
- >>REBUILDINDEX
- >>REDO
- >>RELEASE
- >>SECURE
- >>SET
- >>SHOW
- Syntax
- Parameters
- Example (Show Users)
- Example Discussion
- Example (Show All)
- Example Discussion
- Example (Show Capacity)
- Format of Show Device List
- Example (Show Device)
- Format of Show Indices
- Example (Show Indices)
- Format of Show Locks List
- Example 1 (Show Locks)
- Example 1 Discussion
- Example 2 (Show Locks)
- Example 2 Discussion
- >>VERIFY
- 9 Using a Remote Database
- 10 Internal Structures and Techniques
- 11 B-Tree Indices
- A Error Messages
- B Results of Multiple Access
- C Database Design Considerations
- D Multiple Calls to DBLOCK
- E TurboIMAGE/XL Log Record Formats
- F MPE/iX Log Record Formats
- G Recovery and Logging Quick Reference
- H TurboIMAGE/XL versus TurboIMAGE/V

Chapter 2 59
Database Structure and Protection
Protecting the Database
User Classes and Locking
TurboIMAGE/XL does not consider user classes when locking a database entity. Any data
set or any data item can be referenced in a lock request by any user of a database
regardless of his or her user class.
Protection in Relation to Library Procedures
All access to a database is achieved through database control blocks that reside in
privileged MPE/iX files which are not directly accessible to database users. Because no
user process can read or modify these control blocks, TurboIMAGE/XL guarantees
protection of the database from unauthorized programmatic access. Refer to the detailed
description of these control blocks in chapter 10. For more information about MPE/iX files
and privileged mode, refer to the MPE/iX Intrinsics Reference Manual.
All TurboIMAGE/XL library procedures that structurally modify the database execute in
critical mode. This defers any requested process termination while modifications are in
progress. If any file system failures occur during such database modification,
TurboIMAGE/XL causes process termination because the database integrity is
questionable.
The Database Buffer Area Control Block (DBB) contains pointers to the data set blocks
that are used to transfer data (see chapter 10 for additional information). All data set
blocks whose contents are changed, reflecting a modification of the database, are always
logged by an internal MPE/iX service called Transaction Management (XM) before the
library procedure returns to the calling program. This guarantees database integrity
despite any program termination that might occur between successive procedure calls.
However, deferred output (AUTODEFER) allows the user to override this scheme. When
AUTODEFER is enabled, the database does not use MPE/iX Transaction Management.
Instead, AUTODEFER uses the MPE/iX file system default recovery mode. This mode keeps
data pages in memory for as long as possible until file close time. In this mode, a system
failure can cause the loss of database integrity. For more information about AUTODEFER,
refer to the >>ENABLE command of DBUTIL in chapter 8.
Protection Provided by the TurboIMAGE/XL Utilities
The TurboIMAGE/XL utilities perform various checks to ensure database integrity:
• They acquire exclusive or semi-exclusive access to the database being processed.
(Chapter 4 contains more information about types of access in the discussion of opening
a database.)
• Only the database creator or a user supplying the correct maintenance word can
execute the utilities. The database creator defines the maintenance word when the
database is created with the DBUTIL utility (refer to chapter 8). In addition, anyone
without system manager (SM) capability intending to use the DBUTIL >>SHOW
command or anyone running the utilities other than DBRECOV must be logged on to the
group in which the database resides (refer to chapter 8).
If no maintenance word is defined, only the database creator can execute the utilities.
The exception to this rule is that a user with system manager (SM) capability can use
the DBUTIL >>SHOW command on any database without having to supply the