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

342 Chapter7
Logging and Recovery
Logging Maintenance
to the current log file. The current log file is closed and the new log file is opened. A
message similar to the following message is displayed on $STDLIST and the console to
confirm the change:
Log file for
logid
ORDERLOG has been changed from ORDER001 to ORDER002
If the new log file is a serial file on tape, the following message appears on the console
requesting the mounting of a new log file (in this case the logid is ORDERLOG):
Mount new tape for
logid
ORDERLOG
If a LISTLOG command is executed while the logging process is performing a CHANGELOG
command, the file name displayed is that of the current log file. The log file name is not
updated until the CHANGELOG sequence successfully completes. The SHOWLOGSTATUS
command may be used to display the current status of a logging process to determine if a
CHANGELOG is taking place.
The following example shows a LISTLOG display. A CHANGELOG is currently taking place on
log file ORDER001; and, because the CHANGELOG to ORDER002 is not yet successfully
completed, ORDER001 is displayed:
:LISTLOG
LOGID CREATOR CHANGE AUTO CURRENT LOG FILE
MYLOG DATA.SYS NO NO MY.PUB.SYS
TAPELOG DATA.SYS YES TAPE001
ORDERLOG TST.MKTG YES YES ORDER001.MKTG.SYS
Recovering the Database
When a database needs to be recovered, DBRECOV starts with the first log file written to in
a given logging cycle, or it may start with the log file in use when backup was done using
TurboSTORE/iX 7x24 True-Online Backup (with ONLINE=START or ONLINE=END
option). If you used True-Online Backup, the SHOW
database
ALL command of DBUTIL
displays the name of the logfile for starting recovery.
To illustrate this concept, consider the following scenario when logging cycle began with a
logfile LOGF001 and DBSTORE was used for backup.
The MPE/iX CHANGELOG command or the GETLOG AUTO feature is being used to log
transactions to a log file called LOGF001. When LOGF001 fills up, user logging
automatically appends LOGF001 with a CHANGELOG record indicating that
TurboIMAGE/XL is now logging to file LOGF002. This process can continue until either
LOGF999 is reached or another file is encountered that has the same name as the one
being created by user logging.
Now, assume that the database needs to be recovered and the logging cycle is currently
writing to LOGF020. Note that DBRECOV will begin recovery at LOGF001, even if you know
or want to recover only the transactions from, for example, log file LOGF013.