Chapter 6. GT.M Journaling

Table of Contents

Deciding Whether to Use Journaling
Types of Issues Addressed with Journaling
Advantages of Journaling
Disadvantages of Journaling
Additional Considerations
Setting Up for Journaling
Fencing Transactions
Journal File Operations
Processing Journal Files
Recovering Damaged Database Files
Processing After a Recovery
GT.M Language Extensions for Journaling
ZTSTART and ZTCOMMIT
VIEW Keywords
$VIEW() Keywords
MUPIP Set
SET Object Identifying Qualifiers
SET Action Qualifiers
SET /JOURNAL Options
SET /JOURNAL Examples
SET /REPLICATION options
MUPIP SET & Standalone Acess to Database
MUPIP BACKUP Qualifiers
MUPIP JOURNAL
Journal File Selection Argument
Journal Action Qualifiers
Journal Direction Qualifiers
Journal Time Qualifiers
Journal Sequence Number Qualifiers
Journal Control Qualifiers
Journal Selection Qualifiers
Journal Qualifier Rules & Compatibilities
Journal Extract Formats

The four key properties of transaction processing systems, the so called "ACID" properties are: Atomicity, Consistency, Isolation, and Durability. GT.M transaction processing provides the first three through the use of the TStart and TCommit commands. Durability is provided through the use of journaling.

Database systems, including GT.M, use journal files to provide recoverability of databases, thereby providing resiliency in the face of system hardware and software failures. Journaling uses journal files to record information pertaining to database updates.

Note that, journaling is not a substitute for good system configuration and design. For example, if a database and its journal files are on the same disk contoller, a hardware failure on that controller can damage both files, and prevent recoverability. The use of journaling therefore, complements other techniques to build a robust system.

Journaling requires no M programming. However, the M commands described later in this chapter may enhance the value of journaling.