TurboIMAGE/XL Database Management System Reference Manual MPE/iX V6.5 (30391-90011)

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