GT.M Administration and Operations Guide

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts.

GT.M™ is a trademark of Fidelity National Information Services, Inc. Other trademarks are the property of their respective owners.

This document contains a description of GT.M and the operating instructions pertaining to the various functions that comprise the system. This document does not contain any commitment of FIS. FIS believes the information in this publication is accurate as of its publication date; such information is subject to change without notice. FIS is not responsible for any errors or defects.

February 27, 2015

Revision History
Revision V6.2-00127 February 2015
Revision V6.1-000/104 September 2014
Revision V6.1-00001 August 2014
Revision V6.0-003/119 February 2014
Revision V6.0-00327 January 2014
Revision V6.0-001/210 April 2013
Revision V6.0-001/122 March 2013
Revision V6.0-00127 February 2013
Revision V6.0-000/121 November 2012
Revision V6.0-00019 October 2012
Revision 1105 October 2012
Revision 1028 September 2012
Revision 914 August 2012
Revision 803 August 2012
Revision 726 July 2012
Revision 619 July 2012
Revision 517 July 2012
Revision 46 June 2012
Revision 302 May 2012
Revision 219 March 2012
Revision 15 March 2012
Revision V5.5-00027 February 2012
Revision 413 January 2012
Revision 326 December 2011

In GT.M Journaling, added the Journal Extract format for the ZTRIG record.

Revision 22 December 2011
  • In GT.M Journaling, improved the description of -EXTRACT and corrected the heading levels of some sections under MUPIP JOURNAL.

  • In Database Replication, corrected the usage of the term propagating instance, improved the description of -stopsourcefilter, and changed -nopropagatingprimary to -propagatingprimary.

  • Added Index entries for gtmsecshr.

  • In “Compiling ICU”, changed the instructions for Compiling ICU 4.4 on AIX 6.1.

Revision 110 November 2011
  • In the “SET” section, changed "MUPIP SEt" to "MUPIP SET".

  • In the “Startup” section, changed "Restore the replication instance file" to "Recreate the replication instance file".

Revision V5.4-002B24 October 2011Conversion to documentation revision history reflecting GT.M releases with revision history for each chapter.

Contents

About This Manual
Intended Audience
Purpose of the Manual
How to Use This Manual
Overview
Conventions Used in This Manual
1. About GT.M
Hardware/Operating System Environment
Installation
Security
Program Development Environment
Database Subsystem
GT.M Utility Programs
GDE
MUPIP
LKE
DSE
Command Qualifiers
Database Integrity
Interprocess Communication
2. Installing GT.M
Obtaining GT.M Distribution Media
Before you begin
Installation Procedure
Reference Implementation Plugin - Shared Library Dependencies
gtminstall script
3. Basic Operations
GT.M Environment Setup
gtmprofile
gtmcshrc
gtmbase
gdedefaults
gtm
Environment Variables
Configuring and operating GT.M with Unicode™ support (optional)
M mode and UTF-8 mode
Compiling ICU
Starting GT.M
Configuring huge pages for GT.M x86[-64] on Linux
Using huge pages
4. Global Directory Editor
Global Directory
GDE Overview
Identifying the Current Global Directory
Creating a Default Global Directory
Mapping Global Variables in a Global Directory
Examining the Default Global Directory
Global Directory Abbreviations
Customizing a Global Directory
Using GDE
Guidelines for Mapping
Global Director Editor Commands
Specifying File Names in Command Lines
Font/Capitalization Conventions Used in this Chapter
@
Add
Change
Delete
Exit
Help
LOCks
LOG
Quit
Rename
SEtgd
SHow
Template
Verify
Name, Region, and Segment Qualifiers
Name Qualifiers
Region Qualifiers
Segment Qualifiers
Gblname Qualifiers
GDE Command Summary
GDE Command Qualifier Summary
5. General Database Management
Introduction
Operations - Standalone and Concurrent Access
MUPIP
Commands and Qualifiers
BACKUP
CREATE
DOWNGRADE
ENDIANCVT
EXIT
EXTEND
EXTRACT
FREEZE
FTOK
HASH
INTEG
INTRPT
JOURNAL
LOAD
RCTLDUMP
REORG
REPLICATE
RESTORE
RUNDOWN
SET
SIZE
STOP
TRIGGER
UPGRADE
MUPIP Command Summary
6. GT.M Journaling
Introduction
Journal Files
Recovery from a Journal File
rolled_bak* files
Journal Files Access Authorization
Triggers in Journal Files
BEFORE_IMAGE Journaling
NOBEFORE_IMAGE Journaling
Choosing between BEFORE_IMAGE and NOBEFORE_IMAGE
Broken Transaction File
Lost Transaction File
Journaling Benefits
Backup Journal Files
Select database files for Journaling
Fencing Transactions
Deciding Whether to Use Fencing
VIEW Keywords
$VIEW() Keywords
SET
SET Object Identifying Qualifiers
SET Action Qualifiers
Examples for MUPIP SET
JOURNAL
Journal Action Qualifiers
Journal Direction Qualifiers
Journal Time Qualifiers
Journal Sequence Number Qualifiers
Journal Control Qualifiers
Journal Selection Qualifiers
Journal Extract Formats
7. Database Replication
Introduction
Database Transaction Number
Journal Sequence Number
Stream Sequence Number
Examples
Limitations - SI Replication
Replication Architecture
Implementing Replication and Recovery
Application Architecture
System Requirements
Cutover
Instance Freeze
TLS/SSL Replication
Network Link between Systems
Choosing between BEFORE_IMAGE and NOBEFORE_IMAGE journaling
Database Repair
Procedures
Normal Operation
Commands and Qualifiers
Turning Replication On/Off
Creating the Replication Instance File
Displaying/Changing the attributes of Replication Instance File and Journal Pool
Starting the Source Server
Shutting down the Source Server
Activating a Passive Source Server
Deactivating an Active Source Server
Stopping the Source Filter
Checking Server Health
Changing the Log File
Enabling/Disabling Detailed Logging
Stopping a Source Server
Reporting the Current Backlog of Journal Records
Processing Lost Transactions File
Starting the Receiver Server
Starting the Update Process
Stopping the Update Process
Checking Server Health
Changing the Log File
Enabling/Disabling Detailed Logging
Reporting the Current Backlog of Journal Records
Rolling Back the Database After System Failures
8. M Lock Utility (LKE)
Introduction
To Invoke and Exit LKE
To establish a Global Directory
LKE Commands and Qualifiers
Clear
SHow
Exit
Help
SPawn
Summary
LKE Exercises
Exercise 1: Preventing concurrent updates using M Locks
Exercise 2: Rectifying a deadlock situation
9. GT.M Database Structure(GDS)
Database File Organization with GDS
Database File Header
File Header Data Elements
MLOCK Space
Local Bitmaps
Master Bitmap
Database Structure
Tree Organization
GDS Blocks
GDS Records
GDS Keys
Compression Count
Use of Keys
Characteristics of Keys
Global Variable Names
String Subscripts
Numeric Subscripts
10. Database Structure Editor
Operating in DSE
DSE Commands and Qualifiers
ADD
ALL
Buffer_flush
CHange
CAche
CLose
CRitical
Dump
EValuate
EXit
Find
Help
Integrit
Maps
OPen
OVerwrite
Page
RAnge
REMove
REStore
SAve
SHift
SPawn
Wcinit
DSE Command Summary
11. Maintaining Database Integrity
Verifying Database Integrity
Regularly Scheduled Verification
Before or After Major Transfers
Immediately after Catastrophic Events
Immediately after Run-Time Database Errors
Immediately After Database Repairs
Approaches to Database Recovery
Recover from Journals
Restore from Backup
Repair with DSE
Preventive Maintenance
Repairing the Database with DSE
Using the Proper Database File
Locating Structures with DSE
Safety in Repairs
Discarding Data
Concurrent Repairs
Terminating Processes
Recovering data from damaged binary extracts
Finding and Fixing Database Errors
C1–Possible Cache Control Problems
H1–Process Hangs
H3–Database Access Problems
H4–Database Cache Problems
H5–Critical Section Problems
H6–UNIX Problems
H7–Disk Hardware Problems
H8–Application Problems
I1–MUPIP INTEG Errors
I2–GT.M Version Mismatch
I3–File Header Errors
I4–File Size Errors
I5–More Database Access Problems
I6–Transient Errors
I7–Database Rundown Problem
I8–Repair-Induced Problems
K1–Bad Key
K2–Keys Misplaced
K3–Block Doubly Allocated
K4–Pointer Problems
K5–Star Key Problems
K6–Compression Count Error
K7–Key Warning
M1–Bitmap Errors
M2–Bitmap Header Problems
O1–Bad Block
O2–Record Errors
O3–Data Block Errors
O4–Salvage of Data Blocks with Lost Indices
O5–Salvage of a damaged spanning node
P1–Process Damage
Q1–Restricting Database Access
R1–GT.M Run-Time Errors
R2–Structural Database Integrity Errors
R3–Run-time Database Cache Problems
R4–Stopped Processes
R5–No More Room in the File
R6–GTMASSERT and GTMCHECK Errors
R7–Interlocked Queue Hardware Problems
R8–Database Tree Maximum Level Exceeded
R9–Read-only Process Blocked
12. Database Encryption
Introduction
Overview
Disclaimer
Limitations of GT.M Database Encryption
Alternatives to Database Encryption
Device IO
Replication and GT.CM
FIPS Mode
Theory of Operation
Definition of Terms
Overview
Examples of use
Key Management
Tested Reference Implementations
Special note - GNU Privacy Guard and Agents
Installation
Administration and Operation of Encrypted Databases
Utility Programs
Changing Encryption Keys
Database Creation
Plugin Architecture & Interface
Packaging
Extensions to the GT.M External Interface
Operation
Using the V5.4-001 Reference Implementation with Older Releases
Installation
13. GT.CM Client/Server
Introduction
Overview
GT.CM Server
GT.CM Client
GT.CM Server Startup and Shutdown
Types of Operations
Error Messages
Examples
A. GT.M's IPC Resource Usage
Examining GT.M's IPC Resources
gmtsecshr
B. Monitoring GT.M
Monitoring GT.M Messages
Managing core dumps
C. Compiling ICU on GT.M supported platforms
Compiling ICU
Compiling ICU 4.4 on AIX 6.1
Compiling ICU 4.2 on AIX 6.1
Compiling ICU 4.2 on AIX 5.3
Compiling ICU 3.6 on AIX 5.2
Compiling ICU 4.2 on HP Integrity IA64 HP-UX 11.31
Compiling ICU 3.6 on HP Integrity IA64 HP-UX 11.31
Compiling ICU 3.6 on HP PA-RISC HP-UX 11.31 (11iv3)
Compiling ICU 3.6 on HP PA-RISC HP-UX 11.11
Compiling ICU 4.2 on Red Hat Enterprise Linux 4 Update 2
Compiling ICU 3.6 on Red Hat Enterprise Linux 4 Update 2
Compiling ICU 4.4 on Solaris 9 (SunOS 5.9)
Compiling ICU 4.2 on Solaris 9 (SunOS 5.9)
Compiling ICU 3.6 on Solaris 9 (SunOS 5.9)
D. Building Encryption Libraries
Building Encryption Libraries
Ubuntu 8.04 LTS (x86_64)
Red Hat Enterprise Linux 5.4 (x86_64)
Red Hat Enterprise Linux 5.5 (x86)
Red Hat Enterprise Linux 5.3 (IA64)
IBM z/OS (zSeries)
IBM AIX 5.3 (pSeries)
Solaris 9 and 10 (SPARC)
HP-UX 11.31 (IA64)
SUSE Linux Enterprise Server 11 (x86_64)
SUSE Linux Enterprise Server 11 (s390x)
SUSE Linux Enterprise Server 10 (s390x)
E. GT.M Security Philosophy
Philosophy
Normal User and Group Id Rule
Recommendations
gtmsecshr commands
Shared Resource Authorization Permissions
F. GTMPCAT - GT.M Process/Core Analysis Tool
Overview
Usage
Interactive Mode
G. Packaging GT.M Applications
Setting up a Captive User Application with GT.M
Sample .profile
Invoking GT.M through a C main() program
Defensive Practices
Other
Glossary
Index
loading table of contents...