Informix Administrator'

Informix Administrator’s
Reference
Informix Extended Parallel Server, Version 8.3
Informix Dynamic Server.2000, Version 9.2
December 1999
Part No. 000-6521
Published by Informix Press
Informix Corporation
4100 Bohannon Drive
Menlo Park, CA 94025-1032
© 1999 Informix Corporation. All rights reserved. The following are trademarks of Informix Corporation
or its affiliates, one or more of which may be registered in the United States or other jurisdictions:
Answers OnLineTM; C-ISAM; Client SDKTM; DataBlade; Data DirectorTM; Decision FrontierTM;
Dynamic Scalable ArchitectureTM; Dynamic ServerTM; Dynamic ServerTM, Developer EditionTM;
Dynamic ServerTM with Advanced Decision Support OptionTM; Dynamic ServerTM with Extended
Parallel OptionTM; Dynamic ServerTM with MetaCube; Dynamic ServerTM with Universal Data OptionTM;
Dynamic ServerTM with Web Integration OptionTM; Dynamic ServerTM, Workgroup EditionTM;
Dynamic Virtual MachineTM; Extended Parallel ServerTM; FormationTM; Formation ArchitectTM;
Formation Flow EngineTM; Gold Mine Data Access; IIF.2000TM; i.ReachTM; i.SellTM; Illustra; Informix;
Informix 4GL; Informix InquireSM; Informix Internet Foundation.2000TM; InformixLink;
Informix Red Brick Decision ServerTM; Informix Session ProxyTM; Informix VistaTM; InfoShelfTM;
InterforumTM; I-SpyTM; MediazationTM; MetaCube; NewEraTM; ON-BarTM; OnLine Dynamic ServerTM;
OnLine/Secure Dynamic ServerTM; OpenCase; OrcaTM; PaVERTM; Red Brick and Design;
Red Brick Data MineTM; Red Brick Mine BuilderTM; Red Brick DecisionscapeTM; Red Brick ReadyTM;
Red Brick Systems; Regency Support; Rely on Red BrickSM; RISQL; Solution DesignSM; STARindexTM;
STARjoinTM; SuperView; TARGETindexTM; TARGETjoinTM; The Data Warehouse Company;
The one with the smartest data wins.TM; The world is being digitized. We’re indexing it.SM;
Universal Data Warehouse BlueprintTM; Universal Database ComponentsTM; Universal Web ConnectTM;
ViewPoint; VisionaryTM; Web Integration SuiteTM. The Informix logo is registered with the United States
Patent and Trademark Office. The DataBlade logo is registered with the United States Patent and
Trademark Office.
Documentation Team: Diana Chase, Erin Cizina, Karen Goldman-Smith, Mary Kraemer, Hanna Nelson,
Barbara Nomiyama, Virginia Panlasigui, Liz Suto, Keldyn West
GOVERNMENT LICENSE RIGHTS
Software and documentation acquired by or for the US Government are provided with rights as follows:
(1) if for civilian agency use, with rights as restricted by vendor’s standard license, as prescribed in FAR 12.212;
(2) if for Dept. of Defense use, with rights as restricted by vendor’s standard license, unless superseded by a
negotiated vendor license, as prescribed in DFARS 227.7202. Any whole or partial reproduction of software or
documentation marked with this legend must reproduce this legend.
ii Informix Administrator’s Reference
Table of
Contents
Table of Contents
Introduction
In This Introduction . . . . . . . . . . . . .
About This Manual . . . . . . . . . . . . . .
Types of Users . . . . . . . . . . . . . .
Software Dependencies . . . . . . . . . . .
Assumptions About Your Locale. . . . . . . .
Demonstration Databases . . . . . . . . . .
New Features . . . . . . . . . . . . . . . .
New Features in Version 9.2 . . . . . . . . .
New Features in Version 8.3 . . . . . . . . .
Documentation Conventions . . . . . . . . . .
Typographical Conventions . . . . . . . . .
Icon Conventions . . . . . . . . . . . . .
Command-Line Conventions . . . . . . . . .
Sample-Code Conventions . . . . . . . . . .
Screen-Illustration Conventions . . . . . . . .
Additional Documentation . . . . . . . . . . .
On-Line Manuals . . . . . . . . . . . . .
Printed Manuals . . . . . . . . . . . . .
On-Line Help . . . . . . . . . . . . . .
Error Message Documentation . . . . . . . .
Documentation Notes, Release Notes, Machine Notes
Related Reading . . . . . . . . . . . . .
Compliance with Industry Standards . . . . . . .
Informix Welcomes Your Comments . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
3
4
4
5
6
6
9
11
12
13
14
17
17
18
18
18
19
19
19
21
21
21
Chapter 1
Configuration Parameters
In This Chapter . . . . . . . . . . . . . .
ONCONFIG File Conventions . . . . . . . .
Format of ONCONFIG File . . . . . . . .
ONCONFIG File Templates . . . . . . . .
ONCONFIG Parameters . . . . . . . . . .
AC_MSGPATH, AC_STORAGE, and AC_VERBOSE .
ADTERR, ADTMODE, ADTPATH, and ADTSIZE . .
AFF_NPROCS . . . . . . . . . . . . . .
AFF_SPROC . . . . . . . . . . . . . . .
ALARMPROGRAM . . . . . . . . . . . .
ALLOW_NEWLINE . . . . . . . . . . . .
ASYNCRQT . . . . . . . . . . . . . . .
BUFFERS . . . . . . . . . . . . . . . .
CDR_DSLOCKWAIT, CDR_EVALTHREADS,
CDR_LOGBUFFERS, and CDR_QUEUEMEM
CKPTINTVL . . . . . . . . . . . . . . .
CLEANERS . . . . . . . . . . . . . . .
CONFIGSIZE . . . . . . . . . . . . . .
CONSOLE . . . . . . . . . . . . . . .
COSERVER . . . . . . . . . . . . . . .
Datagram Configuration Parameters . . . . . .
DATASKIP . . . . . . . . . . . . . . .
DBSERVERALIASES . . . . . . . . . . . .
DBSERVERNAME . . . . . . . . . . . . .
DBSPACETEMP . . . . . . . . . . . . .
DD_HASHMAX . . . . . . . . . . . . .
DD_HASHSIZE . . . . . . . . . . . . .
DEADLOCK_TIMEOUT . . . . . . . . . .
DIRECTIVES . . . . . . . . . . . . . .
DRAUTO . . . . . . . . . . . . . . . .
DRINTERVAL . . . . . . . . . . . . . .
DRLOSTFOUND . . . . . . . . . . . . .
DRTIMEOUT . . . . . . . . . . . . . .
DS_ADM_POLICY . . . . . . . . . . . .
DS_MAX_QUERIES . . . . . . . . . . . .
DS_MAX_SCANS . . . . . . . . . . . . .
DS_TOTAL_MEMORY . . . . . . . . . . .
DUMPCNT . . . . . . . . . . . . . . .
iv
Informix Administrator’s Reference
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-7
1-7
1-7
1-8
1-10
1-19
1-19
1-20
1-21
1-22
1-25
1-26
1-26
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-28
1-29
1-30
1-30
1-32
1-33
1-34
1-35
1-36
1-38
1-40
1-45
1-45
1-46
1-46
1-47
1-48
1-49
1-50
1-51
1-51
1-53
1-54
1-58
DUMPCORE . . . . . . . . . .
DUMPDIR . . . . . . . . . . .
DUMPGCORE . . . . . . . . .
DUMPSHMEM . . . . . . . . .
END . . . . . . . . . . . . .
FILLFACTOR . . . . . . . . . .
HETERO_COMMIT . . . . . . .
IDX_RA_PAGES . . . . . . . . .
IDX_RA_THRESHOLD . . . . . .
ISM_DATA_POOL and ISM_LOG_POOL
ISOLATION_LOCKS . . . . . . .
JVPxxx and JVMTHREAD . . . . .
LBU_PRESERVE . . . . . . . . .
LOCKS . . . . . . . . . . . .
LOG_BACKUP_MODE . . . . . .
LOGBUFF . . . . . . . . . . .
LOGFILES . . . . . . . . . . .
LOGSIZE . . . . . . . . . . .
LOGSMAX . . . . . . . . . . .
LRUS . . . . . . . . . . . . .
LRU_MAX_DIRTY . . . . . . . .
LRU_MIN_DIRTY . . . . . . . .
LTAPEBLK . . . . . . . . . . .
LTAPEDEV . . . . . . . . . .
LTAPESIZE . . . . . . . . . .
LTXEHWM . . . . . . . . . .
LTXHWM . . . . . . . . . . .
MAX_CHUNKS . . . . . . . . .
MAX_DBSLICES . . . . . . . . .
MAX_DBSPACES . . . . . . . .
MAX_PDQPRIORITY . . . . . . .
MIRROR . . . . . . . . . . .
MIRROROFFSET . . . . . . . .
MIRRORPATH . . . . . . . . .
MSGPATH . . . . . . . . . . .
MULTIPROCESSOR . . . . . . .
NETTYPE . . . . . . . . . . .
NOAGE . . . . . . . . . . . .
NODE . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-59
1-60
1-61
1-62
1-63
1-63
1-64
1-65
1-66
1-67
1-67
1-68
1-69
1-70
1-71
1-71
1-72
1-74
1-76
1-77
1-78
1-78
1-79
1-81
1-82
1-83
1-84
1-85
1-86
1-87
1-88
1-90
1-91
1-92
1-93
1-94
1-94
1-99
1-100
Table of Contents
v
NUMAIOVPS . . . .
NUMCPUVPS . . . .
NUMFIFOVPS . . . .
OFF_RECVRY_THREADS
ON_RECVRY_THREADS
ON-Bar Parameters . .
ONDBSPACEDOWN . .
OPCACHEMAX . . .
OPTCOMPIND
. . .
OPT_GOAL . . . . .
PAGESIZE . . . . .
PC_HASHSIZE . . . .
PC_POOLSIZE . . . .
PDQPRIORITY . . . .
PHYSBUFF . . . . .
PHYSDBS . . . . . .
PHYSFILE . . . . .
PHYSSLICE . . . . .
PLAN_MONITORING .
RA_PAGES . . . . .
RA_THRESHOLD . . .
RESIDENT . . . . .
RESTARTABLE_RESTORE
ROOTNAME . . . .
ROOTOFFSET . . . .
ROOTPATH . . . . .
ROOTSIZE . . . . .
ROOTSLICE . . . . .
SBSPACENAME . . .
SENDEPDS . . . . .
SERVERNUM . . . .
SHMADD . . . . .
SHMBASE . . . . .
SHMTOTAL . . . . .
SHMVIRTSIZE . . . .
SINGLE_CPU_VP . . .
STACKSIZE . . . . .
STAGEBLOB . . . .
STMT_CACHE . . . .
vi
Informix Administrator’s Reference
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-101
1-102
1-103
1-103
1-104
1-105
1-108
1-109
1-110
1-111
1-112
1-114
1-114
1-115
1-117
1-118
1-120
1-121
1-122
1-122
1-123
1-124
1-125
1-126
1-127
1-128
1-129
1-130
1-131
1-132
1-133
1-134
1-135
1-136
1-137
1-138
1-140
1-141
1-141
STMT_CACHE_SIZE . . . .
SYSALARMPROGRAM . . .
SYSSBSPACENAME . . . .
TAPEBLK . . . . . . . .
TAPEDEV . . . . . . . .
TAPESIZE . . . . . . . .
TBLSPACE_STATS . . . . .
TXTIMEOUT . . . . . . .
USEOSTIME . . . . . . .
VPCLASS . . . . . . . .
XMF Configuration Parameters .
Chapter 2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-142
1-143
1-143
1-145
1-146
1-147
1-148
1-148
1-149
1-150
1-158
In This Chapter . . . . . . . . .
The sysmaster Database . . . . . .
The buildsmi Script . . . . . .
The bldutil.sh Script . . . . . .
The System-Monitoring Interface . . .
Understanding the SMI Tables . .
Accessing SMI Tables . . . . . .
The System-Monitoring Interface Tables .
The sysutils Tables . . . . . . .
Backup Scheduler Tables . . . .
sysadtinfo. . . . . . . . . .
sysaudit . . . . . . . . . .
syschkio . . . . . . . . . .
syschunks. . . . . . . . . .
sysconfig . . . . . . . . . .
sysdatabases . . . . . . . . .
sysdbslocale . . . . . . . . .
sysdbspaces . . . . . . . . .
sysdri . . . . . . . . . . .
sysextents . . . . . . . . . .
sysextspaces . . . . . . . . .
syslocks . . . . . . . . . .
syslogs . . . . . . . . . . .
sysprofile . . . . . . . . . .
sysptprof . . . . . . . . . .
syssesprof. . . . . . . . . .
syssessions . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2-3
2-3
2-5
2-5
2-6
2-6
2-7
2-8
2-10
2-10
2-11
2-12
2-13
2-13
2-15
2-16
2-17
2-17
2-19
2-20
2-20
2-21
2-22
2-23
2-25
2-26
2-28
The sysmaster Database
Table of Contents vii
sysseswts . . . . . . . . . . . . . . . . . . .
systabnames . . . . . . . . . . . . . . . . . .
sysvpprof . . . . . . . . . . . . . . . . . . .
syscogroups . . . . . . . . . . . . . . . . . .
syscogroupmembers . . . . . . . . . . . . . . .
The SMI Tables Map . . . . . . . . . . . . . . . . .
Information from onstat in the SMI Tables . . . . . . . . .
Chapter 3
2-30
2-31
2-32
2-33
2-33
2-34
2-37
Utilities
In This Chapter . . . . . . . . . . . . .
The -V Option . . . . . . . . . . . . .
Multibyte Characters . . . . . . . . . . .
oncheck: Check, Repair, or Display . . . . . .
ondblog: Change Logging Mode . . . . . . .
oninit: Initialize the Database Server . . . . .
onlog: Display Logical-Log Contents . . . . .
onmode: Change Mode and Shared Memory . .
onparams: Modify Log-Configuration Parameters .
onspaces: Manage Storage Spaces . . . . . .
onstat: Monitor Database Server Operation . . .
ontape: Log, Back Up, and Restore . . . . . .
onutil: Check, Define, and Modify Storage Objects
ALTER DBSLICE ADD DBSPACE . . . . .
ALTER DBSPACE . . . . . . . . . .
ALTER LOGSLICE ADD LOGS . . . . . .
CHECK CATALOGS . . . . . . . . .
CHECK DATA . . . . . . . . . . .
CHECK INDEX . . . . . . . . . . .
CHECK INDEX KEYS WITH DATA . . . .
CHECK INFO . . . . . . . . . . . .
CHECK LOGS. . . . . . . . . . . .
CHECK RESERVED . . . . . . . . . .
CHECK SPACE . . . . . . . . . . .
CREATE COGROUP . . . . . . . . .
CREATE DBSLICE . . . . . . . . . .
CREATE DBSPACE . . . . . . . . . .
CREATE LOGICAL LOG . . . . . . . .
CREATE LOGICAL LOGSLICE . . . . . .
DISPLAY PAGE . . . . . . . . . . .
DROP COGROUP . . . . . . . . . .
DROP DBSLICE . . . . . . . . . . .
viii Informix Administrator’s Reference
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3-3
3-4
3-4
3-5
3-24
3-26
3-31
3-37
3-57
3-62
3-88
3-132
3-135
3-150
3-159
3-167
3-170
3-171
3-174
3-176
3-178
3-181
3-183
3-186
3-188
3-194
3-207
3-212
3-215
3-217
3-220
3-222
DROP DBSPACE . . . . . .
DROP LOGICAL LOG . . . .
DROP LOGSLICE . . . . . .
xctl: Execute Utilities Across Coservers
Chapter 4
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
ON-Monitor
In This Chapter . . . . . . . . . . . . .
Using ON-Monitor . . . . . . . . . . . .
Navigating ON-Monitor and Using Help . . .
Executing Shell Commands Within ON-Monitor
ON-Monitor Screen Options . . . . . . . . .
Setting Configuration Parameters in ON-Monitor .
Chapter 5
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
4-3
4-3
4-4
4-4
4-5
4-12
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
5-3
5-4
5-4
5-5
5-6
5-8
5-16
5-20
5-23
5-29
5-37
5-43
5-47
5-48
5-50
5-54
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
6-3
6-4
6-4
6-4
6-5
6-5
Message-Log Messages
In This Chapter . . . . . . . . . . .
How the Messages Are Ordered in This Chapter
How to View These Messages . . . . . .
Message Categories . . . . . . . . . .
Messages: A-B . . . . . . . . . . .
Messages: C . . . . . . . . . . . .
Messages: D-E-F . . . . . . . . . . .
Messages: G-H-I . . . . . . . . . . .
Messages: J-K-L-M . . . . . . . . . .
Messages: N-O-P . . . . . . . . . . .
Messages: Q-R-S . . . . . . . . . . .
Messages: T-U-V . . . . . . . . . . .
Messages: W-X-Y-Z . . . . . . . . . .
Messages: Symbols . . . . . . . . . .
Violations Table Messages . . . . . . .
Truncate Table Messages . . . . . . . .
Chapter 6
3-223
3-224
3-226
3-227
Interpreting Logical-Log Records
In This Chapter . . . . . . . . . .
About Logical-Log Records . . . . . .
Transactions That Drop a Table or Index
Transactions That Are Rolled Back . .
Checkpoints with Active Transactions .
Distributed Transactions. . . . . .
Table of Contents ix
Logical-Log Record Structure . . . . . . . . . . . . . .
Logical-Log Record Header . . . . . . . . . . . . .
Logical-Log Record Types and Additional Columns. . . . .
Log Record Types for Smart Large Objects . . . . . . . .
Chapter 7
Disk Structures and Storage
In This Chapter . . . . . . . . . . . . . .
Dbspace Structure and Storage . . . . . . . .
Structure of the Root Dbspace . . . . . . .
Structure of a Regular Dbspace . . . . . . .
Structure of a Mirrored Chunk . . . . . . .
Structure of the Chunk Free-List Page . . . .
Structure of the Tblspace Tblspace . . . . . .
Structure of the Database Tblspace. . . . . .
Structure and Allocation of an Extent . . . . .
Structure and Storage of a Dbspace Page . . .
Structure of Fragmented Tables . . . . . . .
Structure of B-Tree Index Pages . . . . . . .
Structure of Bitmap Indexes . . . . . . . .
Structure of R-Tree Index Pages . . . . . . .
Storage of Simple Large Objects . . . . . . . .
Structure of a Blobspace . . . . . . . . .
Structure of a Dbspace Blobpage . . . . . .
Simple-Large-Object Storage and the Descriptor .
Blobspace Page Types . . . . . . . . . .
Structure of a Blobspace Blobpage . . . . . .
Sbspace Structure . . . . . . . . . . . . .
Structure of the Metadata Area . . . . . . .
Sbpage Structure . . . . . . . . . . . .
Multiple Chunk Sbspace . . . . . . . . .
Database and Table Creation: What Happens on Disk
Database Creation . . . . . . . . . . .
Table Creation . . . . . . . . . . . . .
Chapter 8
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7-3
7-4
7-4
7-5
7-7
7-8
7-9
7-12
7-13
7-22
7-26
7-27
7-35
7-35
7-36
7-36
7-37
7-37
7-38
7-39
7-40
7-42
7-43
7-44
7-45
7-45
7-46
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
8-3
8-3
8-4
8-8
8-8
Loading with External Tables for Extended Parallel Server
In This Chapter . . . . . . . . . . . . .
Getting an Overview of High-Performance Loading
Loading and UnLoading Data . . . . . .
Data-Format Conversion . . . . . . . .
Data Load . . . . . . . . . . . . .
x
6-6
6-6
6-7
6-21
Informix Administrator’s Reference
Data Unload . . . . . . . . . . . . . . . .
File Types and Formats . . . . . . . . . . . .
Loading Modes . . . . . . . . . . . . . . .
Optimization . . . . . . . . . . . . . . .
Starting to Load and Unload Data . . . . . . . . . .
Specifying the External Table . . . . . . . . . .
Loading Data in Express Mode . . . . . . . . .
Loading Data in Deluxe Mode. . . . . . . . . .
Loading, Unloading, and Reorganizing Data . . . . . .
Loading from a Delimited File with Unchanged Columns
Unloading to a Delimited File . . . . . . . . . .
Mapping Columns to Other Columns . . . . . . .
Unloading to an Informix Data File . . . . . . . .
Loading Between Tables That Have the Same Schema .
Loading from a Fixed-ASCII File . . . . . . . . .
Unloading to a Fixed-ASCII File . . . . . . . . .
Loading from an IBM Fixed-EBCDIC File . . . . . .
Loading from and Unloading to a Named Pipe . . .
Adding an End-of-Line Character to a Fixed-ASCII File .
Loading Values into Serial Columns. . . . . . . .
Loading Data Warehousing Tables . . . . . . . .
Loading Simple Large Objects . . . . . . . . . . .
Formats for Simple Large Objects . . . . . . . .
Loading Simple Large Objects from an External Table .
Using Pipe Staging . . . . . . . . . . . . .
Monitoring the Load or Unload Operations . . . . . .
Monitoring Frequent Loads and Unloads . . . . . .
Monitoring FIFO Virtual Processors . . . . . . . .
Monitoring Loads and Unloads of Data . . . . . .
Recovering After Errors . . . . . . . . . . . . .
Reject Files . . . . . . . . . . . . . . . .
Error Messages . . . . . . . . . . . . . . .
Recoverability of Table Types . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8-8
8-9
8-9
8-10
8-12
8-12
8-13
8-15
8-16
8-17
8-17
8-18
8-19
8-19
8-20
8-21
8-22
8-22
8-26
8-28
8-28
8-32
8-32
8-38
8-40
8-44
8-44
8-45
8-46
8-49
8-49
8-51
8-52
Table of Contents xi
Appendix A
Files That the Database Server Uses
Appendix B
Trapping Errors
Appendix C
Thread Suspension
Appendix D
Event Alarms
Index
xii
Informix Administrator’s Reference
Introduction
Introduction
In This Introduction
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
About This Manual . . . . . . .
Types of Users . . . . . . .
Software Dependencies . . . .
Assumptions About Your Locale .
Demonstration Databases . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
4
4
5
New Features . . . . . . . . . . . .
New Features in Version 9.2 . . . . .
Extensibility Enhancements . . . .
Performance Improvements . . . .
Special Features . . . . . . . .
New Logical-Log Records . . . . .
Version 9.2 Features from Version 7.30
New Features in Version 8.3 . . . . .
Configuration Enhancements . . .
Performance Enhancements . . . .
New SQL Functionality . . . . .
Year 2000 Compliance . . . . . .
New Logical-Log Records . . . . .
Utility Enhancements . . . . . .
Version 8.3 Features from Version 7.30
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6
6
6
7
7
8
8
9
9
10
10
10
10
11
11
Documentation Conventions . . . . .
Typographical Conventions . . . .
Icon Conventions . . . . . . . .
Comment Icons . . . . . . .
Feature, Product, and Platform Icons
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
11
12
13
13
13
.
.
.
.
.
Command-Line Conventions . . . . . .
How to Read a Command-Line Diagram.
Sample-Code Conventions . . . . . . .
Screen-Illustration Conventions . . . . .
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
14
16
17
17
Additional Documentation . . . . . . . . . . .
On-Line Manuals . . . . . . . . . . . . .
Printed Manuals . . . . . . . . . . . . .
On-Line Help . . . . . . . . . . . . . .
Error Message Documentation . . . . . . . .
Documentation Notes, Release Notes, Machine Notes
Related Reading . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
18
18
18
19
19
19
21
Compliance with Industry Standards.
.
.
.
.
.
.
.
.
.
.
21
Informix Welcomes Your Comments .
.
.
.
.
.
.
.
.
.
.
21
Informix Administrator’s Reference
.
.
.
.
.
.
.
.
In This Introduction
This Introduction provides an overview of the information in this manual
and describes the conventions it uses.
About This Manual
This manual provides reference material for Informix Dynamic Server 2000
and Informix Extended Parallel Server. It provides the syntax of database
server utilities such as onmode and onstat, and comprehensive descriptions
of configuration parameters, the sysmasters tables, and logical-log records. It
also provides information about loading and unloading external tables in
Extended Parallel Server.
This book has two companion volumes, the Administrator’s Guide and the
Performance Guide.
Types of Users
This manual is written for the following users:
■
Database users
■
Database administrators
■
Database server administrators
■
Programmers in the following categories
❑
Application developers
❑
DataBlade module developers
❑
Authors of user-defined routines
Introduction 3
Software Dependencies
This manual assumes that you have the following background:
■
A working knowledge of your computer, your operating system,
and the utilities that your operating system provides
■
Some experience working with relational databases or exposure to
database concepts
■
Some experience with computer programming
■
Some experience with database server administration, operatingsystem administration, or network administration
If you have limited experience with relational databases, SQL, or your
operating system, refer to the Getting Started manual for your database server
for a list of supplementary titles.
Software Dependencies
This manual assumes that you are using one of the following database
servers:
■
Informix Extended Parallel Server, Version 8.3
■
Informix Dynamic Server 2000, Version 9.2
Assumptions About Your Locale
Informix products can support many languages, cultures, and code sets. All
culture-specific information is brought together in a single environment,
called a Global Language Support (GLS) locale.
This manual assumes that you use the U.S. 8859-1 English locale as the
default locale. The default is en_us.8859-1 (ISO 8859-1) on UNIX platforms or
en_us.1252 (Microsoft 1252) for Windows NT environments. This locale
supports U.S. English format conventions for dates, times, and currency, and
also supports the ISO 8859-1 or Microsoft 1252 code set, which includes the
ASCII code set plus many 8-bit characters such as é, è, and ñ.
4
Informix Administrator’s Reference
Demonstration Databases
If you plan to use nondefault characters in your data or your SQL identifiers,
or if you want to conform to the nondefault collation rules of character data,
you need to specify the appropriate nondefault locale.
For instructions on how to specify a nondefault locale, additional syntax, and
other considerations related to GLS locales, see the Informix Guide to GLS
Functionality.
Demonstration Databases
The DB-Access utility, which is provided with your Informix database server
products, includes one or more of the following demonstration databases:
■
The stores_demo database illustrates a relational schema with information about a fictitious wholesale sporting-goods distributor.
Many examples in Informix manuals are based on the stores_demo
database.
XPS
■
The sales_demo database illustrates a dimensional schema for data
warehousing applications. For conceptual information about dimensional data modeling, see the Informix Guide to Database Design and
Implementation. ♦
IDS
■
The superstores_demo database illustrates an object-relational
schema. The superstores_demo database contains examples of
extended data types, type and table inheritance, and user-defined
routines. ♦
For information about how to create and populate the demonstration
databases, see the DB-Access User’s Manual. For descriptions of the databases
and their contents, see the Informix Guide to SQL: Reference.
The scripts that you use to install the demonstration databases reside in the
$INFORMIXDIR/bin directory on UNIX platforms and in the
%INFORMIXDIR%\bin directory in Windows environments.
Introduction 5
New Features
New Features
For a comprehensive list of new database server features, see the release
notes. This section lists new features relevant to this manual and the
Administrator’s Guide.
New Features in Version 9.2
This manual describes new features in Version 9.2 of Dynamic Server. The
features fall into the following areas:
■
Extensibility enhancements
■
Performance improvements
■
Special features
■
New logical-log records
■
Version 9.2 features from Version 7.30 of Dynamic Server
Extensibility Enhancements
This manual describes the following extensibility enhancements to
Version 9.2 of Dynamic Server:
■
Enhancements to the database server: dynamic lock allocation
■
New configuration parameters for the following features:
■
■
6
❑
Embedded newline characters in quoted strings
❑
User-defined statistics routines
Enhancements to smart large objects:
❑
Round-robin fragmentation for smart large objects
❑
ALTER TABLE for smart large objects
Extensions to utilities:
❑
onstat for user-defined aggregates
❑
oncheck and onlog for R-tree indexes
Informix Administrator’s Reference
New Features in Version 9.2
Performance Improvements
This manual describes the following performance improvements to
Version 9.2 of Dynamic Server:
■
For the database server: fuzzy checkpoints
■
New configuration parameters for the SQL statement cache
■
Extensions to onstat for the SQL statement cache
Your Performance Guide describes additional performance improvements to
Version 9.2 of Dynamic Server.
Special Features
This manual describes administration considerations for the following
special features of Version 9.2 of Dynamic Server:
■
■
Long identifiers:
❑
128-character identifier
❑
32-character user names
New configuration parameters:
❑
AC_MSGPATH
❑
AC_STORAGE
❑
AC_VERBOSE
❑
ALLOW_NEWLINE
❑
BAR_HISTORY
❑
BAR_PROGRESS_FREQ
❑
DD_HASHMAX
❑
DD_HASHSIZE
❑
PC_HASHSIZE
❑
PC_POOLSIZE
❑
STMT_CACHE
❑
STMT_CACHE_SIZE
❑
SYSSBSPACENAME
Introduction 7
New Features in Version 9.2
New Logical-Log Records
This manual describes the new logical-log records in Version 9.2 of Dynamic
Server:
■
DPT logical-log record
■
SBLOB logical-log record
Version 9.2 Features from Version 7.30
This manual also describes features first released in Version 7.30. These
features fall into the following areas:
■
❑
Multiple residency
❑
Raw device support
❑
Microsoft cluster support
❑
Local-connection support with named pipes
■
Informix Storage Manager (ISM) to manage the storage devices and
media that contain backups
■
Connectivity:
❑
Greater network security available through support of thirdparty security services
❑
Client interfaces (ESQL/C, Informix ODBC, C++, Java, JDBC, GLS)
supported in a single package
■
Optical Subsystem shared-library support: no need to order a
separate product
■
New options for the oncheck utility:
■
8
Windows NT-specific features:
❑
The oncheck -w option to check and print an index without
placing a shared lock on the table
❑
The oncheck -R option to check the reserved pages, physical-log
pages, and logical-log pages
New configuration parameters:
❑
OPT_GOAL
❑
TBLSPACE_STATS
Informix Administrator’s Reference
New Features in Version 8.3
New Features in Version 8.3
This manual describes new features in Version 8.3 of Extended Parallel
Server. The features fall into the following areas:
■
Configuration enhancements
■
Performance enhancements
■
New SQL functionality
■
Year 2000 compliance
■
New logical-log records
■
Utility enhancements
■
Version 8.3 features from Version 7.30 of Dynamic Server
Configuration Enhancements
This manual describes the following configuration enhancements to
Version 8.3 of Extended Parallel Server:
■
Increased maximum number of chunks, dbspaces, and dbslices
■
Increased maximum chunk size
■
Configurable page size
■
64-bit very large memory (VLM)
■
New configuration parameters:
❑
ALARMPROGRAM
❑
BAR_HISTORY
❑
BAR_PROGRESS_FREQ
❑
IDX_RA_PAGES
❑
IDX_RA_THRESHOLD
❑
ISOLATION_LOCKS
❑
MAX_CHUNKS
❑
MAX_DBSLICES
❑
MAX_DBSPACES
❑
OPTCOMPIND
❑
PAGESIZE
Introduction 9
New Features in Version 8.3
❑
PC_HASHSIZE
❑
PC_POOLSIZE
❑
PLAN_MONITORING
❑
SYSALARMPROGRAM
Performance Enhancements
This manual describes the following performance enhancements to
Version 8.3 of Extended Parallel Server:
■
Dynamic lock allocation
■
Fuzzy checkpoints
■
Skipping logical-log replay during restore
■
Thread suspension to prevent database server failure for severe
errors
Your Performance Guide describes additional performance improvements to
Version 8.3 of Extended Parallel Server.
New SQL Functionality
You can now load and unload simple large objects to external tables.
Year 2000 Compliance
This manual describes the following Year 2000 compliance features in
Version 8.3 of Extended Parallel Server:
■
DBCENTURY environment variable
■
Support for ISM, Version 2.2
New Logical-Log Records
This manual describes the following new logical-log records in Version 8.3 of
Extended Parallel Server:
10
■
DPT logical-log record (fuzzy checkpoints)
■
Three logical-log records for the TRUNCATE TABLE statement
Informix Administrator’s Reference
Documentation Conventions
Utility Enhancements
Version 8.3 of Extended Parallel Server provides new options for the onutil
utility.
■
onutil CHECK, without locks
■
onutil CHECK, repair improvements
■
onutil ALTER DBSLICE
■
onutil ALTER LOGSLICE
Version 8.3 Features from Version 7.30
This manual describes the following features from Version 7.30 of Dynamic
Server in Version 8.3 of Extended Parallel Server:
■
Deferred constraints for all constraint types
■
Memory-resident tables
■
ondblog to change database logging
■
TBLSPACE_STATS configuration parameter
■
Violations table
Documentation Conventions
This section describes the conventions that this manual uses. These
conventions make it easier to gather information from this and other volumes
in the documentation set.
The following conventions are discussed:
■
Typographical conventions
■
Icon conventions
■
Command-line conventions
■
Sample-code conventions
Introduction 11
Typographical Conventions
Typographical Conventions
This manual uses the following conventions to introduce new terms,
illustrate screen displays, describe command syntax, and so forth.
Convention
Meaning
KEYWORD
All primary elements in a programming language statement
(keywords) appear in uppercase letters in a serif font.
italics
italics
Within text, new terms and emphasized words appear in italics.
Within syntax and code examples, variable values that you are
to specify appear in italics.
italics
boldface
boldface
Names of program entities (such as classes, events, and tables),
environment variables, file and pathnames, and interface
elements (such as icons, menu items, and buttons) appear in
boldface.
monospace
monospace
Information that the product displays and information that you
enter appear in a monospace typeface.
KEYSTROKE
Keys that you are to press appear in uppercase letters in a sans
serif font.
♦
This symbol indicates the end of one or more product- or
platform-specific paragraphs.
➞
This symbol indicates a menu item. For example, “Choose
Tools➞Options” means choose the Options item from the
Tools menu.
Tip: When you are instructed to “enter” characters or to “execute” a command,
immediately press RETURN after the entry. When you are instructed to “type” the
text or to “press” other keys, no RETURN is required.
12
Informix Administrator’s Reference
Icon Conventions
Icon Conventions
Throughout the documentation, you will find text that is identified by several
different types of icons. This section describes these icons.
Comment Icons
Comment icons identify three types of information, as the following table
describes. This information always appears in italics.
Icon
Label
Description
Warning:
Identifies paragraphs that contain vital instructions,
cautions, or critical information
Important:
Identifies paragraphs that contain significant
information about the feature or operation that is
being described
Tip:
Identifies paragraphs that offer additional details or
shortcuts for the functionality that is being described
Feature, Product, and Platform Icons
Feature, product, and platform icons identify paragraphs that contain
feature-specific, product-specific, or platform-specific information.
Icon
Description
DB
Identifies information or syntax that is specific to
DB-Access
E/C
Identifies information or syntax that is specific to Informix
ESQL/C
GLS
Identifies information that relates to the Informix Global
Language Support (GLS) feature
(1 of 2)
Introduction 13
Command-Line Conventions
Icon
Description
IDS
Identifies information that is specific to Informix Dynamic
Server 2000
Java
Identifies information that is specific to the Java language
UNIX
Identifies information that is specific to UNIX platforms
WIN NT
Identifies information that is specific to the Windows NT
environment
XPS
Identifies information or syntax that is specific to Informix
Extended Parallel Server
(2 of 2)
These icons can apply to an entire section or to one or more paragraphs
within a section. If an icon appears next to a section heading, the information
that applies to the indicated feature, product, or platform ends at the next
heading at the same or higher level. A ♦ symbol indicates the end of feature-,
product-, or platform-specific information that appears within one or more
paragraphs within a section.
Command-Line Conventions
This section defines and illustrates the format of commands that are available
in Informix products. These commands have their own conventions, which
might include alternative forms of a command, required and optional parts
of the command, and so forth.
Each diagram displays the sequences of required and optional elements that
are valid in a command. A diagram begins at the upper-left corner with a
command. It ends at the upper-right corner with a vertical line. Between
these points, you can trace any path that does not stop or back up. Each path
describes a valid form of the command. You must supply a value for words
that are in italics.
14
Informix Administrator’s Reference
Command-Line Conventions
You might encounter one or more of the following elements on a commandline path.
Element
Description
command
This required element is usually the product name or
other short word that invokes the product or calls the
compiler or preprocessor script for a compiled Informix
product. It might appear alone or precede one or more
options. You must spell a command exactly as shown
and use lowercase letters.
variable
A word in italics represents a value that you must
supply, such as a database, file, or program name. A table
following the diagram explains the value.
-flag
A flag is usually an abbreviation for a function, menu, or
option name, or for a compiler or preprocessor
argument. You must enter a flag exactly as shown,
including the preceding hyphen.
.ext
A filename extension, such as .sql or .cob, might follow
a variable that represents a filename. Type this extension
exactly as shown, immediately after the name of the file.
The extension might be optional in certain products.
(.,;+*-/)
Punctuation and mathematical notations are literal
symbols that you must enter exactly as shown.
' '
Single quotes are literal symbols that you must enter as
shown.
Privileges
p. 5-17
Privileges
ALL
A reference in a box represents a subdiagram. Imagine
that the subdiagram is spliced into the main diagram at
this point. When a page number is not specified, the
subdiagram appears on the same page.
A shaded option is the default action.
Syntax within a pair of arrows indicates a subdiagram.
The vertical line terminates the command.
(1 of 2)
Introduction 15
Command-Line Conventions
Element
-f
Description
OFF
ON
,
variable
,
3
size
A branch below the main path indicates an optional
path. (Any term on the main path is required, unless a
branch can circumvent it.)
A loop indicates a path that you can repeat. Punctuation
along the top of the loop indicates the separator symbol
for list items.
A gate ( 3 ) on a path indicates that you can only use
that path the indicated number of times, even if it is part
of a larger loop. You can specify size no more than three
times within this statement segment.
(2 of 2)
How to Read a Command-Line Diagram
Figure 1 shows a command-line diagram that uses some of the elements that
are listed in the previous table.
Figure 1
Example of a Command-Line Diagram
setenv
INFORMIXC
compiler
pathname
To construct a command correctly, start at the top left with the command.
Follow the diagram to the right, including the elements that you want. The
elements in the diagram are case sensitive.
Figure 1 illustrates the following steps:
1.
Type setenv.
2.
Type INFORMIXC.
3.
Supply either a compiler name or a pathname.
After you choose compiler or pathname, you come to the terminator.
Your command is complete.
4.
16
Press RETURN to execute the command.
Informix Administrator’s Reference
Sample-Code Conventions
Sample-Code Conventions
Examples of SQL code occur throughout this manual. Except where noted,
the code is not specific to any single Informix application development tool.
If only SQL statements are listed in the example, they are not delimited by
semicolons. For instance, you might see the code in the following example:
CONNECT TO stores_demo
...
DELETE FROM customer
WHERE customer_num = 121
...
COMMIT WORK
DISCONNECT CURRENT
To use this SQL code for a specific product, you must apply the syntax rules
for that product. For example, if you are using DB-Access, you must delimit
multiple statements with semicolons. If you are using an SQL API, you must
use EXEC SQL at the start of each statement and a semicolon (or other appropriate delimiter) at the end of the statement.
Tip: Ellipsis points in a code example indicate that more code would be added in a
full application, but it is not necessary to show it to describe the concept being
discussed.
For detailed directions on using SQL statements for a particular application
development tool or SQL API, see the manual for your product.
Screen-Illustration Conventions
The illustrations in this manual represent a generic rendition of various
windowing environments. The details of dialog boxes, controls, and
windows were deleted or redesigned to provide this generic look. Therefore,
the illustrations in this manual depict your product interface a little differently than the way it appears on your screen.
Introduction 17
Additional Documentation
Additional Documentation
For additional information, you might want to refer to the following types of
documentation:
■
On-line manuals
■
Printed manuals
■
On-line help
■
Error message documentation
■
Documentation notes, release notes, and machine notes
■
Related reading
On-Line Manuals
An Answers OnLine CD that contains Informix manuals in electronic format
is provided with your Informix products. You can install the documentation
or access it directly from the CD. For information about how to install, read,
and print on-line manuals, see the installation insert that accompanies
Answers OnLine.
Printed Manuals
To order printed manuals, call 1-800-331-1763 or send email to
moreinfo@informix.com. Please provide the following information when
you place your order:
18
■
The documentation that you need
■
The quantity that you need
■
Your name, address, and telephone number
Informix Administrator’s Reference
On-Line Help
WIN NT
On-Line Help
Informix provides on-line help with each graphical user interface (GUI) that
displays information about those interfaces and the functions that they
perform. Use the help facilities that each GUI provides to display the on-line
help.
Error Message Documentation
Informix software products provide ASCII files that contain all of the
Informix error messages and their corrective actions.
UNIX
To read error messages and corrective actions on UNIX, use one of the
following utilities.
Utility
Description
finderr
Displays error messages on line
rofferr
Formats error messages for printing
♦
WIN NT
To read error messages and corrective actions in Windows environments, use
the Informix Find Error utility. To display this utility, choose
Start➞Programs➞Informix from the Task Bar. ♦
Instructions for using the preceding utilities are available in Answers
OnLine. Answers OnLine also provides a listing of error messages and
corrective actions in HTML format.
Documentation Notes, Release Notes, Machine Notes
In addition to printed documentation, the following sections describe the online files that supplement the information in this manual. Please examine
these files before you begin using your database server. They contain vital
information about application and performance issues.
Introduction 19
Documentation Notes, Release Notes, Machine Notes
UNIX
On UNIX platforms, the following on-line files appear in the
$INFORMIXDIR/release/en_us/0333 directory. Replace x.y in the filenames
with the version number of your database server.
On-Line File
Purpose
ADREFDOC_x.y
The documentation notes file for your version of this
manual describes topics that are not covered in the
manual or that were modified since publication.
SERVERS_x.y
The release notes file describes feature differences from
earlier versions of Informix products and how these
differences might affect current products. This file also
contains information about any known problems and
their workarounds.
IDS_9.2 or
XPS_x.y
The machine notes file describes any special actions
that you must take to configure and use Informix
products on your computer. The machine notes are
named for the product described.
♦
WIN NT
The following items appear in the Informix folder. To display this folder,
choose Start➞Programs➞Informix from the Task Bar.
Program Group Item
Description
Documentation Notes
This item includes additions or corrections to manuals,
along with information about features that might not
be covered in the manuals or that have been modified
since publication.
Release Notes
This item describes feature differences from earlier
versions of Informix products and how these differences might affect current products. This file also
contains information about any known problems and
their workarounds.
The machine notes do not apply to Windows environments. ♦
20
Informix Administrator’s Reference
Related Reading
Related Reading
The following publications provide additional information about the topics
that are discussed in this manual:
■
An Introduction to Database Systems by C.M. Date (Addison-Wesley
Publishing, 1995)
■
C: The Complete Reference by Herbert Schildt (Osborne McGraw-Hill,
1995)
For a list of publications that provide an introduction to database servers and
operating-system platforms, refer to your Getting Started manual.
Compliance with Industry Standards
The American National Standards Institute (ANSI) has established a set of
industry standards for SQL. Informix SQL-based products are fully compliant
with SQL-92 Entry Level (published as ANSI X3.135-1992), which is identical
to ISO 9075:1992. In addition, many features of Informix database servers
comply with the SQL-92 Intermediate and Full Level and X/Open SQL CAE
(common applications environment) standards.
Informix Welcomes Your Comments
Let us know what you like or dislike about our manuals. To help us with
future versions of our manuals, we want to know about any corrections or
clarifications that you would find useful. Include the following information:
■
The name and version of the manual that you are using
■
Any comments that you have about the manual
■
Your name, address, and phone number
Introduction 21
Informix Welcomes Your Comments
Send electronic mail to us at the following address:
doc@informix.com
The doc alias is reserved exclusively for reporting errors and omissions in our
documentation.
We appreciate your suggestions.
22
Informix Administrator’s Reference
Chapter
Configuration Parameters
In This Chapter .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-7
ONCONFIG File Conventions .
Format of ONCONFIG File.
ONCONFIG File Templates
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-7
1-7
1-8
ONCONFIG Parameters .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-10
AC_MSGPATH, AC_STORAGE, and AC_VERBOSE .
.
.
.
.
.
.
1-19
ADTERR, ADTMODE, ADTPATH, and ADTSIZE .
.
.
.
.
.
.
.
1-19
AFF_NPROCS .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-20
AFF_SPROC .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-21
ALARMPROGRAM
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-22
ALLOW_NEWLINE .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-25
ASYNCRQT .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-26
BUFFERS .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-26
CDR_DSLOCKWAIT, CDR_EVALTHREADS, CDR_LOGBUFFERS,
and CDR_QUEUEMEM . . . . . . . . . . . . .
.
1-28
CKPTINTVL .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-29
CLEANERS .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-30
CONFIGSIZE .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-30
CONSOLE .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-32
COSERVER
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-33
.
.
.
.
.
.
1
.
.
1-2
Datagram Configuration Parameters .
.
.
.
.
.
.
.
.
.
.
.
.
1-34
DATASKIP .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-35
DBSERVERALIASES .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-36
DBSERVERNAME .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-38
DBSPACETEMP .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-40
DD_HASHMAX .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-45
DD_HASHSIZE .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-45
DEADLOCK_TIMEOUT .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-46
DIRECTIVES .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-46
DRAUTO .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-47
DRINTERVAL
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-48
DRLOSTFOUND
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-49
DRTIMEOUT .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-50
DS_ADM_POLICY .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-51
DS_MAX_QUERIES
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-51
DS_MAX_SCANS .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-53
DS_TOTAL_MEMORY
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-54
DUMPCNT
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-58
DUMPCORE .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-59
DUMPDIR .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-60
DUMPGCORE
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-61
DUMPSHMEM .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-62
END .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-63
FILLFACTOR .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-63
HETERO_COMMIT
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-64
Informix Administrator’s Reference
IDX_RA_PAGES .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-65
IDX_RA_THRESHOLD .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-66
ISM_DATA_POOL and ISM_LOG_POOL
.
.
.
.
.
.
.
.
.
.
. 1-67
ISOLATION_LOCKS .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-67
JVPxxx and JVMTHREAD .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-68
LBU_PRESERVE .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-69
LOCKS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-70
LOG_BACKUP_MODE .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-71
LOGBUFF
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-71
LOGFILES
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-72
LOGSIZE .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-74
LOGSMAX .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-76
LRUS .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-77
LRU_MAX_DIRTY
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-78
LRU_MIN_DIRTY .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-78
LTAPEBLK .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-79
LTAPEDEV .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-81
LTAPESIZE .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-82
LTXEHWM .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-83
LTXHWM
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-84
MAX_CHUNKS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-85
MAX_DBSLICES .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-86
MAX_DBSPACES .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-87
MAX_PDQPRIORITY
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-88
MIRROR .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-90
.
.
.
.
.
.
.
.
.
.
.
.
Configuration Parameters 1-3
1-4
MIRROROFFSET
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-91
MIRRORPATH .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-92
MSGPATH .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-93
MULTIPROCESSOR
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-94
NETTYPE .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-94
NOAGE .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1-99
NODE .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-100
NUMAIOVPS.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-101
NUMCPUVPS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-102
NUMFIFOVPS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-103
OFF_RECVRY_THREADS .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-103
ON_RECVRY_THREADS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-104
ON-Bar Parameters .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-105
ONDBSPACEDOWN .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-108
OPCACHEMAX .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-109
OPTCOMPIND .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-110
OPT_GOAL .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-111
PAGESIZE .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-112
PC_HASHSIZE .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-114
PC_POOLSIZE .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-114
PDQPRIORITY .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-115
PHYSBUFF.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-117
PHYSDBS .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-118
PHYSFILE .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-120
PHYSSLICE .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-121
.
Informix Administrator’s Reference
PLAN_MONITORING .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-122
RA_PAGES .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-122
RA_THRESHOLD .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-123
RESIDENT .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-124
RESTARTABLE_RESTORE .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-125
ROOTNAME
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-126
ROOTOFFSET .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-127
ROOTPATH .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-128
ROOTSIZE .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-129
ROOTSLICE .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-130
SBSPACENAME .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-131
SENDEPDS .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-132
SERVERNUM .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-133
SHMADD
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-134
SHMBASE .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-135
SHMTOTAL .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-136
SHMVIRTSIZE .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-137
SINGLE_CPU_VP .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-138
STACKSIZE .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-140
STAGEBLOB
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-141
STMT_CACHE .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-141
STMT_CACHE_SIZE.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-142
SYSALARMPROGRAM.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-143
SYSSBSPACENAME .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-143
TAPEBLK.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-145
.
.
.
.
Configuration Parameters 1-5
1-6
TAPEDEV .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-146
TAPESIZE .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-147
TBLSPACE_STATS .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-148
TXTIMEOUT .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-148
USEOSTIME .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-149
VPCLASS .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-150
XMF Configuration Parameters.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1-158
.
Informix Administrator’s Reference
In This Chapter
This chapter describes the ONCONFIG file conventions, lists the configuration
parameters in the ONCONFIG file, and provides a short discussion of each
parameter.
ONCONFIG File Conventions
The ONCONFIG environment variable specifies the file that contains the
configuration parameters. This manual often refers to this file as the
ONCONFIG file. The database server uses the ONCONFIG file during
initialization.
Format of ONCONFIG File
In the ONCONFIG file, each parameter is on a separate line. The file can also
contain blank lines and comment lines that start with a # symbol. The
following line shows the syntax for a parameter line:
PARAMETER_NAME
parameter_value
#comment
Parameters and their values in the ONCONFIG file are case sensitive. The
parameter names are always uppercase. If the value entry is described with
uppercase letters, you must use uppercase (for example, the CPU value of the
NETTYPE parameter). You must put white space (tabs, spaces, or both)
between the parameter name, parameter value, and optional comment. Do
not use any tabs or spaces within a parameter value.
Configuration Parameters 1-7
ONCONFIG File Templates
ONCONFIG File Templates
The database server provides a template for a configuration file that contains
initial values for many of the ONCONFIG parameters. You can copy and tailor
the template to your specific configuration.
IDS
Informix Dynamic Server 2000 provides onconfig.std as a template configuration file that you can copy and tailor to your specific configuration. ♦
XPS
Informix Extended Parallel Server provides two templates for the ONCONFIG
file that you can copy and tailor to your specific configuration:
■
onconfig.std for a single-coserver configuration
■
onconfig.xps for a multiple-coserver configuration ♦
If you omit a parameter value in your copy of the configuration file, the
database server either uses default values in onconfig.std or calculates values
based on other parameter values. For information on the order of files in
which the database server looks for configuration values during initialization, refer to the chapter on initializing the database server in the
Administrator’s Guide.
Warning: Do not modify onconfig.std. The database server provides the
onconfig.std configuration file as a template and not as a functional configuration.
The following table lists the locations of the ONCONFIG and onconfig.std
files.
Operating
System
ONCONFIG File
Template File
UNIX
$INFORMIXDIR/etc/$ONCONFIG
$INFORMIXDIR/etc/onconfig.std
$INFORMIXDIR/etc/onconfig.xps (XPS)
Windows NT
(IDS)
%INFORMIXDIR%\etc\%ONCONFIG%
%INFORMIXDIR%\etc\onconfig.std
1-8
Informix Administrator’s Reference
ONCONFIG File Templates
To prepare the ONCONFIG file
1.
XPS
Copy the pertinent template file:
■
onconfig.std
■
onconfig.xps ♦
2.
Modify the copy of the template file.
3.
Set the ONCONFIG environment variable to the name of the copy of
the pertinent template file.
If you do not set ONCONFIG, the default filename is onconfig.
For more details on why you might want to modify the default configuration
parameters, refer to the chapter on installing and configuring the database
server in the Administrator’s Guide.
For more information about the ONCONFIG environment variable, see the
Informix Guide to SQL: Reference. For more information about the ONCONFIG
files, see Appendix A, “Files That the Database Server Uses.”
Configuration Parameters 1-9
ONCONFIG Parameters
ONCONFIG Parameters
This section provides the following information:
■
A list of each configuration parameter with database server
compatibility
■
A description of the attributes listed for each configuration
parameter
Summary of Configuration Parameters
The configuration parameters and database server compatibility are as
follows.
Always
coserver
specific
Configuration Parameter
IDS
AC_MSGPATH
✔
page 1-19
AC_STORAGE
✔
page 1-19
AC_VERBOSE
✔
page 1-19
ADTERR
✔
page 1-19
ADTMODE
✔
page 1-19
ADTPATH
✔
page 1-19
ADTSIZE
✔
page 1-19
AFF_NPROCS
✔
✔
✔
page 1-20
AFF_SPROC
✔
✔
✔
page 1-21
ALARMPROGRAM
✔
✔
ALLOW_NEWLINE
✔
ASYNCRQT
BAR_ACT_LOG
✔
XPS
Can be
coserver
specific
Reference
page 1-22
page 1-25
✔
page 1-26
✔
page 1-104
(1 of 8)
1-10
Informix Administrator’s Reference
ONCONFIG Parameters
Configuration Parameter
IDS
XPS
Can be
coserver
specific
Always
coserver
specific
Reference
✔
page 1-104
✔
page 1-104
✔
page 1-104
✔
page 1-104
BAR_IDLE_TIMEOUT
✔
page 1-104
BAR_LOG_COSVR
✔
page 1-104
BAR_BOOT_DIR
BAR_BSALIB_PATH
✔
BAR_DBS_COSVR
BAR_HISTORY
✔
BAR_MAX_BACKUP
✔
page 1-104
BAR_NB_XPORT_COUNT
✔
page 1-104
BAR_PROGRESS_FREQ
✔
✔
page 1-104
BAR_RETRY
✔
✔
page 1-104
BAR_SM
✔
page 1-104
BAR_SM_NAME
✔
page 1-104
BAR_WORKER_COSVR
✔
page 1-104
BAR_WORKER_MAX
✔
page 1-104
BAR_XFER_BUF_SIZE
✔
page 1-104
BAR_XFER_BUFSIZE
✔
page 1-104
BAR_XPORT_COUNT
✔
page 1-104
✔
page 1-26
BUFFERS
✔
CDR_DSLOCKWAIT
✔
page 1-28
CDR_EVALTHREADS
✔
page 1-28
CDR_LOGBUFFERS
✔
page 1-28
CDR_QUEUEMEM
✔
page 1-28
CKPTINTVL
✔
✔
page 1-29
(2 of 8)
Configuration Parameters 1-11
ONCONFIG Parameters
Can be
coserver
specific
Always
coserver
specific
Configuration Parameter
IDS
XPS
CLEANERS
✔
✔
page 1-30
✔
page 1-30
✔
page 1-32
CONFIGSIZE
CONSOLE
✔
✔
COSERVER
✔
Reference
page 1-33
DATASKIP
✔
✔
page 1-35
DBSERVERALIASES
✔
✔
page 1-36
DBSERVERNAME
✔
✔
page 1-38
DBSPACETEMP
✔
✔
page 1-40
DD_HASHMAX
✔
page 1-45
DD_HASHSIZE
✔
page 1-45
DEADLOCK_TIMEOUT
✔
page 1-46
✔
DGINFO
page 1-34
DIRECTIVES
✔
page 1-46
DRINTERVAL
✔
page 1-47
DRLOSTFOUND
✔
page 1-48
DRTIMEOUT
✔
page 1-49
DS_ADM_POLICY
✔
page 1-50
✔
page 1-50
DS_MAX_QUERIES
✔
DS_MAX_SCANS
✔
DS_TOTAL_MEMORY
✔
✔
page 1-53
DUMPCNT
✔
✔
page 1-57
DUMPCORE
✔
✔
page 1-58
DUMPDIR
✔
✔
page 1-59
page 1-52
(3 of 8)
1-12
Informix Administrator’s Reference
ONCONFIG Parameters
Can be
coserver
specific
Always
coserver
specific
Configuration Parameter
IDS
XPS
DUMPGCORE
✔
✔
page 1-60
DUMPSHMEM
✔
✔
page 1-61
✔
END
FILLFACTOR
✔
✔
HADDR
✔
HBUFFER
✔
HETERO_COMMIT
✔
Reference
page 1-62
page 1-62
✔
page 1-34
page 1-156
✔
page 1-63
IDX_RA_PAGES
✔
page 1-64
IDX_RA_THRESHOLD
✔
page 1-65
ISM_DATA_POOL
✔
✔
✔
page 1-66
ISM_LOG_POOL
✔
✔
✔
page 1-66
✔
ISOLATION_LOCKS
page 1-66
JDKVERSION
✔
page 1-67
JVPHOME
✔
page 1-67
JVPLOGFILE
✔
page 1-67
JVPPROPFILE
✔
page 1-67
JVPJAVAVM
✔
page 1-67
JVPJAVAHOME
✔
page 1-67
JVMTHREAD
✔
page 1-67
JVPJAVALIB
✔
page 1-67
JVPCLASSPATH
✔
page 1-67
LADDR
✔
LBUFFER
✔
✔
page 1-34
page 1-156
(4 of 8)
Configuration Parameters 1-13
ONCONFIG Parameters
Configuration Parameter
IDS
LBU_PRESERVE
✔
LOCKS
✔
LOG_BACKUP_MODE
XPS
Can be
coserver
specific
Always
coserver
specific
Reference
page 1-68
✔
page 1-69
✔
page 1-70
LOGBUFF
✔
✔
page 1-70
LOGFILES
✔
✔
page 1-71
LOGSIZE
✔
✔
page 1-73
LOGSMAX
✔
✔
page 1-75
LRUS
✔
✔
page 1-76
LRU_MAX_DIRTY
✔
✔
page 1-77
LRU_MIN_DIRTY
✔
✔
page 1-77
LTAPEBLK
✔
page 1-78
LTAPEDEV
✔
page 1-80
LTAPESIZE
✔
page 1-80
LTXEHWM
✔
✔
page 1-82
LTXHWM
✔
✔
page 1-83
MAX_CHUNKS
✔
page 1-84
MAX_DBSLICES
✔
page 1-85
MAX_DBSPACES
✔
page 1-86
MAX_PDQPRIORITY
✔
✔
page 1-87
MIRROR
✔
✔
page 1-89
MIRROROFFSET
✔
✔
✔
page 1-90
MIRRORPATH
✔
✔
✔
page 1-91
MSGPATH
✔
✔
page 1-92
(5 of 8)
1-14
Informix Administrator’s Reference
ONCONFIG Parameters
Can be
coserver
specific
Always
coserver
specific
Configuration Parameter
IDS
XPS
MULTIPROCESSOR
✔
✔
page 1-93
NETTYPE
✔
✔
page 1-93
NOAGE
✔
✔
page 1-98
✔
NODE
✔
Reference
page 1-99
NUMAIOVPS
✔
✔
page 1-100
NUMCPUVPS
✔
✔
page 1-101
✔
page 1-102
NUMFIFOVPS
OFF_RECVRY_THREADS
✔
✔
page 1-102
ON_RECVRY_THREADS
✔
✔
page 1-103
ONDBSPACEDOWN
✔
✔
page 1-107
OPCACHEMAX
✔
OPTCOMPIND
✔
OPT_GOAL
✔
PAGESIZE
page 1-108
✔
page 1-109
page 1-110
✔
page 1-111
PC_HASHSIZE
✔
✔
page 1-113
PC_POOLSIZE
✔
✔
page 1-113
✔
page 1-114
page 1-116
PDQPRIORITY
PHYSBUFF
✔
✔
PHYSDBS
✔
✔
✔
page 1-117
PHYSFILE
✔
✔
✔
page 1-118
PHYSSLICE
✔
page 1-119
PLAN_MONITORING
✔
page 1-120
✔
page 1-120
RA_PAGES
✔
(6 of 8)
Configuration Parameters 1-15
ONCONFIG Parameters
Can be
coserver
specific
Always
coserver
specific
Configuration Parameter
IDS
XPS
RA_THRESHOLD
✔
✔
page 1-121
RESIDENT
✔
✔
page 1-122
RESTARTABLE_RESTORE
✔
ROOTNAME
✔
✔
✔
page 1-124
ROOTOFFSET
✔
✔
✔
page 1-125
ROOTPATH
✔
✔
✔
page 1-126
ROOTSIZE
✔
✔
✔
page 1-127
page 1-123
ROOTSLICE
✔
SADDR
✔
SBSPACENAME
Reference
✔
page 1-128
✔
page 1-34
✔
page 1-129
SBUFFER
✔
page 1-156
SENDEPDS
✔
page 1-130
SERVERNUM
✔
✔
page 1-131
SHMADD
✔
✔
page 1-132
SHMBASE
✔
✔
page 1-133
SHMTOTAL
✔
✔
page 1-134
SHMVIRTSIZE
✔
✔
page 1-135
SINGLE_CPU_VP
✔
✔
page 1-136
STACKSIZE
✔
✔
page 1-138
STAGEBLOB
✔
page 1-139
STMT_CACHE
✔
page 1-139
STMT_CACHE_SIZE
✔
page 1-140
SYSALARMPROGRAM
✔
page 1-141
(7 of 8)
1-16
Informix Administrator’s Reference
ONCONFIG Parameters
XPS
Can be
coserver
specific
Always
coserver
specific
Configuration Parameter
IDS
SYSSBSPACENAME
✔
page 1-141
TAPEBLK
✔
page 1-143
TAPEDEV
✔
page 1-144
TAPESIZE
✔
page 1-145
TBLSPACE_STATS
✔
TXTIMEOUT
✔
USEOSTIME
✔
VPCLASS
✔
✔
Reference
page 1-146
page 1-146
✔
page 1-147
page 1-148
(8 of 8)
Parameter Attributes
This chapter describes one or more of the following attributes (if relevant) for
each parameter.
Attribute
Description
onconfig.std
value
The default value that appears in the onconfig.std file
if not present
The value that the database server supplies if the parameter is
missing from your ONCONFIG file
The database server uses these default values for both a single
coserver configuration and a multiple-coserver configuration.
(XPS)
This value might not be present in onconfig.std, and the
database server calculates the value based on other values in
onconfig.std.
units
The units in which the parameter is expressed
(1 of 2)
Configuration Parameters 1-17
ONCONFIG Parameters
Attribute
Description
separators
The separators that can be used when the parameter value has
several parts
Do not use white space within a parameter value.
range of values
The valid values for this parameter
takes effect
The time at which a change to the value of the parameter affects
the operation of the database server
Reinitialize shared memory means to shut down and restart the
database server.
Disk is initialized means to reinitialize the database server.
utilities
The database server utilities that you can use to change the
value of the parameter
For more information, see “Using a Utility to Change a
Parameter Value” on page 1-18.
refer to
Cross-reference to further discussion
(2 of 2)
Using a Utility to Change a Parameter Value
Use one of these tools to change the value of a configuration parameter.
Tool
Description
ON-Monitor
(IDS, UNIX)
In the attributes section of each parameter description, the
utilities section lists the menu choices and item name that display
the parameter in ON-Monitor.
In ON-Monitor, some of the responses are Y/N (yes/no). When
those responses are recorded in the ONCONFIG file, Y becomes
1, and N becomes 0.
1-18
Command-line
utility
In the attributes section of the descriptions for most parameters,
the utilities section lists one or more command-line utilities that
you can use to change a parameter value.
Text editor
You can use a text editor to modify the ONCONFIG file.
Informix Administrator’s Reference
AC_MSGPATH, AC_STORAGE, and AC_VERBOSE
IDS
AC_MSGPATH, AC_STORAGE, and AC_VERBOSE
AC_MSGPATH, AC_STORAGE, and AC_VERBOSE are archecker configuration
parameters that are stored in the AC_CONFIG file. The ac_config.std file
contains the default archecker configuration parameters, which you can
modify. ON-Bar uses these parameters when it verifies a backup. For information on these parameters, see the Backup and Restore Guide.
These parameters take effect when ON-Bar starts.
IDS
UNIX
Configuration
Parameter
Description
AC_MSGPATH
Specifies the location of the archecker message file.
AC_STORAGE
Specifies the location of the temporary files that
archecker builds.
AC_VERBOSE
Specifies either verbose or quiet mode for archecker
messages.
ADTERR, ADTMODE, ADTPATH, and ADTSIZE
ADTERR, ADTMODE, ADTPATH, and ADTSIZE are configuration parameters
for auditing. For information on these parameters, see the Trusted Facility
Manual.
Configuration Parameters 1-19
AFF_NPROCS
AFF_NPROCS
onconfig.std
value
0
units
Number of CPUs
range of values
0 through number of CPUs in the computer
For Extended Parallel Server:
The number of CPUs in a node or a computer
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, perFormance, Num Procs to
Affinity (IDS, UNIX)
refer to
The following material:
■
Virtual-processor classes in the chapter on virtual
processors and threads in the Administrator’s Guide
■
“AFF_SPROC” on page 1-21
On multiprocessor computers that support processor affinity, AFF_NPROCS
specifies the number of CPUs to which the database server can bind CPU
virtual processors. Binding a CPU virtual processor to a CPU causes the
virtual processor to run exclusively on that CPU. The database server assigns
CPU virtual processors to CPUs in serial fashion, starting with the processor
number that AFF_SPROC specifies.
XPS
1-20
Extended Parallel Server can run on the following types of parallelprocessing platforms:
■
Massively parallel processing (MPP) systems composed of multiple
computers that are connected to a single high-speed communication
subsystem
■
Clusters of stand-alone computers that are connected over a highspeed network
■
Symmetric multiprocessing (SMP) computers
Informix Administrator’s Reference
AFF_SPROC
On parallel-processing platforms that support processor affinity, AFF_NPROCS
specifies the number of CPUs to which the database server or coserver binds
CPU virtual processors. Binding a CPU virtual processor to a CPU causes the
virtual processor to run exclusively on that node. The database server or
coserver assigns CPU virtual processors to CPUs in serial fashion, starting
with the processor number that AFF_SPROC specifies. ♦
IDS
Informix recommends that you use VPCLASS instead of AFF_NPROCS to
specify the number of CPUs. You cannot use both AFF_NPROCS and VPCLASS
cpu in the same ONCONFIG file. For more information, refer to “VPCLASS”
on page 1-148. ♦
AFF_SPROC
onconfig.std
value
0
units
CPU number
range of values
0 through (AFF_NPROCS - NUMCPUVPS + 1)
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, perFormance, Proc num (to
start with) (IDS, UNIX)
refer to
Virtual-processor classes in the chapter on virtual
processors and threads in the Administrator’s Guide
On multiprocessor computers that support processor affinity, AFF_SPROC
specifies the CPU, starting with 0, on which the database server starts binding
CPU virtual processors to CPUs. The AFF_NPROCS parameter specifies the
number of CPUs that the database server will use. The NUMCPUVPS
parameter specifies the number of CPU virtual processors to be started, and
the AFF_SPROC parameter specifies the CPU on which the first virtual
processor is to start. For example, if you assign eight CPUs (AFF_NPROCS =
8), and set NUMCPUVPS to 3 and AFF_SPROC to 5, the database server binds
CPU virtual processors to the fifth, sixth, and seventh CPUs.
Configuration Parameters 1-21
ALARMPROGRAM
XPS
IDS
On parallel-processing platforms that support processor affinity, AFF_SPROC
specifies the CPU at which the database server or coserver starts binding CPU
virtual processors to CPUs. The AFF_NPROCS parameter specifies the number
of CPUs to be assigned to the database server or coserver. ♦
Informix recommends that you use VPCLASS instead of AFF_SPROC to
specify processor affinity. You cannot use both AFF_SPROC and VPCLASS cpu
in the same ONCONFIG file. For more information, refer to “VPCLASS” on
page 1-148. ♦
ALARMPROGRAM
Use the ALARMPROGRAM parameter to display event alarms.
IDS
1-22
ALARMPROGRAM on Dynamic Server
onconfig.std
value
On UNIX: /usr/informix/etc/log_full.sh
On Windows NT: %INFORMIXDIR%\etc\log_full.bat
if not present
On UNIX: /usr/informix/etc/no_log.sh
On Windows NT: %INFORMIXDIR%\etc\no_log.bat
range of values
Pathname
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, diaGnostics (UNIX)
refer to
The following materials:
Informix Administrator’s Reference
■
Appendix D, “Event Alarms”
■
Backup and Restore Guide
ALARMPROGRAM
UNIX
Informix has supplied two sample scripts: log_full.sh automates logical-log
backups, and no_full.sh disables automatic logical-log backups. Set
ALARMPROGRAM to log_full.sh to back up logical logs automatically when
the database server issues a log-full event alarm. Backup media should
always be available for automatic log backups.
Set ALARMPROGRAM to no_log.sh if you do not want to back up logical logs
automatically. ♦
WIN NT
On Windows NT, use the log_full.bat and no_log.bat files to control
automatic backup of logical logs. ♦
Instead of using the scripts that Informix supplies, you can write your own
shell script, batch file, or binary program to execute events. Set ALARMPROGRAM to the full pathname of this file. The database server executes this
script when noteworthy events occur. These events include database, table,
index, or simple-large-object failure; all logs are full; internal subsystem
failure; initialization failure; and long transactions.
For example, your script can use the event class ID ($EVENT_CLASS) and
event class message ($EVENT_MSG) parameters to take administrative action
when a table failure occurs. For more information, see “Event-Alarm Parameters” on page D-2.
Configuration Parameters 1-23
ALARMPROGRAM
XPS
ALARMPROGRAM on Extended Parallel Server
onconfig.std
value
None
if not present
None
range of values
Pathname of the script that you run to display event alarms
takes effect
When shared memory is initialized
refer to
The following material:
■
Appendix D, “Event Alarms”
■
Documentation notes (see “Documentation Notes,
Release Notes, Machine Notes” on page 19)
By default, no alarms are reported. Set ALARMPROGRAM to the pathname of
your alarm script to process alarms as they occur. Informix provides a sample
alarm script, $INFORMIXDIR/bin/onsyslog.sh, which formats and forwards
alarms to syslog,s the UNIX system message logger. Examples of alarms
include messages about database server mode changes or logical logs.
The arguments that are passed to the alarm script are different for Extended
Parallel Server and Dynamic Server. For details, see “Using ALARMPROGRAM to Capture Events” on page D-1.
ALARMPROGRAM does not control continuous logical-log backups. To start
continuous logical-log backups, set the LOG_BACKUP_MODE parameter to
CONT. For details, see “LOG_BACKUP_MODE” on page 1-70.
1-24
Informix Administrator’s Reference
ALLOW_NEWLINE
IDS
ALLOW_NEWLINE
onconfig.std
value
0
range of values
0 = Disallow the newline character in quoted strings for
all sessions.
1 = Allow the newline character in quoted strings for all
sessions.
takes effect
When shared memory is initialized
refer to
The following materials:
■
Quoted strings in the Informix Guide to SQL: Syntax
■
Newline characters in quoted strings in the Informix
ESQL/C Programmer’s Manual
You can specify that you want the database server to allow the newline
character (\n) in a quoted string either for all sessions or for a specific session.
A session is the duration of a client connection to the database server.
To allow or disallow newline characters in quoted strings for all sessions, set
the ALLOW_NEWLINE parameter.
To allow or disallow a newline character in a quoted string for a particular
session, you must execute the ifx_allow_newline(boolean) user-defined
routine.
Configuration Parameters 1-25
ASYNCRQT
XPS
ASYNCRQT
onconfig.std
value
None
units
Number of requests
range of values
Positive integers
takes effect
When shared memory is initialized
refer to
“SENDEPDS” on page 1-130
ASYNCRQT specifies the number of outstanding receive requests used for
each small and large endpoint on a coserver when you configure large
communications buffers to send and receive data between coservers. If
ASYNCRQT is not configured, the number of requests is 10 for each small and
large endpoint. The number of requests for huge endpoints is fixed at 4.
BUFFERS
onconfig.std
value
1000
onconfig.xps
value
1000
units
Number of buffers
range of values
For Dynamic Server or Extended Parallel Server on UNIX:
100 through 786,432 buffers (786,288 = 768 * 1024)
For Dynamic Server on Windows NT:
100 through 524,288 buffers (524,288 = 512 * 1024)
For any 64-bit platform:
100 through 231-1 (Might be less on some 64 -bit
platforms due to operating-system limitations)
1-26
Informix Administrator’s Reference
BUFFERS
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, Shared_Memory, Max # of
Buffers (IDS, UNIX)
refer to
The following material:
■
Shared-memory buffer pool in the shared-memory
chapter of the Administrator’s Guide
■
“RA_PAGES” on page 1-120
■
“RA_THRESHOLD” on page 1-121
■
Your Performance Guide
BUFFERS specifies the maximum number of shared-memory buffers that the
database server user threads have available for disk I/O on behalf of client
applications. Therefore, the number of buffers that the database server
requires depends on the applications. For example, if the database server
accesses 15 percent of the application data 90 percent of the time, you need to
allocate enough buffers to hold that 15 percent.
In general, buffer space should range from 20 to 25 percent of physical
memory. Informix recommends that you calculate all other shared-memory
parameters after you set buffer space (BUFFERS * system page size) to 20
percent of physical memory.
BUFFERS and Read-Ahead
If you also want to perform read-ahead, increase the value of BUFFERS
further. Once you have configured all other shared-memory parameters, if
you find that you can afford to increase the size of shared memory, increase
the value of BUFFERS until buffer space reaches the recommended 25 percent
maximum.
System Page Size
IDS
XPS
The system page size is platform dependent on Dynamic Server. ♦
The system page size is configurable, with a default page size of 4096 bytes.
For more information, see “PAGESIZE” on page 1-111. ♦
Configuration Parameters 1-27
CDR_DSLOCKWAIT, CDR_EVALTHREADS, CDR_LOGBUFFERS, and CDR_QUEUEMEM
You can use the following utilities to display the system page size.
Utility
Description
onstat -b
Displays the system page size, given as buffer size on the last line of
the output.
oncheck -pr
(IDS)
Checks the root-dbspace reserved pages and displays the system
page size in the first section of its output.
ON-Monitor
(IDS, UNIX)
Displays the system page size under the Parameters:SharedMemory option, which does not require the database server to be
running, and the Parameters:Initialize option.
onutil CHECK Checks the root-dbspace reserved pages and displays the system
RESERVED
page size in the first section of its output.
(XPS)
IDS
BUFFERS and Smart Large Objects
If your databases contain smart large objects, you need to consider them
when you calculate the value for BUFFERS because smart large objects pass
through the regular shared-memory buffer pool. Informix recommends the
following formula for calculating the minimum impact of smart large objects
on the value of BUFFERS:
BUFFERS = BUFFERS + (Server page size in kilobytes *
concurrently open smart large objects) + desired amount of
large-object user data to buffer
IDS
CDR_DSLOCKWAIT, CDR_EVALTHREADS,
CDR_LOGBUFFERS, and CDR_QUEUEMEM
The CDR_DSLOCKWAIT, CDR_EVALTHREADS, CDR_LOGBUFFERS, and
CDR_QUEUEMEM parameters apply to Enterprise Replication. For information about these parameters, see the Guide to Informix Enterprise
Replication.
1-28
Informix Administrator’s Reference
CKPTINTVL
CKPTINTVL
onconfig.std
value
300
units
Seconds
range of values
Any value greater than or equal to 0
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, perFormance, Checkpoint
Interval (IDS, UNIX)
refer to
The following material:
■
Checkpoints in the shared-memory and fast-recovery
chapters of the Administrator’s Guide
■
Your Performance Guide
CKPTINTVL specifies the frequency, expressed in seconds, at which the
database server checks to determine whether a checkpoint is needed. When
a full checkpoint occurs, all pages in the shared-memory buffer pool are
written to disk. When a fuzzy checkpoint occurs, nonfuzzy pages are written
to disk, and the page numbers of fuzzy pages are recorded in the logical log.
If you set CKPTINTVL to an interval that is too short, the system spends too
much time performing checkpoints, and the performance of other work
suffers. If you set CKPTINTVL to an interval that is too long, fast recovery
might take too long.
In practice, 30 seconds is the smallest interval that the database server checks.
If you specify a checkpoint interval of 0, the database server does not check
if the checkpoint interval has elapsed. However, the database server still
performs checkpoints. Other conditions, such as the physical log becoming
75 percent full, also cause the database server to perform checkpoints.
Configuration Parameters 1-29
CLEANERS
CLEANERS
onconfig.std
value
1
units
Number of page-cleaner threads
range of values
32-bit platforms: 1 through 128
64-bit platforms: 1 through 512
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, Shared-Memory, Number of
Page Cleaners (IDS, UNIX)
refer to
How the database server flushes data to disk in the
shared-memory chapter of the Administrator’s Guide
CLEANERS specifies the number of page-cleaner threads available during the
database server operation. By default, the database server always runs one
page-cleaner thread. A general guideline is one page cleaner per disk drive.
The value specified has no effect on the size of shared memory.
XPS
CONFIGSIZE
onconfig.std
value
STANDARD
range of values
SMALL, STANDARD, or LARGE
takes effect
When shared memory is initialized
refer to
Safewrite area in the chapter on where data is stored in
the Administrator’s Guide
CONFIGSIZE specifies the size of the safewrite area, which is a portion of the
initial chunk of the root dbspace in which the database server stores coserverconfiguration information and other data that is required for maintaining
data consistency across coservers.
1-30
Informix Administrator’s Reference
CONFIGSIZE
If you are using a single-coserver configuration with no more that 128
dbspaces, set CONFIGSIZE to SMALL. If you are using more than one coserver
or more than 128 dbspaces, use the following table to select a value for
CONFIGSIZE. Use the largest value that matches any one of the configuration
criteria listed in the table for your database server. For example, if your
database server has 30 coservers and 3 logslices, use STANDARD as the value
for CONFIGSIZE.
If you need to use more chunks, dbspaces, or dbslices than a CONFIGSIZE of
LARGE allows, set the MAX_CHUNKS, MAX_DBSPACES, or MAX_DBSLICES
parameter to the desired value. The following table displays the range of
CONFIGSIZE values for various items.
Range of CONFIGSIZE Values
Configuration
Criteria
SMALL
STANDARD
LARGE
MAX* Values
Chunks
1 to 128
1 to 2048
1 to 8192
MAX_CHUNKS
0 to 32,767
(See page 1-84.)
Dbspaces
1 to 128
1 to 2048
1 to 8192
MAX_DBSPACES
0 to 32,767
(See page 1-85.)
Coservers
1 to 20
1 to 256
1 to 511
Cogroups
1 to 20
1 to 256
1 to 511
Cogroup Members 1 to 400
1 to 4096
1 to 8911
Dbslices
0 to 28
1 to 256
1 to 512
Logslices
0 to 16
1 to 63
1 to 63
MAX_DBSLICES
0 to 2047
(See page 1-86.)
Configuration Parameters 1-31
CONSOLE
When you allocate the initial chunk for the root dbspace of any coserver, you
must ensure that enough space is available for the safewrite area. This space
is in addition to any other space you might need for other information that
you store in the root dbspace. The following table indicates the amount of
space that is required for each value of CONFIGSIZE. Add this amount to the
size of the initial chunk of the root dbspace in each coserver.
Value
Size
SMALL
170 kilobytes
STANDARD
1.7 megabytes
LARGE
6.2 megabytes
If you do not provide enough space for the safewrite area, the database writes
a message to the transaction log to report this situation. To increase the size
of the safewrite area, select the next-larger value for CONFIGSIZE and reinitialize the database server. If insufficient space is available in the root
dbspace, you might have to add a chunk before you reinitialize the database
server.
CONSOLE
onconfig.std
value
On UNIX: /dev/console
On Windows NT: console.log
range of values
Pathname
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, diaGnostics, Console Msgs
(IDS, UNIX)
refer to
The system console in the chapter on database server
administration in the Administrator’s Guide
CONSOLE specifies the pathname and the filename for console messages.
1-32
Informix Administrator’s Reference
COSERVER
XPS
COSERVER
onconfig.std
value
None
onconfig.xps
values
1 and 2
units
Integer
range of values
1 to n
takes effect
When shared memory is initialized
refer to
Coserver-specific configuration parameters in the chapter
on configuring the database server in the Administrator’s
Guide
The COSERVER configuration parameter specifies the numeric identification
of a coserver. The coserver number must be unique among all coservers
within Extended Parallel Server. The coservers must be numbered consecutively, starting at 1.
The COSERVER parameter begins a coserver-specific section in your
ONCONFIG file.
You can assign COSERVER 1 to any node. To facilitate administration, you
might want to assign COSERVER 1 on NODE 1, COSERVER 2 on NODE 2, and
so forth.
Clients specify a coserver name when they connect to a connection coserver.
The COSERVER parameter is part of this coserver name, which has the
following format:
dbservername.coserver-number
In the name, dbservername is the value that you assign to the
DBSERVERNAME configuration parameter when you prepare the ONCONFIG
configuration file. And coserver-number is the value that you assign to the
COSERVER configuration parameter for the connection coserver.
Configuration Parameters 1-33
Datagram Configuration Parameters
XPS
Datagram Configuration Parameters
The Datagram configuration parameters override the automatic configuration of the datagram (DG) layer.
By default, the database server loads the single, most efficient DG layer
shared library for the platform. Communication between coservers on the
same node passes through the same network protocol layers (and possibly
even onto the network media) as messages passed between coservers on
different nodes.
On some platforms, Extended Parallel Server supports the DG layer with the
shared-memory extension. This DG layer uses shared memory to pass
messages between coservers on the same node, thus bypassing network
protocol layers. When the database server uses shared memory for intranode
communication, performance improves because shared-memory communication eliminates the overhead of network communication. The database
server creates and uses shared-memory segments automatically when
multiple coservers are configured on a node. (Messages passed between
coservers on different nodes continue to use the network protocol layers.)
For more information on these parameters, including the correct string
format, see the machine notes.
1-34
Configuration Parameter
Description
DGINFO
Passes optional, platform-specific information to the
DG layer. For a list of available DGINFO parameters
and default values, see the machine notes.
HADDR
Specifies the endpoint address for huge buffers. See
HBUFFER on page 1-156.
LADDR
Specifies the endpoint address for large buffers. See
LBUFFER on page 1-156.
SADDR
Specifies the endpoint address for small buffers. See
SADDR on page 1-156.
Informix Administrator’s Reference
DATASKIP
DATASKIP
syntax
DATASKIP state
or
DATASKIP state dbspace1 dbspace2 ...
The state entry is required. If state is ON, at least one dbspace
entry is required.
onconfig.std
value
None
if not present
OFF
separators
Space
range of values
ALL = Skip all unavailable fragments.
OFF = Turn off dataskip.
ON = Skip some unavailable fragments.
utilities
onspaces -f (See page 3-87.)
ON-Monitor: Parameters menu, pdQ screen (IDS, UNIX)
refer to
The following material:
■
“Specify DATASKIP Parameter” on page 3-87
■
Your Performance Guide
DATASKIP lets you avoid points of media failure. This capability can result in
higher availability for your data. To instruct the database server to skip some
or all unavailable fragments, set this parameter. Whenever the database
server skips over a dbspace during query processing, a warning is returned.
E/C
The previously reserved SQLCA warning flag sqlwarn.sqlwarn7 is set to W for
Informix ESQL/C. ♦
Use the following syntax in the parameter line:
DATASKIP OFF
DATASKIP ON dbspace1 dbspace2...
DATASKIP ALL
Configuration Parameters 1-35
DBSERVERALIASES
IDS
Use the -f option of the onspaces utility to alter the value of the database
server configuration parameter at runtime. ♦
An application can use the SQL statement SET DATASKIP to override the
DATASKIP value that the ONCONFIG parameter or onspaces sets. If the application then executes the SQL statement SET DATASKIP DEFAULT, the
DATASKIP value for that session returns to whatever value is currently set for
the database server.
DBSERVERALIASES
onconfig.std
value
None
if not present
None
separators
Comma
range of values
For Dynamic Server: Up to 128 lowercase characters for
the dbserver alias. The value for DBSERVERALIASES must
be unique, begin with a letter or underscore, and contain
only letters, numbers, underscores, or $ characters.
For Extended Parallel Server: Up to 18 lowercase
characters for the coserver name. The value for
DBSERVERALIASES must be unique, begin with a letter or
underscore, and contain only letters, numbers, or
underscores.
1-36
takes effect
When shared memory is initialized. In addition, you
might need to update the sqlhosts file or registry of each
database server.
UNIX utilities
ON-Monitor: Parameters, Shared-Memory, Server Aliases
(IDS, UNIX)
refer to
The following topics in the chapter on client/server
communications in the Administrator’s Guide:
Informix Administrator’s Reference
■
ONCONFIG parameters for connectivity
■
Using multiple connection types
DBSERVERALIASES
DBSERVERALIASES specifies a list of alternative dbservernames. If the
database server supports more than one communication protocol (for
example, both an IPC mechanism and the TCP network protocol), you must
describe each valid connection to the database server with an entry in the
sqlhosts file or registry. DBSERVERALIASES lets you assign multiple aliases to
a database server, so each entry in the sqlhosts file or registry can have a
unique name.
Important: You can specify up to 10 DBSERVERALIASES for a database server. If you
attempt to define more than 10 DBSERVERALIASES, a warning message displays in
the database server message log.
For each alternate name listed in DBSERVERALIASES, the database server
starts an additional listener thread. If you have many client applications
connecting to the database server, you can distribute the connection requests
between several listener threads and reduce connection time. To take
advantage of the alternate connections, instruct some of your client applications to use a CONNECT TO dbserveralias statement instead of CONNECT TO
dbservername.
XPS
In Extended Parallel Server, clients specify a coserver name when they
connect to a connection coserver. The DBSERVERALIASES parameter is part of
this coserver name, which has the following format:
dbservername.coserver-number
In the name, dbservername is the same value that you assign to the
DBSERVERALIASES configuration parameter when you specify more than one
communication protocol in the ONCONFIG configuration file. And coservernumber is the same value that you assign to the COSERVER configuration
parameter for the connection coserver. ♦
Configuration Parameters 1-37
DBSERVERNAME
DBSERVERNAME
onconfig.std
value
None
onconfig.xps
value (XPS)
xps
if not present
On UNIX: hostname
On Windows NT: ol_hostname
(The hostname variable is the name of the host computer.)
range of values
For Dynamic Server: Up to 128 lowercase characters
For Extended Parallel Server: Up to 18 lowercase
characters
DBSERVERNAME must begin with a letter and can include
any printable character except the following characters:
■
Uppercase characters
■
A field delimiter (space or tab)
■
A newline character
■
A comment character
■
A hyphen or minus character
takes effect
When shared memory is initialized. The sqlhosts file or
registry of each database server that communicates with
this database server might need to be updated. In
addition, the INFORMIXSERVER environment variable
for all users might need to be changed.
utilities
ON-Monitor: Parameters, Shared-Memory, Server Name
(IDS, UNIX)
refer to
DBSERVERNAME configuration parameter in the chapter
on client/server communications in the Administrator’s
Guide
1-38
Informix Administrator’s Reference
DBSERVERNAME
When you install the database server, specify the DBSERVERNAME.
DBSERVERNAME specifies a unique name associated with this specific
occurrence of the database server. The value of DBSERVERNAME is called the
dbservername. Each dbservername is associated with a communication
protocol in the sqlhosts file or registry. If the database server uses multiple
communication protocols, additional values for dbservername must be
defined with the DBSERVERALIASES configuration parameter.
Client applications use dbservername in the INFORMIXSERVER
environment variable and in SQL statements such as CONNECT and
DATABASE, which establish a connection to a database server.
Informix recommends that you use DBSERVERNAME to assign a name
instead of using the default name because of possible conflict with other
database servers on the same host computer.
Important: To avoid conflict with other instances of Informix database servers on the
same computer or node, Informix recommends that you use DBSERVERNAME to
assign a dbservername explicitly.
XPS
Client applications can connect to any coserver in Extended Parallel Server.
The database server appends the number of the coserver to the
dbservername to form a coserver name (unless the dbservername is a dbserver
group name). You associate each coserver name with a communication
protocol in the sqlhosts file. If the database server uses multiple communication protocols, additional values for coserver name must be defined with
the DBSERVERALIASES configuration parameter.
Warning: Do not change the DBSERVERNAME configuration parameter to use a
different communication protocol. Use a value that you specified in the
DBSERVERALIASES configuration parameter instead.
For more information on coserver names, see preparing the connectivity
information in the chapter on configuring the database server in the Administrator’s Guide. ♦
Configuration Parameters 1-39
DBSPACETEMP
DBSPACETEMP
DBSPACETEMP gives the administrator the option to specify the location of
temporary tables. Use of this parameter enables the database server to spread
out I/O for temporary tables efficiently across multiple disks. The database
server also uses temporary dbspaces during backups to store the beforeimages of data that is overwritten while the backup is occurring.
For the order of precedence that the database server uses when it creates
implicit sort files, see your Performance Guide.
If a client application needs to specify an alternative list of dbspaces to use for
its temporary-table locations, the client can use the DBSPACETEMP
environment variable to enumerate them.
IDS
DBSPACETEMP for Dynamic Server
onconfig.std
value
None
if not present
ROOTNAME
separators
Comma or colon (no white space)
range of values
A list of dbspaces. The length of the list cannot exceed 254
characters.
takes effect
When shared memory is initialized
utilities
onspaces -t (See page 3-67.)
ON-Monitor: Parameters menu, pdQ screen (IDS, UNIX)
refer to
The following material:
■
What is a temporary table in the chapter on where data
is stored in the Administrator’s Guide
■
Informix Guide to SQL: Reference
DBSPACETEMP specifies a list of dbspaces that the database server uses to
manage globally the storage of temporary tables.
1-40
Informix Administrator’s Reference
DBSPACETEMP
The list of dbspaces can contain standard dbspaces, temporary dbspaces, or
both. Use a colon or comma to separate the dbspaces in your list. If both
standard and temporary dbspaces are listed in the DBSPACETEMP configuration parameter or environment variable, the following rules apply:
■
Sort, backup, implicit, and nonlogging explicit temporary tables are
created in temporary dbspaces if adequate space exists.
■
Explicit temporary tables created without the WITH NO LOG option
are created in standard (rather than temporary) dbspaces.
Important: The dbspaces that you list in the DBSPACETEMP configuration
parameter must be composed of chunks that are allocated as unbuffered (sometimes
referred to as “raw”) UNIX devices.
When Changes to DBSPACETEMP Take Effect
When you create a temporary dbspace with ON-Monitor (for Dynamic Server
on UNIX) or onspaces, the database server does not use the newly created
temporary dbspace until you perform the following steps:
1.
Add the name of a new temporary dbspace to your list of temporary
dbspaces in the DBSPACETEMP configuration parameter, the
DBSPACETEMP environment variable, or both.
2.
Reinitialize shared memory. In other words, restart the database
server with the oninit command (UNIX) or restart the database
server service (Windows NT).
Using Hash Join Overflow and DBSPACETEMP
Dynamic Server uses an operating-system directory or files to direct any
overflow that results from the following database operations if you do not set
the DBSPACETEMP environment variable or DBSPACETEMP configuration
parameter. You can specify the operating-system directory or files in the
following ways:
■
SELECT statement with GROUP BY clause
■
SELECT statement with ORDER BY clause
■
Hash-join operation
■
Nested-loop join operation
■
Index builds
Configuration Parameters 1-41
DBSPACETEMP
If you do not set the DBSPACETEMP environment variable or DBSPACETEMP
configuration parameter, the database server directs any overflow that
results from the preceding operations to the operating-system directory or
file that you specify in one of the following variables:
UNIX
■
On UNIX, the operating-system directory or directories that the
PSORT_DBTEMP environment variable specifies, if it is set. If
PSORT_DBTEMP is not set, the database server writes sort files to the
operating-system file space in the tmp directory. ♦
WIN NT
■
On Windows NT, the directory specified in TEMP or TMP in the User
Environment Variables window on Control Panel➞System. ♦
XPS
DBSPACETEMP for Extended Parallel Server
onconfig.std
value
NOTCRITICAL
units
None
range of values
ALL allows the database server to use all dbspaces at each
node for temporary storage, giving preference to
temporary dbspaces.
NOTCRITICAL allows the database server to use all
dbspaces except the rootdbs and other dbspaces that it
treats as critical (for example, the dbspace that contains
log files).
TEMP restricts the database server to use only temporary
dbspaces for temporary storage.
A list of dbspace names or dbslice names, separated by
colons or commas.
takes effect
Used with the keywords ALL, NOTCRITICAL, or TEMP,
DBSPACETEMP can appear only in the ONCONFIG file, so
it takes effect when the database server is brought on-line.
Alternately, you can specify a list of dbspaces or dbslices
with the DBSPACETEMP environment variable. These
items take effect for the current session only.
1-42
Informix Administrator’s Reference
DBSPACETEMP
utilities
onutil CREATE TEMP DBSLICE
(See pages 3-194 and 3-206.)
onutil CREATE TEMP DBSPACE
(See pages 3-207 and 3-210.)
refer to
What is a temporary dbspace in the chapter on where data
is stored in the Administrator’s Guide
By default, Extended Parallel Server uses all noncritical dbspaces, giving
preference to dbspaces marked temporary. The database server never uses
the root dbspace or the logging dbspace when DBSPACETEMP is set to
NOTCRITICAL.
The DBSPACETEMP configuration parameter gives the database administrator the option of restricting which dbspaces or dbslices the database server
uses for temporary storage.
When your queries use temporary space on multiple coservers, you can
create a temporary dbslice to facilitate management of these temporary
dbspaces.
The list of dbslices can contain standard dbslices, temporary dbslices, or
both. Use a colon or comma to separate the dbslices in your list.
The list of dbspaces can contain standard dbspaces, temporary dbspaces, or
both.
If the DBSPACETEMP configuration parameter or environment variable
contains both standard and temporary dbspaces or dbslices, the following
rules apply:
■
Sort, backup, implicit, and nonlogging explicit temporary tables are
created in temporary dbspaces if adequate space exists.
■
Explicit temporary tables created without the WITH NO LOG option
are created in standard (rather than temporary) dbspaces.
Important: The dbspaces that you list in the DBSPACETEMP configuration
parameter must consist of chunks that are allocated as raw UNIX devices.
For the order of precedence that the database server uses when it creates
implicit sort files, see your Performance Guide.
Configuration Parameters 1-43
DBSPACETEMP
If an individual client application needs to specify an alternative list of
dbspaces to use for its temporary-table locations, the client can use the
DBSPACETEMP environment variable to enumerate them. For information
about the DBSPACETEMP environment variables, see the Informix Guide to
SQL: Reference.
Important: If you set the DBSPACETEMP configuration parameter to TEMP, you
must either include some nonlogging dbspaces or specify nonlogging temporary
tables when you try to create a temporary table. For example, in SQL statements such
as SELECT...INTO TEMP, you must specify the WITH NO LOG option.
Warning: If you set the DBSPACETEMP configuration parameter to a blank, errors
result when you try to create a temporary table with SQL statements such as
SELECT...INTO TEMP or SELECT...INTO SCRATCH.
When Changes to DBSPACETEMP Take Effect
When you create a temporary dbspace or dbslice with the onutil CREATE
TEMP command, the database server does not use the newly created
temporary dbspace or dbslice until you take both of the following steps:
1.
Add the name of a new temporary dbspace or dbslice to your list of
temporary dbspaces in the DBSPACETEMP configuration parameter,
the DBSPACETEMP environment variable, or both.
2.
Reinitialize the database server.
Using Hash-Join Overflow and DBSPACETEMP
If you do not set the DBSPACETEMP environment variable, you specify no
value for DBSPACETEMP configuration parameter, and the optimizer chooses
to perform a join or group-by operations with a hash join, the database server
directs any overflow that results from the join to the root dbspace directory.
1-44
Informix Administrator’s Reference
DD_HASHMAX
IDS
DD_HASHMAX
onconfig.std
value
None
units
Maximum number of entries in a hash bucket
range of values
Positive integers
takes effect
When shared memory is initialized
utilities
Use a text editor to modify the configuration file.
refer to
Configuration effects on memory in your Performance
Guide
DD_HASHMAX specifies the maximum number of entries in each hash bucket
in the data-dictionary cache.
IDS
DD_HASHSIZE
onconfig.std
value
None
units
Number of hash buckets, or lists
range of values
Positive integers
takes effect
When shared memory is initialized
utilities
Use a text editor to modify the configuration file.
refer to
Configuration effects on memory in your Performance
Guide
DD_HASHSIZE specifies the number of hash buckets, or lists, in the data-
dictionary cache.
Configuration Parameters 1-45
DEADLOCK_TIMEOUT
IDS
DEADLOCK_TIMEOUT
onconfig.std
value
60
units
Seconds
range of values
Positive integers
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, Shared-Memory, Deadlock
Timeout (UNIX)
refer to
Configuration parameters used in two-phase commits in
the chapter on multiphase commit protocols in the
Administrator’s Guide
DEADLOCK_TIMEOUT specifies the maximum number of seconds that a
database server thread can wait to acquire a lock. Use this parameter only for
distributed queries that involve a remote database server. Do not use this
parameter for nondistributed queries.
IDS
DIRECTIVES
onconfig.std
value
1
range of values
0 or 1
takes effect
When shared memory is initialized
refer to
The following materials:
■
IFX_DIRECTIVES environment variable in the Informix
Guide to SQL: Reference
1-46
Informix Administrator’s Reference
■
SQL directives in the Informix Guide to SQL: Syntax
■
Performance impact of directives in your Performance
Guide
DRAUTO
The DIRECTIVES parameter enables or disables the use of SQL directives. SQL
directives allow you to specify behavior for the query optimizer in developing query plans for SELECT, UPDATE, and DELETE statements.
Set DIRECTIVES to 1, which is the default value, to enable the database server
to process directives. Set DIRECTIVES to 0 to disable the database server from
processing directives. Client programs also can set the IFX_DIRECTIVES
environment variable to ON or OFF to enable or disable processing of directives by the database server. The setting of the IFX_DIRECTIVES environment
variable overrides the setting of the DIRECTIVES configuration parameter. If
you do not set the IFX_DIRECTIVES environment variable, all sessions for a
client inherit the database server configuration for processing SQL directives.
IDS
DRAUTO
High-availability data replication (HDR) no longer supports the DRAUTO
configuration parameter. If an HDR failure occurs, the secondary database
server remains in read-only mode. You must perform the transition from
secondary to standard mode manually. The database server automatically
sets DRAUTO to 0.
Configuration Parameters 1-47
DRINTERVAL
IDS
DRINTERVAL
onconfig.std
value
30
units
Seconds
range of values
-1, 0, and positive integer values
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, data-Replication, Interval
(UNIX)
refer to
When log records are sent in the chapter on high-availability data replication in the Administrator’s Guide
DRINTERVAL specifies the maximum interval in seconds between flushing of
the high-availability data-replication buffer. To update synchronously, set the
parameter to -1.
1-48
Informix Administrator’s Reference
DRLOSTFOUND
IDS
DRLOSTFOUND
onconfig.std
value
On UNIX: /usr/etc/dr.lostfound
On Windows NT: drive:\informix\etc\dr.lostfound
range of values
Pathname
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, data-Replication, Lost & Found
(UNIX)
refer to
Lost-and-found transactions in the chapter on
high-availability data replication in the Administrator’s
Guide
DRLOSTFOUND specifies the pathname to the dr.lostfound.timestamp file.
This file contains transactions committed on the primary database server but
not committed on the secondary database server when the primary database
server experiences a failure. The file is created with a time stamp appended
to the filename so that the database server does not overwrite another lostand-found file if one already exists.
This parameter is not applicable if updating between the primary and
secondary database servers occurs synchronously (that is, if DRINTERVAL is
set to -1).
Configuration Parameters 1-49
DRTIMEOUT
IDS
DRTIMEOUT
onconfig.std
value
30
units
Seconds
range of values
Positive integers
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, data-Replication, Timeout
(UNIX)
refer to
How high-availability data-replication failures are
detected in the chapter on high-availability data replication in the Administrator’s Guide
DRTIMEOUT applies only to high-availability data-replication pairs. This
value specifies the length of time, in seconds, that a database server in a highavailability data-replication pair waits for a transfer acknowledgment from
the other database server in the pair. Use the following formula to calculate
DRTIMEOUT:
DRTIMEOUT = wait_time / 4
In this formula, wait_time is the length of time, in seconds, that a database
server in a high-availability data-replication pair must wait before it assumes
that a high-availability data-replication failure occurred.
For example, suppose you determine that wait_time for your system is 160
seconds. Use the preceding formula to set DRTIMEOUT as follows:
DRTIMEOUT = 160 seconds / 4 = 40 seconds
1-50
Informix Administrator’s Reference
DS_ADM_POLICY
XPS
DS_ADM_POLICY
onconfig.std
value
FAIR
if not present
FAIR
range of values
STRICT or FAIR
refer to
Your Performance Guide
The DS_ADM_POLICY parameter specifies how the Resource Grant Manager
(RGM) should schedule queries.
If DS_ADM_POLICY is set to STRICT, the RGM processes queries in the order
determined by the SET SCHEDULE LEVEL setting specified in the query and
the order in which queries are submitted. The RGM processes the oldest
query with the highest scheduling level before other queries, which means
that a more recent query with a lower scheduling level might never run.
If DS_ADM_POLICY is set to FAIR, the RGM takes scheduling level, PDQ
priority, and wait time into account when it decides which query to process.
In general, the query with the highest scheduling level runs first, but a query
with a lower scheduling level can run if it has been waiting for a long time.
DS_MAX_QUERIES
onconfig.std
value
On UNIX: None
On Windows NT: 32
if not present
For Dynamic Server:
NUMCPUVPS * 2 * 128
For Extended Parallel Server:
DS_TOTAL_MEMORY / NUMCPUVPS * 4 * 128
units
Number of queries
Configuration Parameters 1-51
DS_MAX_QUERIES
range of values
Minimum = 1
Maximum for Dynamic Server and for Extended Parallel
Server on 32-bit platforms: 8 megabytes
Maximum for Extended Parallel Server on 64-bit
platforms: 16 megabytes
IDS
utilities
onmode -Q (See page 3-52.)
ON-Monitor: Parameters menu, pdQ screen (IDS, UNIX)
refer to
Your Performance Guide
DS_MAX_QUERIES is the maximum number of PDQ queries that can run
concurrently. The Memory Grant Manager (MGM) reserves memory for a
query based on the following formula:
memory_reserved = (DS_TOTAL_MEMORY / DS_MAX_QUERIES) *
DS_MAX_QUERIES * (PDQ-priority / 100) *
(MAX_PDQPRIORITY / 100)
The value of PDQPRIORITY is specified in either the PDQPRIORITY
environment variable or the SQL statement SET PDQPRIORITY. ♦
XPS
In Extended Parallel Server, DS_MAX_QUERIES is the maximum number of
memory-consuming queries that can run concurrently. A memoryconsuming query is defined as a query with PDQ priority set to a high value.
The Resource Grant Manager (RGM) enforces this limit.
The value of PDQPRIORITY is specified in the PDQPRIORITY configuration
parameter, the PDQPRIORITY environment variable, or the SQL statement
SET PDQPRIORITY. ♦
1-52
Informix Administrator’s Reference
DS_MAX_SCANS
IDS
DS_MAX_SCANS
onconfig.std
value
1,048,576 (1024 * 1024)
units
Number of PDQ scan threads
range of values
10 through (1024 * 1024)
utilities
onmode -S (See page 3-52.)
ON-Monitor: Parameters menu, pdQ screen (UNIX)
refer to
Your Performance Guide
DS_MAX_SCANS limits the number of PDQ scan threads that the database
server can execute concurrently. When a user issues a query, the database
server apportions some number of scan threads, depending on the following
values:
■
The value of PDQ priority (set by the environment variable
PDQPRIORITY or the SQL statement SET PDQPRIORITY)
■
The ceiling that you set with DS_MAX_SCANS
■
The factor that you set with MAX_PDQPRIORITY
■
The number of fragments in the table to scan (nfrags in the formula)
The Memory Grant Manager (MGM) tries to reserve scan threads for a query
according to the following formula:
reserved_threads = min (nfrags, (DS_MAX_SCANS *
PDQPRIORITY / 100 *
MAX_PDQPRIORITY / 100) )
If the DS_MAX_SCANS part of the formula is greater than or equal to the
number of fragments in the table to scan, the query is held in the ready queue
until as many scan threads are available as there are table fragments. Once
underway, the query executes quickly because threads are scanning
fragments in parallel.
For example, if nfrags equals 24, DS_MAX_SCANS equals 90, PDQPRIORITY
equals 50, and MAX_PDQPRIORITY equals 60, the query does not begin
execution until nfrags scan threads are available. Scanning takes place in
parallel.
Configuration Parameters 1-53
DS_TOTAL_MEMORY
If you cause the DS_MAX_SCANS formula to fall below the number of
fragments, the query might begin execution sooner, but the query takes
longer to execute because some threads scan fragments serially.
If you reduce DS_MAX_SCANS to 40 in the previous example, the query needs
fewer resources (12 scan threads) to begin execution, but each thread needs
to scan two fragments serially. Execution takes longer.
DS_TOTAL_MEMORY
onconfig.std
value
On UNIX: None
On Windows NT: 4,096
if not present
For Dynamic Server:
If SHMTOTAL=0 and DS_MAX_QUERIES is set,
DS_MAX_QUERIES * 128.
If SHMTOTAL=0 and DS_MAX_QUERIES is not set,
NUMCPUVPS * 2 * 128.
For Extended Parallel Server:
If SHMTOTAL=0, NUMCPUVPS * 4 * 128.
If SHMTOTAL is greater than 0, the value is SHMTOTAL
minus all memory other than decision-support memory,
which includes the resident memory segment, memory
reserved for buffer cache, and memory reserved for user
connections in various protocols, which is specified by the
third argument of the NETTYPE parameter. (The default
value for this argument to NETTYPE is 50 connections.)
units
1-54
Informix Administrator’s Reference
Kilobytes
DS_TOTAL_MEMORY
range of values
The maximum value is 2 gigabytes on 32-bit platforms and
4 gigabytes on 64-bit platforms.
For Dynamic Server:
If DS_MAX_QUERY is set, the minimum value is
DS_MAX_QUERY * 128.
If DS_MAX_QUERY is not set, the minimum value is
NUMCPUVPS * 2 * 128.
For Extended Parallel Server:
The minimum value is NUMCPUVPS * 4 * 128.
utilities
onmode -M (See page 3-52.)
ON-Monitor: Parameters menu, pdQ screen (IDS, UNIX)
refer to
The following materials:
■
Your Performance Guide for the algorithms
■
“Derive a Minimum for Decision-Support Memory” on
page 1-55
DS_TOTAL_MEMORY specifies the amount of memory available for PDQ
queries. It should be smaller than the computer physical memory, minus
fixed overhead such as operating-system size and buffer-pool size.
Do not confuse DS_TOTAL_MEMORY with the configuration parameter
SHMTOTAL. For OLTP applications, set DS_TOTAL_MEMORY to between 20
and 50 percent of the value of SHMTOTAL in kilobytes. For applications that
involve large decision-support queries, increase the value of
DS_TOTAL_MEMORY to between 50 and 80 percent of SHMTOTAL. If you use
your database server for decision-support queries exclusively, set this
parameter to 90 percent of SHMTOTAL.
For DSS-only applications that do not need to balance resources against OLTP
applications, you can allocate all of the virtual portion to your decisionsupport queries. Set the DS_TOTAL_MEMORY configuration parameter to any
value not greater than the quantity (SHMVIRTSIZE - 10 megabytes).
Configuration Parameters 1-55
DS_TOTAL_MEMORY
Algorithm for DS_TOTAL_MEMORY
The database server derives a value for DS_TOTAL_MEMORY when you do
not set DS_TOTAL_MEMORY or if you set it to an inappropriate value.
Whenever the database server changes the value that you assigned to
DS_TOTAL_MEMORY, it sends the following message to your console:
DS_TOTAL_MEMORY recalculated and changed from old_value Kb to new_value Kb
The algorithm that the database server uses to derive the new value for
DS_TOTAL_MEMORY is documented in the following sections. When you
receive the preceding message, you can use the algorithm to investigate what
values the database server considers inappropriate and take corrective action
based on your investigation.
Derive a Minimum for Decision-Support Memory
In the first part of the algorithm, the database server establishes a minimum
for decision-support memory. When you assign a value to the configuration
parameter DS_MAX_QUERIES, the database server sets the minimum amount
of decision-support memory according to the following formula:
min_ds_total_memory = DS_MAX_QUERY * 128 kilobytes
When you do not assign a value to DS_MAX_QUERIES, the database server
instead uses the following formula based on the value of VPCLASS cpu or
NUMCPUVPS:
min_ds_total_memory = (number_of_CPU_VPS) * 2 * 128 kilobytes
Derive a Working Value for Decision-Support Memory
In the second part of the algorithm, the database server establishes a working
value for the amount of decision-support memory. The database server
verifies this amount in the third and final part of the algorithm.
1-56
Informix Administrator’s Reference
DS_TOTAL_MEMORY
When DS_TOTAL_MEMORY Is Set
The database server first checks if SHMTOTAL is set. When SHMTOTAL is set,
the database server uses the following formula to calculate
DS_TOTAL_MEMORY:
IF DS_TOTAL_MEMORY <= SHMTOTAL - nondecision_support_memory THEN
decision_support_memory = DS_TOTAL_MEMORY
ELSE
decision_support_memory = SHMTOTAL - nondecision_support_memory
This algorithm effectively prevents you from setting DS_TOTAL_MEMORY to
values that the database server cannot possibly allocate to decision-support
memory.
When SHMTOTAL is not set, the database server sets decision-support
memory equal to the value that you specified in DS_TOTAL_MEMORY.
When DS_TOTAL_MEMORY Is Not Set
When you do not set DS_TOTAL_MEMORY, the database server proceeds as
follows. First, the database server checks if you set SHMTOTAL. When
SHMTOTAL is set, the database server uses the following formula to calculate
the amount of decision-support memory:
decision_support_memory = SHMTOTAL - nondecision_support_memory
When the database server finds that you did not set SHMTOTAL, it sets
decision-support memory as in the following example:
decision_support_memory = min_ds_total_memory
Check Derived Value for Decision-Support Memory
The final part of the algorithm verifies that the amount of shared memory is
greater than min_ds_total_memory and less than the maximum possible
memory space for your computer. When the database server finds that the
derived value for decision-support memory is less than min_ds_total_memory,
it sets decision-support memory equal to min_ds_total_memory.
When the database server finds that the derived value for decision-support
memory is greater than the maximum possible memory space for your
computer, it sets decision-support memory equal to the maximum possible
memory space.
Configuration Parameters 1-57
DUMPCNT
Inform User When Derived Value Is Different from User Value
When the database server changes the value that you set for
DS_TOTAL_MEMORY at any point during the processing of this algorithm, it
sends a message to your console in the following format:
DS_TOTAL_MEMORY recalculated and changed from old_value Kb to new_value Kb
In the message, old_value represents the value that you assigned to
DS_TOTAL_MEMORY in your configuration file, and new_value represents the
value that the database server derived.
UNIX
DUMPCNT
onconfig.std
value
1
if not present
1
units
Number of assertion failures
range of values
Positive integers
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, diaGnostics, Dump Count (IDS)
refer to
Collecting diagnostic information in the chapter on
consistency checking in the Administrator’s Guide
DUMPCNT specifies the number of assertion failures for which one database
server thread dumps shared memory or generates a core file by calling gcore.
An assertion is a test of some condition or expression with the expectation
that the outcome is true. For example, the following statement illustrates the
concept of an assertion failure:
if (a != b)
assert_fail("a != b");
1-58
Informix Administrator’s Reference
DUMPCORE
UNIX
DUMPCORE
onconfig.std
value
0
range of values
0 = Do not dump core image.
1 = Dump core image.
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, diaGnostics, Dump Core (IDS)
refer to
Collecting diagnostic information in the chapter on
consistency checking in the Administrator’s Guide
DUMPCORE controls whether assertion failures cause a virtual processor to
dump a core image. The core file is left in the directory from which the
database server was last invoked. (The DUMPDIR parameter has no impact
on the location of the core file.)
Warning: When DUMPCORE is set to 1, an assertion failure causes a virtual
processor to dump a core image, which in turn causes the database server to abort.
Set DUMPCORE only for debugging purposes in a controlled environment.
Configuration Parameters 1-59
DUMPDIR
UNIX
DUMPDIR
onconfig.std
value
tmp
if not present
tmp
range of values
Any directory to which user informix has write access
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, diaGnostics, Dump Directory
(IDS)
refer to
Collecting diagnostic information in the chapter on
consistency checking in the Administrator’s Guide
DUMPDIR specifies a directory in which the database server dumps shared
memory, gcore files, or messages from a failed assertion. Because shared
memory can be large, set DUMPDIR to a file system with a significant amount
of space.
1-60
Informix Administrator’s Reference
DUMPGCORE
UNIX
DUMPGCORE
onconfig.std
value
0
range of values
0 = Do not dump gcore.
1 = Dump gcore.
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, diaGnostics, Dump Gcore (IDS)
refer to
Collecting diagnostic information in the chapter on
consistency checking in the Administrator’s Guide
DUMPGCORE is used with operating systems that support gcore. If you set
DUMPGCORE, but your operating system does not support gcore, messages
in the database server message log indicate that an attempt was made to
dump a core image, but the database server cannot find the expected file. (If
your operating system does not support gcore, set DUMPCORE instead.)
If DUMPGCORE is set, the database server calls gcore whenever a virtual
processor encounters an assertion failure. The gcore utility directs the virtual
processor to dump a core image to the directory that DUMPDIR specifies and
continue processing.
The core dump output that gcore generates is saved to the file core.pid.cnt.
The pid value is the process identification number of the virtual processor.
The cnt value is incremented each time that this process encounters an
assertion failure. The cnt value can range from 1 to the value of DUMPCNT.
After that, no more core files are created. If the virtual processor continues to
encounter assertion failures, errors are reported to the message log (and
perhaps to the application), but no further diagnostic information is saved.
Configuration Parameters 1-61
DUMPSHMEM
UNIX
DUMPSHMEM
onconfig.std
value
1
range of values
0 = Do not dump shared memory.
1 = Dump shared memory.
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, diaGnostics, Dump Shared
Memory (IDS, UNIX)
refer to
Collecting diagnostic information in the chapter on
consistency checking in the Administrator’s Guide
DUMPSHMEM indicates that shared memory should be dumped on an
assertion failure. All the shared memory that the database server uses is
dumped; it is probably quite large. The shared-memory dump is placed in a
file in the directory that DUMPDIR specifies.
The filename takes the format shmem.pid.cnt. The pid value is the process
identification number for the virtual processor. The cnt value is incremented
each time that this virtual processor encounters an assertion failure. The cnt
value can range from 1 to the value of DUMPCNT. After the value of
DUMPCNT is reached, no more files are created. If the database server
continues to detect inconsistencies, errors are reported to the message log
(and perhaps to the application), but no further diagnostic information is
saved.
1-62
Informix Administrator’s Reference
END
XPS
END
onconfig.std
value
None
range of values
None
takes effect
When shared memory is initialized
refer to
Setting coserver-specific parameters in the chapter on
configuration parameters in the Administrator’s Guide.
range of values
None
END marks the end of a coserver-specific section or storage-manager section
in the ONCONFIG file.
FILLFACTOR
onconfig.std
value
90
units
Percent
range of values
1 through 100
takes effect
When the index is built. Existing indexes are not changed.
To use the new value, the indexes must be rebuilt.
utilities
ON-Monitor: Parameters, Shared-Memory, Index Page
Fill Factor (IDS, UNIX)
refer to
“Structure of B-Tree Index Pages” on page 7-27
FILLFACTOR specifies the degree of index-page fullness. A low value
provides room for growth in the index. A high value compacts the index. If
an index is full (100 percent), any new inserts result in splitting nodes. You
can also set the FILLFACTOR as an option on the CREATE INDEX statement.
The setting on the CREATE INDEX statement overrides the ONCONFIG file
value.
Configuration Parameters 1-63
HETERO_COMMIT
IDS
HETERO_COMMIT
onconfig.std
value
0
range of values
1 = Enable heterogeneous commit.
0 = Disable heterogeneous commit.
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, Shared-Memory, Heterogeneous Commit (UNIX)
refer to
The following materials:
■
Heterogeneous commit protocol in the chapter on
multiphase commit protocols in the Administrator’s
Guide
■
INFORMIX-Enterprise Gateway Manager User Manual
The HETERO_COMMIT configuration parameter specifies whether or not the
database server is prepared to participate with Informix Gateway products
in heterogeneous commit transactions. Setting HETERO_COMMIT to 1 allows
a single transaction to update one non-Informix database (accessed with any
of the Gateway products) and one or more Informix databases.
If HETERO_COMMIT is 0, a single transaction can update databases as
follows:
■
One or more Informix databases and no non-Informix databases
■
One non-Informix database and no Informix databases
You can read data from any number of Informix and non-Informix databases,
regardless of the setting of HETERO_COMMIT.
1-64
Informix Administrator’s Reference
IDX_RA_PAGES
XPS
IDX_RA_PAGES
onconfig.std
value
None
if not present
4 if MULTIPROCESSOR is 0
8 if MULTIPROCESSOR is 1
units
Number of index pages
range of values
IDX_RA_THRESHOLD through BUFFERS
takes effect
When shared memory is initialized
refer to
The following material:
■
Configuring the database server to read-ahead in the
shared-memory chapter of the Administrator’s Guide
■
Calculating IDX_RA_PAGES and IDX_RA_THRESHOLD
in your Performance Guide
The IDX_RA_PAGES parameter specifies the number of disk pages to attempt
to read ahead during sequential scans of index records. Read-ahead can
greatly speed database processing by compensating for the slowness of I/O
processing relative to the speed of CPU processing.
This parameter works with the IDX_RA_THRESHOLD parameter. Use a larger
IDX_RA_PAGES value if the range of index values scanned is big. Specifying
values that are too large can result in excessive buffer-caching activity. For
more information on calculating IDX_RA_PAGES and IDX_RA_THRESHOLD,
see your Performance Guide.
Configuration Parameters 1-65
IDX_RA_THRESHOLD
XPS
IDX_RA_THRESHOLD
onconfig.std
value
None
if not present
IDX_RA_PAGES/2
units
Number of index pages
range of values
0 through (IDX_RA_PAGES - 1)
takes effect
When shared memory is initialized
refer to
The following material:
■
Configuring the database server to read ahead in the
shared-memory chapter of the Administrator’s Guide
■
Calculating IDX_RA_PAGES and IDX_RA_THRESHOLD
in your Performance Guide
The IDX_RA_THRESHOLD parameter is used with IDX_RA_PAGES when the
database server reads during sequential scans of index records.
IDX_RA_THRESHOLD specifies the read-ahead threshold; that is, the number
of unprocessed index pages in memory that signals the database server to
perform the next read-ahead.
If the value of IDX_RA_THRESHOLD is greater than the value of
IDX_RA_PAGES, then IDX_RA_THRESHOLD has a value of IDX_RA_PAGES/2.
Use a larger IDX_RA_PAGES value if the range of index values scanned is big.
Specifying values that are too large for IDX_RA_PAGES and
IDX_RA_THRESHOLD can result in excessive buffer-caching activity.
1-66
Informix Administrator’s Reference
ISM_DATA_POOL and ISM_LOG_POOL
ISM_DATA_POOL and ISM_LOG_POOL
The ISM_DATA_POOL and ISM_LOG_POOL parameters control where
Informix Storage Manager stores backed-up data and logical logs. For information on these parameters, see the Backup and Restore Guide or the Informix
Storage Manager Administrator’s Guide.
XPS
On Extended Parallel Server, you can specify these parameters for a specific
coserver or for the database server. ♦
XPS
ISOLATION_LOCKS
onconfig.std
value
None
if not present
1
units
Rows
range of values
Positive integers less than or equal to the value of the
LOCKS parameter
takes effect
When shared memory is initialized
ISOLATION_LOCKS specifies the maximum number of rows (counting the
user’s current row) that should be locked at any given time on any given scan
while Cursor Stability isolation is in effect. The user does not have control
over which rows are locked or when those locks are released. The user is
guaranteed only that the specified maximum number of rows is locked at any
given moment for any given cursor.
ISOLATION_LOCKS offers an intermediate solution between Repeatable
Read, which locks the entire table, and Committed Read, which does not
obtain read locks. Increasing ISOLATION_LOCKS allows more efficient row
buffering, but holding many locks can reduce concurrency for a given table.
Important: If you set ISOLATION_LOCKS to a value greater than 1, ensure that the
value you specify for the LOCKS configuration parameter accounts for this increase
in the number of locks.
Configuration Parameters 1-67
JVPxxx and JVMTHREAD
JVPxxx and JVMTHREAD
IDS
Java
The following configuration parameters apply to the database server implementation of the Informix JDBC driver. In addition to the JDKVERSION,
JVMTHREAD, and JVPxxx configuration parameters, the VPCLASS configuration parameter has a JVP option.
For more information on these parameters, see Creating UDRs in Java.
Configuration
Parameter
1-68
Description
JDKVERSION
Version number of the DataBlade Developers Kit
(DBDK) with Java support
JVPHOME
Directory where the JDBC driver is installed
JVPLOGFILE
Log file for the JDBC driver
JVPPROPFILE
Pathname for the properties file
JVPJAVAVM
List of Java VM libraries to be loaded
JVPJAVAHOME
Directory where the DBDK is installed
JVMTHREAD
Thread package to use for the Java VM
JVPJAVALIB
Pathname for the Java VM libraries
JVPCLASSPATH
Initial Java class path setting
VPCLASS JVP
Number of Java virtual processors (Refer to
“VPCLASS” on page 1-148.)
Informix Administrator’s Reference
LBU_PRESERVE
LBU_PRESERVE
onconfig.std
value
For Dynamic Server: 0
For Extended Parallel Server: 1
range of values
For Dynamic Server:
1 = Enable the logs-full high-water mark.
0 = Disable the logs-full high-water mark.
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, Shared-Memory, Preserve Log
for Log Backup (IDS, UNIX)
refer to
Enabling the logs-full high-water mark in the chapter on
what is the logical log in the Administrator’s Guide
LBU_PRESERVE reserves the last logical log for administrative tasks by setting
the logs-full high-water mark. When LBU_PRESERVE is enabled, the database
server blocks further OLTP activity when the next-to-last log fills, rather than
the last log. Setting LBU_PRESERVE prevents backups from failing due to lack
of logical-log space.
XPS
If LOG_BACKUP_MODE is set to MANUAL or CONT, LBU_PRESERVE is
enabled for all coservers. You cannot change the LBU_PRESERVE value in the
ONCONFIG file. If LOG_BACKUP_MODE is set to NONE, LBU_PRESERVE is
disabled for all coservers. ♦
Configuration Parameters 1-69
LOCKS
LOCKS
onconfig.std
value
2,000
range of values
For Dynamic Server: 2,000 through 8,000,000
For Extended Parallel Server: 2,000 through 8,000,000 on
32-bit platforms and 2,000 through 16,000,000 on 64-bit
platforms
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, Shared-Memory, Max # of
Locks (IDS, UNIX)
refer to
The memory and locking chapters in your Performance
Guide
LOCKS specifies the initial size of the lock table. The lock table holds an entry
for each lock that a session uses. If the number of locks that sessions allocate
exceeds the value of LOCKS, the database server increases the size of the lock
table.
Although each additional lock takes up just 44 bytes of resident shared
memory, locks can become a resource drain if you have a limited amount of
shared memory. For example, if you set LOCKS to 1,000,000, the database
server allocates 40 megabytes of resident shared memory for locks.
Tip: When you drop a database, a lock is acquired and held on each table in the
database until the database is dropped. For more information on the DROP
DATABASE statement, see the “Informix Guide to SQL: Syntax.”
1-70
Informix Administrator’s Reference
LOG_BACKUP_MODE
XPS
LOG_BACKUP_MODE
onconfig.std
value
MANUAL
range of values
CONT = Continuous log backups
MANUAL = Manual log backups
NONE = No log backups
refer to
Backup and Restore Guide
In Extended Parallel Server, edit your ONCONFIG file to set
LOG_BACKUP_MODE. Use of NONE is not recommended because you cannot
use ON-Bar to restore if logical-log backups have been disabled.
LOGBUFF
onconfig.std
value
32
units
Kilobytes
range of values
(2 * page size) through LOGSIZE
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, Shared-Memory, Logical Log
Buffer Size (IDS, UNIX)
refer to
Logical-log buffer in the shared-memory chapter of the
Administrator’s Guide
LOGBUFF specifies the size in kilobytes of each of the three logical-log buffers
in shared memory. Triple buffering permits user threads to write to the active
buffer while one of the other buffers is being flushed to disk. If flushing is not
complete by the time the active buffer fills, the user thread begins writing to
the third buffer.
Configuration Parameters 1-71
LOGFILES
Informix recommends that you set LOGBUFF to 16 or 32 kilobytes, or perhaps
64 kilobytes for heavy workloads.
IDS
If you log smart-large-object columns, you must ensure that the log buffer is
big enough to accommodate your largest smart-large-object page size plus
one database server page. The database server logs only the portion of a
smart-large-object page that changed. ♦
Important: The database server uses the LOGBUFF parameter to set the size of
internal buffers that are used during recovery. If you set LOGBUFF too high, the
database server can run out of memory and shut down during recovery.
System Page Size
To verify the page size that the database server uses on your platform, you
can use one of the utilities listed in “BUFFERS and Read-Ahead” on
page 1-27.
LOGFILES
1-72
onconfig.std
value
6
if not present
For Dynamic Server: 6
For Extended Parallel Server: 3
units
Number of logical-log files
range of values
3 through LOGSMAX (integers only)
takes effect
During disk initialization and when you add a new log
file. You add a new log with one of the following utilities.
Informix Administrator’s Reference
LOGFILES
utilities
onparams (IDS)
See page 3-57.
ON-Monitor: Parameters, Initialize, Number of Logical
Logs (IDS, UNIX)
onutil CREATE LOGICAL LOG command (XPS)
See page 3-212.
onutil CREATE LOGICAL LOGSLICE command (XPS)
See page 3-215.
refer to
The following topics in the Administrator’s Guide:
■
The size and number of logical-log files in the chapter
on what is the logical log
■
The chapter on managing the logical log:
❑
Adding or dropping a logical-log file
❑
Adding or dropping a logslice (XPS)
LOGFILES specifies the number of logical-log files that the database server
creates during disk initialization. To change the number of logical-log files,
add or drop logical-log files.
IDS
XPS
If you use ON-Monitor (UNIX) or onparams to add or drop log files, the
database server automatically updates LOGFILES. ♦
Extended Parallel Server treats LOGFILES as an initialization parameter and
does not update it when you change the number of logical-log files with the
onutil CREATE LOGICAL LOG command. ♦
Configuration Parameters 1-73
LOGSIZE
LOGSIZE
onconfig.std
value
For Dynamic Server: 1500
For Extended Parallel Server: 1024
if not present
For Dynamic Server:
UNIX: 1500
Windows NT: 200
For Extended Parallel Server:
UNIX: 200
Windows NT: 500
units
Kilobytes
range of values
Minimum = 200
Maximum =(ROOTSIZE - PHYSFILE - 512 (63 * ((pagesize)/1024))) / LOGFILES
For Dynamic Server:
The pagesize value is platform dependent.
For Extended Parallel Server:
Specify the pagesize value in the PAGESIZE
configuration parameter.
takes effect
When shared memory is initialized. The size of log files
added after shared memory is initialized reflects the new
value, but the size of existing log files does not change.
utilities
ON-Monitor: Parameters, Initialize, Log, Log Size (IDS,
UNIX)
onparams (IDS)
See “Change Physical-Log Parameters” on page 3-60.
onutil (XPS)
See “onutil: Check, Define, and Modify Storage Objects”
on page 3-135.
1-74
Informix Administrator’s Reference
LOGSIZE
refer to
The following topics in the Administrator’s Guide:
■
Size of the logical log in the chapter on what is the
logical log
■
Size and number of logical-log files in the chapter on
what is the logical log
■
Changes to LOGSIZE or LOGFILES in the chapter on
managing logical logs
LOGSIZE specifies the size that is used when logical-log files are created. It
does not change the size of existing logical-log files. The total logical-log size
is LOGSIZE * LOGFILES.
To verify the page size that the database server uses on your platform, use
one of the utilities listed in “System Page Size” on page 1-27.
XPS
LOGSIZE for Extended Parallel Server
LOGSIZE is a global configuration parameter that specifies the size of the
logical-log files and logslices when you initialize the database server.
Extended Parallel Server also uses the value of LOGSIZE as the default size
when you add another logslice or individual logical-log file.
Tip: A coserver can have individual log files at the same time as log files that are part
of logslices. However, you cannot change or delete individual log files that are part of
a logslice. Extended Parallel Server manipulates all files in a given logslice as a unit.
Extended Parallel Server treats LOGSIZE as an initialization parameter and
does not update it when you change the size of a logslice or logical-log file.
IDS
LOGSIZE for Smart Large Objects
If you declare logging for a smart-large-object column, you must ensure that
the logical log is considerably larger than the amount of data logged during
inserts or updates.
Important: The logical-log size must exceed the total amount of data logged while a
transaction is active, even if the user-data portion of the smart large object is not
logged. Otherwise, you increase the possibility of incurring a long-transaction condition because multimedia updates can collect data over a long period of time.
Configuration Parameters 1-75
LOGSMAX
For more information, refer to logging smart large objects in the chapter on
what is logging in the Administrator’s Guide.
LOGSMAX
onconfig.std
value
6
if not present
3
units
Number of logical-log files
range of values
LOGFILES through 32,767 (integers only)
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, Shared-Memory, Max # of
Logical Logs (IDS, UNIX)
refer to
The following topics in the Administrator’s Guide:
■
Determining the size and number of logical-log files in
the chapter on what is the logical log
■
Moving a logical-log file to another dbspace in the
chapter on managing logical logs
■
Changing logical-log configuration parameters in the
chapter on managing logical logs
LOGSMAX specifies the maximum number of logical-log files that an instance
of the database server supports. The database server requires at least three
logical-log files for operation.
XPS
On Extended Parallel Server, LOGSMAX specifies the maximum number of
logical-log files and logslices. ♦
In general, you can set the value of LOGSMAX equal to the value of LOGFILES.
If you plan to relocate the logical-log files out of the root dbspace after you
initialize the database server, assign LOGSMAX the value of LOGFILES + 3.
1-76
Informix Administrator’s Reference
LRUS
LRUS
onconfig.std
value
8
if not present
If MULTIPROCESSOR is set: MAX(4, NUMCPUVPS)
If MULTIPROCESSOR is not set: 4
units
Number of LRU queues
range of values
For Dynamic Server and for Extended Parallel Server on
32-bit platforms: 1 through 128
For Extended Parallel Server on 64-bit platforms:
1 through 512
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, perFormance, Num of LRU
queues (IDS, UNIX)
refer to
The following material:
■
LRU queues in the shared-memory chapter of the
Administrator’s Guide
■
Chapter on configuration effects on memory in your
Performance Guide
LRUS specifies the number of LRU (least-recently-used) queues in the
shared-memory buffer pool. You can tune the value of LRUS, in combination
with the LRU_MIN_DIRTY and LRU_MAX_DIRTY parameters, to control how
frequently the shared-memory buffers are flushed to disk.
Setting LRUS too high might result in excessive page-cleaner activity.
Configuration Parameters 1-77
LRU_MAX_DIRTY
LRU_MAX_DIRTY
onconfig.std
value
60
units
Percent
range of values
0 through 100
For Extended Parallel Server:
Noninteger values are allowed (for example, .1).
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, perFormance, LRU Max Dirty
(IDS, UNIX)
refer to
The following topics in the shared-memory chapter of the
Administrator’s Guide:
■
LRU queues
■
Limiting the number of pages added to the MLRU
queues
LRU_MAX_DIRTY specifies the percentage of modified pages in the LRU
queues at which the queue is cleaned.
LRU_MIN_DIRTY
onconfig.std
value
50
units
Percent
range of values
0 through 100
For Extended Parallel Server:
Noninteger values are allowed (for example, .1).
1-78
Informix Administrator’s Reference
LTAPEBLK
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, perFormance, LRU Min Dirty
(IDS, UNIX)
refer to
The following topics in the shared-memory chapter of the
Administrator’s Guide:
■
LRU queues
■
When MLRU cleaning ends
LRU_MIN_DIRTY specifies the percentage of modified pages in the LRU
queues at which page cleaning is no longer mandatory. Page cleaners might
continue cleaning beyond this point under some circumstances.
IDS
LTAPEBLK
onconfig.std
value
16
units
Kilobytes
range of values
Values greater than (page size/1024)
takes effect
For ontape: When you execute ontape
For onload and onunload: When shared memory is
initialized
utilities
ON-Monitor: Parameters, Initialize, Block Size (follows
Log Tape Dev) (UNIX)
refer to
The following material:
■
How this parameter affects ontape in the Archive and
Backup Guide
■
How this parameter affects onload and onunload in the
Informix Migration Guide
Configuration Parameters 1-79
LTAPEBLK
LTAPEBLK specifies the block size of the device to which the logical logs are
backed up when you use ontape for dbspace backups. LTAPEBLK also
specifies the block size for the device to which data is loaded or unloaded
when you use the -l option of onload or onunload. If you are using onload
or onunload, you can specify a different block size at the command line.
Specify LTAPEBLK as the largest block size permitted by your tape device.
The database server does not check the tape device when you specify the
block size. Verify that the LTAPEDEV tape device can read the block size that
you specify. If not, you might not be able to read from the tape.
UNIX
The UNIX dd utility can verify that the LTAPEDEV tape device can read the
block size. It is available with most UNIX systems. ♦
System Page Size
IDS
The system page size is platform dependent on Dynamic Server. ♦
You can use the following utilities to display the system page size.
1-80
Utility
Description
onstat -b
Displays the system page size, given as buffer size on the last line
of the output.
oncheck -pr
Checks the root-dbspace reserved pages and displays the system
page size in the first section of its output.
ON-Monitor
(UNIX)
Provides these options to obtain the system page size:
Informix Administrator’s Reference
■
Parameters:Shared-Memory, which does not require the
database server to be running
■
Parameters:Initialize
LTAPEDEV
IDS
LTAPEDEV
onconfig.std
value
On UNIX: /dev/tapedev
On Windows NT: \\.\TAPE1
if not present
On UNIX: /dev/null
On Windows NT: nul
takes effect
For ontape: When shared memory is initialized if set to
/dev/null on UNIX or nul on Windows NT. Takes effect
when you execute ontape if set to a tape device.
For onload and onunload: When shared memory is
initialized
utilities
ON-Monitor: Parameters, Initialize, Log Tape Dev (UNIX)
refer to
The following material:
■
How to set and change the LTAPEDEV value for ontape
in the Archive and Backup Guide
■
How this parameter affects onload or onunload in the
Informix Migration Guide
■
“TAPEDEV” on page 1-144
LTAPEDEV specifies the device to which the logical logs are backed up when
you use ontape for backups. LTAPEDEV also specifies the device to which
data is loaded or unloaded when you use the -l option of onload or
onunload.
If you are using LTAPEDEV to specify a device for onunload or onload, the
same information for TAPEDEV is relevant for LTAPEDEV.
Warning: Do not set LTAPEDEV to /dev/null or nul when you use ON-Bar to back
up logical logs.
Configuration Parameters 1-81
LTAPESIZE
IDS
LTAPESIZE
onconfig.std
value
10,240
units
Kilobytes
range of values
Positive integers
takes effect
For ontape: When you execute ontape
For onload and onunload: When shared memory is
initialized
utilities
ON-Monitor: Parameters, Initialize, Total Tape Size
(follows Log Tape Dev) (UNIX)
refer to
The following material:
■
How this parameter affects ontape in the Archive and
Backup Guide
■
How this parameter affects onload or onunload in the
Informix Migration Guide
LTAPESIZE specifies the maximum tape size of the device to which the logical
logs are backed up when you use ontape for backups. LTAPESIZE also
specifies the maximum tape size of the device to which data is loaded or
unloaded when you use the -l option of onload or onunload. If you are using
onload or onunload, you can specify a different tape size on the command
line.
1-82
Informix Administrator’s Reference
LTXEHWM
LTXEHWM
onconfig.std
value
60
units
Percent
range of values
LTXHWM through 100
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, Shared-Memory, Long TX HWM
Exclusive (IDS, UNIX)
refer to
The following material:
■
“LTXHWM” on page 1-83
■
Avoiding long transactions in the chapter on what is the
logical log in the Administrator’s Guide
LTXEHWM specifies the long-transaction, exclusive-access, high-water mark. If
the logical log fills to LTXEHWM, the long transaction currently being rolled
back is given exclusive access to the logical log. For example, if you set
LTXEHWM to 60 percent of the logical-log space, and the log fills to that
percentage, at that point the thread that is rolling back the long transaction is
given exclusive access to the logical log. The term exclusive is not entirely
accurate. Most database server activity is suspended until the transaction has
completed its rollback, but transactions that are in the process of rolling back
or committing a transaction retain access to the logical log.
When the database server is initialized, if the value in the current configuration file is greater than 60, a warning is issued. Informix recommends that
you change the value in your configuration file and increase the size of your
logical-log files proportionately.
For more information about setting high-water marks, see the logical-log
chapter in the Administrator’s Guide.
Configuration Parameters 1-83
LTXHWM
LTXHWM
onconfig.std
value
50
units
Percent
range of values
1 through 100
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, Shared-Memory, Long
TX HWM (IDS, UNIX)
refer to
Avoiding long transactions in the chapter on what is the
logical log in the Administrator’s Guide
LTXHWM specifies the long-transaction high-water mark. The value of LTXHWM
is the percentage of available logical-log space that, when filled, triggers the
database server to check for a long transaction. If a long transaction is found,
the transaction is aborted, and the database server rolls back all modifications
associated with it. Other transactions continue to execute, and the rollback
procedure itself generates logical-log records, so the logical log continues to
fill. (The LTXEHWM parameter exists for this reason.)
When the database server is initialized, if the value in the current configuration file is greater than 50, a warning is issued. Informix recommends that
you change the value in your configuration file and increase the size of your
logical-log files proportionately.
1-84
Informix Administrator’s Reference
MAX_CHUNKS
XPS
MAX_CHUNKS
onconfig.std
value
0
units
Number of chunks
range of values
0 through 32,767
takes effect
When shared memory is initialized
refer to
Chapter on managing disk space in the Administrator’s
Guide
MAX_CHUNKS allows you to increase the maximum number of chunks up to
32,767. The safewrite area in the first chunk of the root dbspace grows to
accommodate the new maximum number of chunks. If you set the
MAX_CHUNKS value and later decrease it, the database server ignores the
new value and uses the previously set value. However, you can increase the
MAX_CHUNKS value at any time.
The database server ignores the MAX_CHUNKS value if it is smaller than the
number of chunks that CONFIGSIZE allows. For example, a CONFIGSIZE
value of LARGE allows a maximum of 8192 chunks. If you set CONFIGSIZE to
LARGE and specify a MAX_CHUNKS value of 2048, the maximum number of
chunks is 8192. For more information, see “CONFIGSIZE” on page 1-30.
When you allocate the initial chunk for the root dbspace of any coserver, you
must ensure that enough space is available for the safewrite area. Allow an
extra 6.2 megabytes for a CONFIGSIZE of LARGE, plus 302 bytes per additional
chunk for the safewrite area. Add this amount to the size of the initial chunk
of the root dbspace in each coserver. In the formula, additional_chunks means
more chunks than the CONFIGSIZE maximum (8193 to 32,767 chunks).
total space for the safewrite area in bytes =
6200000 bytes + (302 bytes * additional_chunks)
If you do not provide enough space for the safewrite area, the database writes
a message to the transaction log to report this situation. If insufficient space
is available in the root dbspace, you might need to reinitialize the database
server and reload your data.
Configuration Parameters 1-85
MAX_DBSLICES
XPS
MAX_DBSLICES
onconfig.std
value
0
units
Number of dbslices
range of values
0 through 2047
takes effect
When shared memory is initialized
refer to
Chapter on managing disk space in the Administrator’s
Guide
MAX_DBSLICES allows you to increase the maximum number of dbslices to
2047. The safewrite area in the first chunk of the root dbspace grows to
accommodate the new maximum number of dbslices. If you set the
MAX_DBSLICES value and later decrease it, the database server ignores the
new value and uses the previously set value. However, you can increase the
MAX_DBSLICES value at any time.
The database server ignores the MAX_DBSLICES value if it is smaller than the
number of dbslices that the CONFIGSIZE parameter allows. For example, a
CONFIGSIZE value of LARGE allows a maximum of 512 dbslices. If you set
CONFIGSIZE to LARGE and specify a MAX_DBSLICES value of 10, the
maximum number of dbslices is 512. For more information, see
“CONFIGSIZE” on page 1-30.
When you allocate the initial chunk for the root dbspace of any coserver, you
must ensure that enough space is available for the safewrite area. Allow an
extra 6.2 megabytes for a CONFIGSIZE of LARGE, plus 20 bytes per additional
dbslice for the safewrite area. Add this amount to the size of the initial chunk
of the root dbspace in each coserver. In the formula, additional_dbslices means
more dbslices than the CONFIGSIZE maximum (513 to 2047 dbslices).
total space for the safewrite area in bytes=
6200000 bytes + (20 bytes * additional_dbslices)
If the safewrite area does not have enough space, the database writes a
message to the transaction log to report this situation. If insufficient space is
available in the root dbspace, you might need to reinitialize the database
server and reload your data.
1-86
Informix Administrator’s Reference
MAX_DBSPACES
XPS
MAX_DBSPACES
onconfig.std
value
0
units
Number of dbspaces
range of values
0 through 32,767
takes effect
When shared memory is initialized
refer to
Chapter on managing disk space in the Administrator’s
Guide
MAX_DBSPACES allows you to increase the maximum number of dbspaces.
The safewrite area in the first chunk of the root dbspace grows to accommodate the new maximum number of dbspaces. If you use a CONFIGSIZE
value of LARGE, the maximum number of dbspaces is 8192, but you can use
MAX_DBSPACES to specify up to 32,767 dbspaces. For more information, see
“CONFIGSIZE” on page 1-30.
If you set the MAX_DBSPACES value and later decrease it, the database server
ignores the new value and uses the previously set value. However, you can
increase the MAX_DBSPACES value at any time.
When you allocate the initial chunk for the root dbspace of any coserver, you
must ensure that enough space is available for the safewrite area. If you
create more than 8192 dbspaces, allow an extra 56 bytes per additional
dbspace for the safewrite area. For example, if you set MAX_DBSPACES to
8200, allow an extra 448 bytes (56 bytes * 8 dbspaces).
If you do not provide enough space for the safewrite area, the database writes
a message to the transaction log to report this situation. If insufficient space
is available in the root dbspace, you might need to reinitialize the database
server and reload your data.
Configuration Parameters 1-87
MAX_PDQPRIORITY
MAX_PDQPRIORITY
onconfig.std
value
100
if not present
100
range of values
0 through 100
takes effect
On all user sessions
utilities
onmode -D
ON-Monitor: Parameters menu, pdQ screen (IDS, UNIX)
refer to
Your Performance Guide
MAX_PDQPRIORITY limits the PDQ resources that the database server can
allocate to any one DSS query. MAX_PDQPRIORITY is a factor that is used to
scale the value of PDQ priority set by users. For example, suppose that the
database administrator sets MAX_PDQPRIORITY to 80. If a user sets the
PDQPRIORITY environment variable to 50 and then issues a query, the
database server silently processes the query with a PDQ priority of 40.
You can use the onmode utility to change the value of MAX_PDQPRIORITY
while the database server is on-line. Refer to “Change Decision-Support
Parameters” on page 3-52.
IDS
PDQ resources include memory, CPU, disk I/O, and scan threads.
MAX_PDQPRIORITY lets the database administrator run decision support
concurrently with OLTP without a deterioration of OLTP performance.
However, if MAX_PDQPRIORITY is too low, the performance of decision-
support queries can degrade.
1-88
Informix Administrator’s Reference
MAX_PDQPRIORITY
You can set MAX_PDQPRIORITY to one of the following values.
Value
Database Server Action
0
Turns off PDQ. DSS queries use no parallelism.
1
Fetches data from fragmented tables in parallel (parallel scans) but
uses no other form of parallelism.
100
Uses all available resources for processing queries in parallel.
number
Sets the percentage of the user-requested PDQ resources actually
allocated to the query. The number variable is an integer between 0
and 100.
♦
XPS
In Extended Parallel Server, PDQPRIORITY affects only memory resources.
The values of the MAX_PDQPRIORITY and PDQPRIORITY parameters do not
affect parallel operations. Parallel operations (such as scans, sorts, and joins)
can occur if multiple coservers and CPU VPs are involved in the operation
and the default memory is sufficient for parallel threads. For more information on parallel operations, refer to your Performance Guide.
Configuration Parameters 1-89
MIRROR
You can set MAX_PDQPRIORITY to one of the following values.
Value
Database Server Action
100
Uses all available memory for processing queries in parallel.
number
Sets the percentage of the user-requested PDQ resources actually
allocated to the query. The number variable is an integer between 0
and 100.
♦
MIRROR
IDS
XPS
1-90
onconfig.std
value
0
range of values
0 = Disable mirroring.
1 = Enable mirroring.
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, Initialize, Mirror (IDS, UNIX)
refer to
The following topics in the Administrator’s Guide:
■
Mirroring critical data in the chapter on where is data
stored
■
Enabling mirroring in the chapter on using mirroring
In Dynamic Server, MIRROR is a flag that indicates whether mirroring is
enabled for the database server. Enable mirroring if you plan to create a
mirror for the root dbspace as part of initialization. Otherwise, leave
mirroring disabled. If you later decide to add mirroring, you can edit your
configuration file to change the parameter value. ♦
In Extended Parallel Server, MIRROR is a global configuration parameter that
indicates whether mirroring is enabled. Enable mirroring if you plan to create
a mirror for all root dbspaces as part of initialization. Otherwise, leave
mirroring disabled. If you later decide to add mirroring, you can edit your
configuration file to change the parameter value. ♦
Informix Administrator’s Reference
MIRROROFFSET
MIRROROFFSET
IDS
XPS
onconfig.std
value
0
units
Kilobytes
range of values
Any value greater than or equal to 0
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, Initialize, Offset (below Mirror
Path) (IDS, UNIX)
refer to
Mirroring the root dbspace during initialization in the
chapter on using mirroring in the Administrator’s Guide
In Dynamic Server, MIRROROFFSET specifies the offset into the disk partition
or into the device to reach the chunk that serves as the mirror for the initial
chunk of the root dbspace.♦
In Extended Parallel Server, MIRROROFFSET specifies the offset into the disk
partition to reach the chunk that serves as the mirror for the initial chunk of
each root dbspace.
You can specify MIRROROFFSET as a global configuration parameter to apply
to all coservers. Optionally, you can also specify MIRROROFFSET in the
coserver-specific section of the ONCONFIG file to override the global value if
you want a different offset for a specific coserver. ♦
Configuration Parameters 1-91
MIRRORPATH
MIRRORPATH
IDS
onconfig.std
value
None
range of values
65 or fewer characters
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, Initialize, Mirror Path (IDS,
UNIX)
refer to
Mirroring the root dbspace during initialization in the
chapter on using mirroring in the Administrator’s Guide
MIRRORPATH specifies the full pathname of the mirrored chunk for the initial
chunk of the root dbspace. MIRRORPATH should be a link to the chunk
pathname of the actual mirrored chunk for the same reasons that ROOTPATH
is specified as a link. Similarly, select a short pathname for the mirrored
chunk. ♦
XPS
MIRRORPATH specifies the full pathname, including the device or filename,
of the initial chunk of the mirror for the root dbspace of each coserver.
You can specify MIRRORPATH as a global configuration parameter to apply to
all coservers. Optionally, you can also specify MIRRORPATH in the coserverspecific section of the ONCONFIG file to override the global value and
provide a different pathname for a specific coserver.
You can use the following formatting characters to apply the global
MIRRORPATH parameter to all coservers.
Format
Description
%c
Replaced with the specific coserver number
%n
Replaced with the host name of the node
♦
1-92
Informix Administrator’s Reference
MSGPATH
UNIX
Setting Permissions
You must set the permissions of the file that MIRRORPATH specifies to 660.
The owner and group must both be informix.
If you use raw disk space for your mirror chunk on a UNIX platform, Informix
recommends that you define MIRRORPATH as a pathname that is a link to the
initial chunk of the mirror dbspace instead of entering the actual device name
for the initial chunk. For a rationale for using links rather than device names,
refer to allocating disk space on UNIX platforms in the chapter on managing
disk space in the Administrator’s Guide.
MSGPATH
onconfig.std
value
On UNIX: /usr/informix/online.log
On Windows NT: online.log
if not present
On UNIX: /dev/tty
range of values
Pathname
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, diaGnostics, Message Log (IDS,
UNIX)
refer to
Message log in the chapter on overview of database
server administration in the Administrator’s Guide
MSGPATH specifies the full pathname of the message-log file. The database
server writes status messages and diagnostic messages to this file during
operation.
If the file that MSGPATH specifies does not exist, the database server creates
the file in the specified directory. If the directory that MSGPATH specifies does
not exist, the database server sends the messages to the database administrator’s terminal.
If the file that MSGPATH specifies does exist, the database server opens it and
appends messages to it as they occur.
Configuration Parameters 1-93
MULTIPROCESSOR
MULTIPROCESSOR
onconfig.std
value
0
if not present
Platform dependent
range of values
0 = No multiprocessor
1 = Multiprocessor available
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, perFormance, Multiprocessor
Machine (IDS, UNIX)
refer to
CPU virtual processors in the chapter on virtual
processors and threads in the Administrator’s Guide
If MULTIPROCESSOR is set to 0, the AFF_NPROCS and AFF_SPROC parameters
are ignored.
IDS
XPS
In Dynamic Server, MULTIPROCESSOR specifies whether the database server
performs locking in a manner that is suitable for a single-processor computer
or a multiprocessor computer. ♦
In Extended Parallel Server, MULTIPROCESSOR specifies whether the
database server or coserver performs locking in a manner that is suitable for
a single-processor computer or a multiprocessor computer. ♦
NETTYPE
syntax
NETTYPE
protocol,poll_threads,connections,VP_class
The protocol value is required. You cannot use any white
space in the fields, but you can omit trailing commas.
onconfig.std
values
1-94
Informix Administrator’s Reference
On UNIX: None
On Windows NT: onsoctcp,1,NET
NETTYPE
if not present
protocol:
■
On UNIX: nettype field from the sqlhosts file
(optionally minus the database server prefix of on or ol)
■
On Windows NT: onsoctcp
poll_threads: 1
connections: 50
VP_class: NET if for DBSERVERALIASES; CPU if for
DBSERVERNAME
units
poll_threads: NUMCPUVPS
connections: Number of connections
separators
Commas
range of values
protocol:
■
On UNIX: Same as the nettype values (with or without
the database server prefix of on or ol) that are accepted
in the sqlhosts file
■
On Windows NT: onsoctcp
poll_threads:
■
On UNIX:
If VP_class is NET, a value greater than or equal to 1
If VP_class is CPU, 1 through NUMCPUVPS
■
On Windows NT:
Any value greater than or equal to 1
connections: 1 through 32,767
VP_class:
CPU = CPU VPs (on UNIX)
NET = Network VPs
For Dynamic Server:
To enable multiplexed connections on UNIX, use SQLMUX
as the only parameter value.
takes effect
When shared memory is initialized
Configuration Parameters 1-95
NETTYPE
utilities
ON-Monitor: Parameters: perFormance, Protocol,
Threads, Users (connections), VP-class entries for the
protocols supported on the computer (IDS, UNIX)
refer to
The following sections in the Administrator’s Guide:
■
The nettype and protocol field in the chapter on
client/server communications
■
Network virtual processors in the chapter on virtual
processors and threads
■
Should poll threads run on CPU or network virtual
processors in the chapter on virtual processors and
threads
The NETTYPE parameter usually provides tuning options for the protocols
that dbservername entries define in the sqlhosts file or registry.
IDS
In Dynamic Server, the NETTYPE parameter also lets the database server
implement multiplexed connections on UNIX. For more information, refer to
multiplexed connections in the chapter on client/server communications. ♦
Each dbservername entry in the sqlhosts file or registry is defined on either
the DBSERVERNAME parameter or the DBSERVERALIASES parameter in the
ONCONFIG file.
The NETTYPE configuration parameter describes a network connection as
follows:
■
The protocol (or type of connection)
■
The number of poll threads assigned to manage the connection
■
The expected number of concurrent connections per poll thread
■
The class of virtual processor that will run the poll threads
You can specify a NETTYPE parameter for each protocol that you want the
database server to use. The following example illustrates NETTYPE parameters for two types of connections to the database server, a shared memory
connection for local clients and a network connection that uses sockets:
NETTYPE ipcshm,3,,CPU
NETTYPE soctcp,,20,NET
1-96
Informix Administrator’s Reference
NETTYPE
The NETTYPE parameter for the shared-memory connection (ipcshm)
specifies three poll threads to run in CPU virtual processors. The number of
connections is not specified, so it is set to 50. The NETTYPE parameter for the
sockets connection (soctcp) specifies that only 20 simultaneous connections
are expected for this protocol and that one poll thread (because the number
of poll threads is not specified) will run in a network virtual processor (in this
case, SOC).
Protocol
The protocol entry is the same as the nettype field in the sqlhosts file or
registry, except that the database server prefix of on or ol is optional. The first
three characters of the protocol entry specify the interface type, and the last
three characters specify the IPC mechanism or the network protocol. For
information on the possible values for the protocol entry, see the nettype and
protocol field in the chapter on client/server communications in the Administrator’s Guide.
Number of Poll Threads
UNIX
This field specifies the number of poll threads for a specific protocol. The
default value of poll_threads is 1.
If your database server has a large number of connections, you might be able
to improve performance by increasing the number of poll threads. In general,
each poll thread can handle approximately 200 to 250 connections.
The following example illustrates NETTYPE parameters to increase the
number of poll threads and decrease the number of connections per poll
thread. This example allows up to 60 connections of a shared memory
connection.
NETTYPE ipcshm,3,20,CPU
For more information on monitoring and tuning the number of poll threads
and connections, refer to your Performance Guide. ♦
WIN NT
On Windows NT, the number of connections per poll thread is ignored for all
NETTYPE connections other than shared memory. ♦
Configuration Parameters 1-97
NETTYPE
Number of Connections
This field specifies the maximum number of connections per poll thread that
can use this protocol at the same time.
The default value of connections is 50. If you know that only a few connections
will be using a protocol concurrently, you might save memory by explicitly
setting the estimated number of connections.
For all net types other than ipcshm, the poll threads dynamically reallocate
resources to support more connections as needed. Avoid setting the value for
the number of concurrent connections to much higher than you expect.
Otherwise, you might waste system resources.
WIN NT
On Windows NT, the number of connections per poll thread is ignored for all
NETTYPE connections other than shared memory. ♦
For more information on poll threads, refer to network virtual processors in
the chapter on virtual processors and threads in the Administrator’s Guide.
Class of Virtual Processor
You can set the VP_class entry to specify either CPU or NET. However, the
combined number of poll threads defined with the CPU VP class for all net
types cannot exceed the maximum number of CPU VPS.
For advice on whether to run the poll threads on CPU or NET virtual
processors, refer to the section about poll threads running on CPU or network
virtual processors in the chapter on virtual processors and threads in the
Administrator’s Guide.
WIN NT
Database servers on Windows NT should use the NET designation. ♦
Default Values
Informix recommends that you use NETTYPE to configure each of your
connections. However, if you do not use NETTYPE, the database server uses
the default values to create a single poll thread for the protocol. If the
dbservername is defined by DBSERVERNAME, by default the poll thread is
run by the CPU class. If the dbservername is defined by DBSERVERALIASES,
the default VP class is NET.
1-98
Informix Administrator’s Reference
NOAGE
IDS
Multiplexed Connections
To enable the database server to use multiplexed connections, you must
include a special NETTYPE parameter with the value SQLMUX, as in the
following example:
NETTYPE SQLMUX
For more information, refer to multiplexed connections in the chapter on
client/server communications in the Administrator’s Guide.
NOAGE
onconfig.std
value
0
range of values
0 = Use priority aging.
1 = Disable priority aging.
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, perFormance, Disable Priority
Aging (IDS, UNIX)
refer to
Preventing priority aging in the chapter on virtual
processors and threads in the Administrator’s Guide
Some operating systems lower the priority of processes as the processes run
over a long period of time. NOAGE, when set to 1, disables priority aging of
CPU virtual processors by the operating system. When NOAGE is set to the
default of 0, the operating system might lower the priority of CPU virtual
processors, as well as other processes, as they accumulate processing time. If
your operating system supports priority aging, Informix recommends that
you set NOAGE to 1.
IDS
Informix suggests that you specify priority aging with the VPCLASS
parameter instead of the NOAGE parameter. You cannot use both NOAGE and
VPCLASS CPU in the same ONCONFIG file. For more information, refer to
“VPCLASS” on page 1-148. ♦
Configuration Parameters 1-99
NODE
XPS
NODE
onconfig.xps
value
node1
if not present
None
range of values
64 or fewer lowercase characters
protocol:
hostname field from the hosts connectivity file
takes effect
When shared memory is initialized. In addition, the
sqlhosts file of each database server and client application might need to be updated.
refer to
Setting coserver-specific parameters in the chapter on
configuration parameters in the Administrator’s Guide
if not present
None
The NODE name is the host name of the node where the coserver executes.
The host name is located in the hosts connectivity file. You assign each
coserver to a node when you specify this NODE parameter in the coserverspecific section of the ONCONFIG configuration file.
Some computer platforms on which Extended Parallel Server executes
require separate host names or host-name aliases for nodes that connect to
the high-speed communication interface. If your platform requires the use of
such names, be sure to list the proper host names for high-speed access in this
NODE configuration parameter.
The machine notes file indicates if these names are required.
1-100
Informix Administrator’s Reference
NUMAIOVPS
NUMAIOVPS
onconfig.std
value
None
if not present
(2 * number_of_chunks) or 6, whichever is greater;
number_of_chunks is the number of chunks that you have
allocated.
units
Number of AIO VPs
range of values
Integer greater than or equal to 1
takes effect
When shared memory is initialized
utilities
onmode -p
ON-Monitor: Parameters, perFormance, AIO VPs (IDS,
UNIX)
refer to
Asynchronous I/O in the chapter on virtual processors
and threads in the Administrator’s Guide
NUMAIOVPS specifies the number of virtual processors of the AIO class to
run. Unless kernel asynchronous I/O is implemented, the AIO virtual
processors perform all the database server disk I/O, other than I/O to the log
files.
UNIX
IDS
If kernel-asynchronous I/O is supported on your platform, the database
server uses AIO virtual processors to perform I/O only to regular (cooked)
files that you have configured as chunks. ♦
Informix suggests that you specify the number of AIO VPs with VPCLASS AIO
instead of NUMAIOVPS. You cannot use both NUMAIOVPS and VPCLASS AIO
in the same ONCONFIG file. For more information, refer to “VPCLASS” on
page 1-148. ♦
For information about using onmode -p, see “Add or Remove Virtual
Processors” on page 3-49.
Configuration Parameters 1-101
NUMCPUVPS
NUMCPUVPS
onconfig.std
value
1
units
Number of CPU VPs
range of values
1 through the number of CPUs
takes effect
When shared memory is initialized
utilities
onmode -p
ON-Monitor: Parameters, perFormance, CPU VPs (IDS,
UNIX)
refer to
CPU virtual processors in the chapter on virtual
processors and threads in the Administrator’s Guide
NUMCPUVPS specifies the number of virtual processors of the CPU class to
run. CPU virtual processors run all threads that start as the result of a
connection by a client application, as well as internal threads. On a singleprocessor computer, allocate only one CPU virtual processor. On a
multiprocessor computer, do not allocate more CPU virtual processors than
there are CPUs on the computer.
XPS
IDS
On a single-processor computer or node, allocate only one CPU virtual
processor. On a multiprocessor computer or node, do not allocate more CPU
virtual processors than there are CPUs. ♦
Informix suggests that you specify the number of CPU virtual processors
with VPCLASS CPU instead of NUMCPUVPS. You cannot use both
NUMCPUVPS and VPCLASS CPU in the same ONCONFIG file. For information,
refer to ““VPCLASS” on page 1-148. ♦
For information about using onmode -p, see “Add or Remove Virtual
Processors” on page 3-49.
On UNIX, use the onmode -p -1 CPU command to decrease the number of
CPU VPs. On Windows NT, you can add a CPU VP, but you cannot subtract it.
1-102
Informix Administrator’s Reference
NUMFIFOVPS
XPS
NUMFIFOVPS
onconfig.st
value
2
range of values
Integer greater than or equal to 2
takes effect
When shared memory is initialized
utility
onmode -p
refer to
First-in-first-out virtual processor in the chapter on
virtual processors and threads in the Administrator’s Guide
NUMFIFOVPS specifies the number of virtual processors of the FIF class to
run. The database server uses two FIF virtual processors to run loads and
unloads through named pipes.
For information about onmode -p, see “Add or Remove Virtual Processors”
on page 3-49.
OFF_RECVRY_THREADS
onconfig.std
value
10
units
Number of recovery threads
range of values
Positive integers
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, perFormance, Off-Line
Recovery Threads (IDS, UNIX)
refer to
One of the following manuals:
■
Backup and Restore Guide for ON-Bar
■
Archive and Backup Guide for ON-Archive or ontape
Configuration Parameters 1-103
ON_RECVRY_THREADS
OFF_RECVRY_THREADS is the number of recovery threads used in logical
recovery when the database server is off-line (during a cold restore). This
number of threads is also used to roll forward logical-log records in fast
recovery.
Before you perform a cold restore, you can set the value of this parameter to
approximately the number of tables that have a large number of transactions
against them in the logical log. For single-processor computers, more than 30
to 40 threads is probably too many because the overhead of thread
management probably offsets the increase in parallel processing.
XPS
In Extended Parallel Server, for single-processor computers or nodes, more
than 30 to 40 threads is probably too many because the overhead of thread
management probably offsets the increase in parallel processing. ♦
ON_RECVRY_THREADS
onconfig.std
value
1
units
Number of recovery threads
range of values
Positive integers
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, perFormance, On-Line
Recovery Threads (IDS, UNIX)
refer to
One of the following manuals:
■
Backup and Restore Guide for ON-Bar
■
Archive and Backup Guide for ON-Archive or ontape
ON_RECVRY_THREADS is the maximum number of recovery threads that the
database server uses for logical recovery when the database server is on-line
(that is, during a warm restore).
1-104
Informix Administrator’s Reference
ON-Bar Parameters
You can tune ON_RECVRY_THREADS to the number of tables that are likely to
be recovered because the logical-log records that are processed during
recovery are assigned threads by table number. The maximum degree of
parallel processing occurs when the number of recovery threads matches the
number of tables being recovered.
With fuzzy checkpoints, fast recovery might take longer than with full checkpoints. To improve the performance of fast recovery, increase the number of
fast-recovery threads with the ON_RECVRY_THREADS parameter. The
number of threads should usually match the number of tables or fragments
that are frequently updated to roll forward the transactions recorded in the
logical log.
ON-Bar Parameters
The following table lists the configuration parameters that apply to the
ON-Bar backup and restore utility. For more information on these parameters, see the Backup and Restore Guide.
XPS
The ONCONFIG file can contain BAR_SM-specific sections that begin with the
BAR_SM parameter and end with the END parameter. The BAR_SM parameter
introduces a BAR_SM paragraph that cannot be nested or located inside the
storage-manager specific section.
You must specify some ON-Bar parameters in the BAR_SM section only, some
in the BAR_SM or global section, and some in the global section only. ♦
Configuration Parameter
Description
IDS
XPS
BAR_ACT_LOG
Specifies the location of the
ON-Bar activity log file.
✔
✔
BAR_BOOT_DIR
Specifies the directory for the
emergency boot files.
BAR_BSALIB_PATH
Specifies the pathname and
filename of the XBSA shared
library for the storage manager.
Can be
BAR_SM
specific
Always
BAR_SM
specific
✔
✔
✔
✔
(1 of 3)
Configuration Parameters 1-105
ON-Bar Parameters
Configuration Parameter
Description
IDS
XPS
BAR_DBS_COSVR
Specifies coservers that send
backup and restore data to the
storage manager.
BAR_HISTORY
Specifies whether the sysutils
database maintains a backup
history.
BAR_IDLE_TIMEOUT
Specifies the maximum number of
minutes that an onbar-worker
process is idle before it is shut
down.
✔
BAR_LOG_COSVR
Specifies coservers that send log
backup data to the storage
manager.
✔
BAR_MAX_BACKUP
Specifies the maximum number of
backup processes per ON-Bar
command.
Can be
BAR_SM
specific
✔
✔
Always
BAR_SM
specific
✔
✔
✔
✔
✔
BAR_NB_XPORT_COUNT Specifies the number of sharedmemory data buffers for each
backup or restore process.
✔
BAR_PROGRESS_FREQ
Specifies in minutes how
frequently the backup or restore
progress messages display in the
activity log.
✔
✔
BAR_RETRY
Specifies how many times ON-Bar
should retry a backup or restore
operation.
✔
✔
BAR_SM
Specifies the storage-manager
number.
✔
✔
BAR_SM_NAME
Specifies the storage-manager
name.
✔
✔
BAR_WORKER_COSVR
Lists the coservers that can access
the storage manager.
✔
✔
(2 of 3)
1-106
Informix Administrator’s Reference
ON-Bar Parameters
IDS
XPS
Can be
BAR_SM
specific
✔
✔
Configuration Parameter
Description
BAR_WORKER_MAX
Specifies the maximum number of
onbar-worker processes started
for a storage manager.
BAR_XFER_BUF_SIZE
Specifies the size in pages of the
buffers.
BAR_XFER_BUFSIZE
Specifies the size in pages of the
buffers.
✔
BAR_XPORT_COUNT
Specifies the number of sharedmemory data buffers for each
backup or restore process.
✔
ISM_DATA_POOL
Specifies the volume pool that you
use for backing up storage spaces.
✔
✔
✔
ISM_LOG_POOL
Specifies the volume pool that you
use for backing up logical logs.
✔
✔
✔
LOG_BACKUP_MODE
Specifies whether to use manual or
continuous logical-log backups.
For more information, see
“LOG_BACKUP_MODE” on
page 1-70.
RESTARTABLE_RESTORE
Controls how ON-Bar restarts a
failed physical or logical restore.
For more information, see
“RESTARTABLE_RESTORE” on
page 1-123.
Always
BAR_SM
specific
✔
✔
✔
(3 of 3)
Configuration Parameters 1-107
ONDBSPACEDOWN
ONDBSPACEDOWN
onconfig.std
value
2
range of values
0, 1, 2
utilities
ON-Monitor: Parameters, Shared-Memory, Dbspace
Down Option (IDS, UNIX)
refer to
Monitoring the database server for disabling I/O errors in
the chapter on managing disk space in the Administrator’s
Guide
ONDBSPACEDOWN defines the action that the database server will take when
any disabling event occurs on a noncritical dbspace. The following values are
valid for this parameter.
1-108
Value
Description
0
Continue. Causes the database server to mark a noncritical dbspace
down and continue whenever a disabling I/O error occurs on it.
1
Abort. Causes the database server to fail without allowing a checkpoint
to occur whenever a disabling I/O error occurs on any dbspace. Critical
dbspaces run only in this mode.
2
Wait. Causes the database server to hang all updating threads as soon
as the next checkpoint request occurs after a disabling I/O occurs on a
noncritical dbspace.
Informix Administrator’s Reference
OPCACHEMAX
IDS
UNIX
OPCACHEMAX
onconfig.std
value
0
if not present
128
units
Kilobytes
range of values
0 through (4 * 1024 * 1024)
takes effect
When the Optical Subsystem needs more memory
utilities
ON-Monitor: Parameters, Initialize, StageBlob
refer to
The following material:
■
Guide to the Optical Subsystem
■
INFORMIXOPCACHE environment variable in the
Informix Guide to SQL: Reference
OPCACHEMAX specifies the size of the memory cache for the Optical
Subsystem. The database server stores pieces of TEXT or BYTE data in the
memory cache before it delivers them to the subsystem. Use this parameter
only if you use the Optical Subsystem.
The INFORMIXOPCACHE environment variable lets the client restrict the size
of the optical cache that it uses.
Configuration Parameters 1-109
OPTCOMPIND
OPTCOMPIND
onconfig.std
value
2
range of values
0 = When appropriate indexes exist for each ordered pair
of tables, the optimizer chooses index scans (nested-loop
joins), without consideration of the cost, over table scans
(hash joins). This value ensures compatibility with
previous versions of the database server.
1 = The optimizer uses costs to determine an execution
path if the isolation level is not Repeatable Read.
Otherwise, the optimizer chooses index scans (it behaves
as it does for the value 0). Informix recommends this
setting for optimal performance.
2 = The optimizer uses cost to determine an execution
path for any isolation level. Index scans are not given
preference over table scans; the optimizer bases its
decision purely on cost. This value is the default if the
variable is not set.
utilities
ON-Monitor: Parameters menu, pdQ screen (IDS, UNIX)
refer to
The following material:
■
Your Performance Guide
■
OPTCOMPIND environment variable in the Informix
Guide to SQL: Reference
OPTCOMPIND helps the optimizer choose an appropriate query plan for your
application.
Tip: You can think of the name of the variable as arising from “OPTimizer COMPare
(the cost of using) INDexes (with other methods).”
1-110
Informix Administrator’s Reference
OPT_GOAL
Because of the nature of hash joins, an application with isolation mode set to
Repeatable Read might temporarily lock all records in tables that are involved
in the join (even those records that fail to qualify the join) for each ordered set
of tables. This situation leads to higher contention among connections.
Conversely, nested-loop joins lock fewer records but provide inferior performance when the database server retrieves a large number of rows. Thus, both
join methods offer advantages and disadvantages. A client application can
also influence the optimizer in its choice of a join method.
IDS
OPT_GOAL
onconfig.std
value
-1
range of values
0 or -1
takes effect
When shared memory is initialized
refer to
The following manuals:
■
Informix Guide to SQL: Reference
■
Informix Guide to SQL: Syntax
■
Your Performance Guide
The OPT_GOAL parameter enables you to specify one of the following
optimization goals for queries:
■
Optimize for FIRST ROWS
■
Optimize for ALL ROWS
A value of 0 sets the optimization goal to FIRST_ROWS. A value of -1 sets the
optimization goal to ALL_ROWS, which is the default.
When you set the optimization goal to optimize for FIRST ROWS, you specify
that you want the database server to optimize queries for perceived response
time. In other words, users of interactive applications perceive response time
as the time that it takes to display data on the screen. Setting the optimization
goal to FIRST ROWS configures the database server to return the first rows of
data that satisfy the query.
Configuration Parameters 1-111
PAGESIZE
When you set the optimization goal to optimize for ALL ROWS, you specify
that you want the database server to optimize for the total execution time of
the query. Making ALL ROWS the optimization goal instructs the database
server to process the total query as quickly as possible, regardless of how
long it takes to return the first rows to the application.
You can specify the optimization goal in one of four ways:
■
By query (SELECT statement)
Use the ALL_ROWS and FIRST_ROWS directives.
■
By session
Use the SET OPTIMIZATION statement.
■
By environment
Set the OPT_GOAL environment variable.
■
By database server
Set the OPT_GOAL configuration parameter.
To determine the optimization goal, the database server examines the
settings in the order shown. The first setting encountered determines the
optimization goal. For example, if a query includes the ALL_ROWS directive
but the OPT_GOAL configuration parameter is set to FIRST_ROWS, the
database server optimizes for ALL_ROWS, as the query specifies.
For information on the ALL_ROWS and FIRST_ROWS directives and on the
SET OPTIMIZATION statement, refer to the Informix Guide to SQL: Syntax. For
information on the OPT_GOAL environment variable, refer to the Informix
Guide to SQL: Reference. For more information on the performance issues
associated with setting an optimization goal, refer to your Performance Guide.
XPS
1-112
PAGESIZE
onconfig.std
value
4096
if not present
4096
units
Bytes
Informix Administrator’s Reference
PAGESIZE
range of values
2048, 4096, or 8192
takes effect
When the database server is initialized
refer to
The following material:
■
Chapter on managing disk space in the Administrator’s
Guide
■
Your Performance Guide
■
Informix Migration Guide
When you install Extended Parallel Server, use PAGESIZE to configure the
database server page size. You can specify a page size of 2048, 4096, or 8192
bytes. If you do not set the PAGESIZE parameter, the database server uses the
default page size of 4096 bytes. Once you set the PAGESIZE value, you cannot
change it until you reinitialize the database server, upgrade, or revert to an
earlier version.
Use the following chart to select the best page size for your database server.
If your workload is mostly DSS queries, a larger page size provides better
performance. If your workload is mostly OLTP, a smaller page size provides
better performance.
Workload Type
PAGESIZE Value
OLTP
2048 bytes
Mixture of OLTP and DSS (50%-50%)
4096 bytes
DSS
8192 bytes
Many simple large objects or long rows
8192 bytes
To check the page size, use the onstat -b or onutil CHECK RESERVED utility.
If you change the page size, old backups will not be compatible with the new
database server version. You should back up your data if you change the
page size or upgrade the database server.
If you are migrating to a new version of the database server and decide to
change the page size, the total size of the buffer pool and log buffers will
change. For details, see the Informix Migration Guide.
Configuration Parameters 1-113
PC_HASHSIZE
PC_HASHSIZE
onconfig.std
value
None
range of values
Any positive value
takes effect
When shared memory is initialized
refer to
Your Performance Guide
Use PC_HASHSIZE to specify the number of hash buckets in the caches that
the database server uses.
IDS
Cache types include UDR caches. ♦
PC_POOLSIZE
onconfig.std
value
None
range of values
Any positive value
takes effect
When shared memory is initialized
refer to
Your Performance Guide
Use PC_POOLSIZE to specify the maximum number of entries in several
memory caches that the database server uses.
IDS
1-114
For the UDR cache, PC_POOLSIZE specifies the maximum number of UDRs
and SPL routines stored in the UDR cache. ♦
Informix Administrator’s Reference
PDQPRIORITY
XPS
PDQPRIORITY
onconfig.std
value
0
range of values
0 through 100
Integer, integer
LOW
HIGH
takes effect
On all user sessions, unless overridden by the
PDQPRIORITY environment variable or the SQL
statement SET PDQPRIORITY
refer to
Your Performance Guide
PDQPRIORITY specifies the relative amount of memory resources that a query
requests. A query can request a percentage of memory or a minimum and
maximum range of memory. The database server balances this request with
the requests of other applications and determines the amount of memory that
the query actually receives.
In Extended Parallel Server, the value of PDQPRIORITY does not affect the
degree of parallelism. The database server determines the best degree of
parallelism for each component of a PDQ query, based on various considerations such as the number of available coservers, the number of virtual
processors (VPs) on each coserver, the fragmentation of the tables that are
being queried, the complexity of the query, and so forth.
Configuration Parameters 1-115
PDQPRIORITY
The PDQPRIORITY configuration parameter takes one of the values in the
following table and affects all user sessions. If unset, the default value of
PDQPRIORITY is 0.
Value
Description
integer
Integer value that requests the percentage of memory resources to
process the query. Value must be in the range 0 to 100. Value 0
requests the minimum 128 kilobytes of memory.
If you do not specify this PDQPRIORITY parameter, 0 is the
default setting.
, integer
Optional integer value that establishes the maximum percentage
of memory that a query can request. When you specify this second
integer value, you request a range of memory percentage.
HIGH
When the database server allocates resources among all users, it
provides as much memory resources as possible to the query.
LOW
This setting indicates that data is fetched from fragmented
tables in parallel. Other parallel operations can occur when
PDQPRIORITY is LOW.
Even when PDQPRIORITY is 0 or LOW, Extended Parallel Server
can execute a query in parallel, depending upon the availability of
multiple of coservers, multiple virtual processors, disks on which
fragments of the data reside, and if the default size of memory is
adequate to process the SQL operators involved in the query.
If you specify a single integer for PDQPRIORITY, the query can run only when
the specified percentage of memory is available. If you specify a range of
memory, you leave the choice of the actual PDQPRIORITY value to the
discretion of the RGM, and the choice depends on the current workload. The
largest PDQPRIORITY value in the range is the desired memory allocation,
while the smallest PDQPRIORITY value is the minimum acceptable memory
allocation for the query.
Although it is usually true that the more memory the database server uses,
the better the performance for a given query, over-allocation can cause
contention for memory and take away memory from other queries, resulting
in degraded performance. For more information on performance considerations for PDQPRIORITY, refer to your Performance Guide.
1-116
Informix Administrator’s Reference
PHYSBUFF
If the PDQPRIORITY environment variable is set, its value overrides the
value of the PDQPRIORITY configuration parameter. An application can
override the setting of the PDQPRIORITY environment variable when it
issues the SQL statement SET PDQPRIORITY. However, regardless of what
value is specified, the effective value of PDQPRIORITY is factored by the value
of the MAX_PDQPRIORITY configuration parameter.
PHYSBUFF
onconfig.std
value
32
units
Kilobytes
range of values
Page size through PHYSFILE
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, Shared-Memory, Physical-log
Buffer Size (IDS, UNIX)
refer to
Physical-log buffer in the shared-memory chapter of the
Administrator’s Guide
PHYSBUFF specifies the size in kilobytes of each of the two physical-log
buffers in shared memory. Double buffering permits user threads to write to
the active physical-log buffer while the other buffer is being flushed to the
physical log on disk. The value of the PHYSBUFF parameter determines how
frequently the database server needs to flush the physical-log buffer to the
physical-log file.
A write to the physical-log buffer is exactly one page in length. Choose a
value for PHYSBUFF that is evenly divisible by the page size. If the value of
PHYSBUFF is not evenly divisible by the page size, the database server rounds
down the size to the nearest value that is evenly divisible by the page size.
The minimum value for PHYSBUFF is the size of one page. The recommended
value for PHYSBUFF is 16 pages.
IDS
For Dynamic Server, the user-data portion of a smart large object does not
pass through the physical-log buffers. ♦
Configuration Parameters 1-117
PHYSDBS
System Page Size
IDS
XPS
The system page size is platform dependent on Dynamic Server. You can use
the commands listed in the table in “System Page Size” on page 1-27 to obtain
the system page size. ♦
You can configure the system page size with a default page size of 4096 bytes.
For more information, see “PAGESIZE” on page 1-111. ♦
PHYSDBS
onconfig.std
value
rootdbs
if not present
The dbspace that ROOTNAME specifies
units
A dbspace
range of values
For Dynamic Server: Up to 128 characters. PHYSDBS must
be unique, begin with a letter or underscore, and contain
only letters, numbers, underscores, or $ characters.
For Extended Parallel Server: Up to 18 characters.
PHYSDBS must be unique, begin with a letter or underscore, and contain only letters, numbers, or underscores.
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, Physical-Log, Dbspace Name
(IDS, UNIX)
onutil (XPS)
See “onutil: Check, Define, and Modify Storage Objects”
on page 3-135.
1-118
Informix Administrator’s Reference
PHYSDBS
refer to
The following material:
■
“Change Physical-Log Parameters” on page 3-60
■
Where the physical log is located in the chapter on what
is the physical log in the Administrator’s Guide
■
Changing the physical-log location and size in
the chapter on managing the physical log in the
Administrator’s Guide
PHYSDBS specifies the name of the dbspace that contains the physical log. To
reduce disk contention, you can move the physical log to a dbspace other
than the root dbspace.
When you initialize disk space (oninit -i), the PHYSDBS value must be equal
to the ROOTDBS value.
XPS
The PHYSDBS parameter specifies the name of the dbspace that contains the
physical log for a particular coserver.
If you use the PHYSSLICE parameter to create a dbslice for physical logs, you
can list the PHYSDBS parameter in the coserver-specific section of your
ONCONFIG file to change the location of the physical log on a specific
coserver. ♦
Configuration Parameters 1-119
PHYSFILE
PHYSFILE
onconfig.std
value
For Dynamic Server: 1000
For Extended Parallel Server: 1500
if not present
200
units
Kilobytes
range of values
200 or more
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, Init, Phys Log Size (IDS, UNIX)
refer to
The following topics in the Administrator’s Guide:
■
Sizing the physical log in the chapter on the physical log
■
Changing the physical-log location and size in the
chapter on managing the physical log
PHYSFILE specifies the size of the physical log.
XPS
1-120
When you specify the PHYSFILE parameter in the global section of the
ONCONFIG file, the database server uses this value when it initializes the
physical log for each coserver. Optionally, you can specify the PHYSFILE
parameter in a coserver-specific section if you want a different physical log
size for a specific coserver. ♦
Informix Administrator’s Reference
PHYSSLICE
XPS
PHYSSLICE
onconfig.xps
value
rootdbs
if not present
None
range of values
18 characters maximum. Valid characters are restricted to
digits, letters, and the underscore.
The value must be a valid dbslice name that exists on
every coserver.
takes effect
When shared memory is initialized (destroys all data)
refer to
Setting the global configuration parameters in the chapter
on installing and configuring the database server in the
Administrator’s Guide
The PHYSSLICE parameter specifies the name of the derived dbspace or
dbslice on each coserver that contains the physical log. The PHYSSLICE
parameter is a global configuration parameter. You cannot specify it in the
coserver-specific section of the ONCONFIG file. To reduce disk contention,
you can use this parameter to move the physical log to a dbspace other than
the root dbspace.
Important: If you specify PHYSSLICE, the derived dbspace name for each physicallog dbspace contains a period and the coserver number. The total name, including the
period and coserver number, must not exceed 18 characters.
Configuration Parameters 1-121
PLAN_MONITORING
XPS
PLAN_MONITORING
onconfig.std
value
1
if not present
0
range of values
0 if Plan Monitoring is off
1 if Plan Monitoring is on
takes effect
When the database server is restarted
refer to
Your Performance Guide
You can use the Query Monitor on a Windows NT console to view a query
plan or to monitor database server performance. The Plan Monitoring Infrastructure (PMI) gathers the data that the Query Monitor displays.
Use the PLAN_MONITORING configuration parameter to turn the Plan
Monitoring Infrastructure (PMI) on or off.
RA_PAGES
1-122
onconfig.std
value
None
if not present
4 if MULTIPROCESSOR is 0;
8 if MULTIPROCESSOR is 1
units
Number of data pages
range of values
RA_THRESHOLD through BUFFERS
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, perFormance, Num of Read
Ahead Pages (IDS, UNIX)
Informix Administrator’s Reference
RA_THRESHOLD
refer to
The following material:
■
Configuring the database server to read ahead in the
shared-memory chapter of the Administrator’s Guide
■
Calculating RA_PAGES and RA_THRESHOLD in your
Performance Guide
RA_PAGES specifies the number of disk pages to attempt to read ahead
during sequential scans of data records. Read-ahead can greatly speed up
database processing by compensating for the slowness of I/O processing
relative to the speed of CPU processing.
This parameter works with the RA_THRESHOLD parameter. Specifying
values that are too large can result in excessive buffer-caching activity.
RA_THRESHOLD
onconfig.std
value
None
if not present
RA_PAGES/2
units
Number of data pages
range of values
0 through (RA_PAGES - 1)
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, perFormance, Read Ahead
Threshold (IDS, UNIX)
refer to
The following material:
■
Configuring the database server to read ahead in the
shared-memory chapter of the Administrator’s Guide
■
Calculating RA_PAGES and RA_THRESHOLD in your
Performance Guide
Configuration Parameters 1-123
RESIDENT
RA_THRESHOLD is used with RA_PAGES when the database server reads
during sequential scans of data records. RA_THRESHOLD specifies the read-
ahead threshold; that is, the number of unprocessed data pages in memory
that signals the database server to perform the next read-ahead.
If the value of RA_THRESHOLD is greater than the value of RA_PAGES,
RA_THRESHOLD has a value of RA_PAGES/2.
Specifying values that are too large for RA_PAGES and RA_THRESHOLD can
result in excessive buffer-caching activity.
RESIDENT
onconfig.std
value
0
range of values
0 = Off
-1 = Keep all resident and virtual segments resident.
number, where number > 0 = Keep number segments
resident.
For Dynamic Server:
1 = Keep resident portion of shared-memory resident.
1-124
if not present
0
takes effect
When shared memory is initialized
utilities
onmode
ON-Monitor: Parameters, Shared-Memory, Forced
Residency (IDS, UNIX)
refer to
The following topics in the Administrator’s Guide for a
discussion of residency:
Informix Administrator’s Reference
■
Resident portion of shared memory in the sharedmemory chapter
■
Setting database server shared-memory configuration
parameters in the chapter on managing shared memory
RESTARTABLE_RESTORE
The RESIDENT parameter specifies whether resident and virtual segments of
shared memory remain resident in operating-system physical memory.
For information about using onmode, see “Change Shared-Memory
Residency” on page 3-43.
Some systems allow you to specify that the resident portion of shared
memory must stay (be resident) in memory at all times. If your operating
system supports forced residency, you can specify that resident and virtual
segments of shared memory not be swapped to disk.
Warning: Before you decide to enforce residency, verify that the amount of physical
memory available after satisfying the database server requirements is sufficient to
execute all required operating-system and application processes.
IDS
RESTARTABLE_RESTORE
onconfig.std
value
OFF
range of values
OFF = Restartable restore is disabled.
ON = Restartable restore is enabled.
takes effect
When shared memory is initialized
refer to
Backup and Restore Guide
If you set RESTARTABLE_RESTORE to ON, you enable the database server to
restart a failed physical or warm logical restore at the point at which the
failure occurred. To perform a restartable restore with ON-Bar, use the
onbar -RESTART command.
Increase the size of your physical log if you plan to use restartable restore. For
more information, see “PHYSFILE” on page 1-118. Although a restartable
restore slows down the logical restore if many logs need to be restored, you
save a lot of time from not having to repeat the entire restore.
Important: If the database server fails in the middle of a cold logical restore, you must
repeat the entire restore.
Configuration Parameters 1-125
ROOTNAME
The database server uses physical recovery and logical recovery to restore
data as follows:
■
Physical recovery. The database server writes dbspace pages from
the backup media to disk. This action leaves the dbspace consistent
to the point in time at which it was originally backed up. However,
the point in time is different for each dbspace that the database server
manages because the backup times are usually different. A
restartable restore is restartable to the level of a dbspace. If only some
chunks of a dbspace are restored when the restore fails, the entire
dbspace needs to be recovered again when you restart the restore.
■
Logical recovery. The database server replays logical-log records on
media to bring data in all of the dbspaces up to date. At the end of
logical recovery, all dbspaces are consistent to the same point in time.
ROOTNAME
onconfig.std
value
rootdbs
units
A dbspace
range of values
For Dynamic Server: Up to 128 characters. ROOTNAME
must begin with a letter or underscore and must contain
only letters, numbers, underscores, or $ characters.
For Extended Parallel Server: Up to 18 lowercase
characters. ROOTNAME must be unique, begin with a
letter or underscore, and contain only letters, numbers, or
underscores.
1-126
takes effect
When disk is initialized (destroys all data)
utilities
ON-Monitor: Parameters, Initialize, Root Name (IDS,
UNIX)
refer to
Allocating disk space in the chapter on managing disk
space in the Administrator’s Guide
Informix Administrator’s Reference
ROOTOFFSET
ROOTNAME specifies a name for the root dbspace for this database server
configuration.
The name must be unique among all dbspaces that the database server
manages. Informix recommends that you select a name that is easily
recognizable as the root dbspace.
XPS
In Extended Parallel Server, the ROOTNAME parameter specifies a name for
the root dbspace of a particular coserver. The ROOTNAME parameter is part
of the coserver-specific section of the ONCONFIG file.
The database server generates the root dbspace name when you use the
ROOTSLICE global configuration parameter. If you use the ROOTSLICE
parameter, the generated rootnames are in the following format, where n is
the coserver number:
rootslicename.n
Tip: Because single global values are easier to define and manage, Informix recommends that you use the global configuration parameter ROOTSLICE rather than the
coserver-specific ROOTNAME parameter. ♦
ROOTOFFSET
onconfig.std
value
0
units
Kilobytes
range of values
Any value greater than or equal to 0
takes effect
When disk is initialized (destroys all data)
utilities
ON-Monitor: Parameters, Initialize, Offset (follows Root
Size) (IDS, UNIX)
refer to
Allocating raw disk space on UNIX in the chapter on
managing disk space in the Administrator’s Guide
ROOTOFFSET specifies the offset into an allocation of disk space (file, disk
partition, or device) at which the initial chunk of the root dbspace begins.
Configuration Parameters 1-127
ROOTPATH
UNIX
XPS
On some UNIX platforms, it is not valid to set ROOTOFFSET to 0. When this
parameter is set incorrectly, you must reinitialize disk space and reload data
to resume proper operation of the database server. Before you configure the
database server, always check your machine notes file for information about
proper settings. ♦
In Extended Parallel Server, the ROOTOFFSET parameter is optionally part of
the coserver-specific section of the ONCONFIG file to override the value that
is given in the global section of the ONCONFIG file. ♦
ROOTPATH
onconfig.std
value
On UNIX: /dev/online_root
On Windows NT: None
onconfig.
value
On UNIX: /dev/online_root.%c
On Windows NT: None
range of values
Pathname
takes effect
When disk is initialized (destroys all data)
utilities
ON-Monitor: Parameters, Initialize, Primary Path (IDS,
UNIX)
refer to
Allocating disk space in the chapter on managing disk
space in the Administrator’s Guide
ROOTPATH specifies the full pathname, including the device or filename, of
the initial chunk of the root dbspace. ROOTPATH is stored in the reserved
pages as a chunk name.
On UNIX, you must set the permissions of the file that ROOTPATH specifies to
660, and the owner and group must both be informix. On Windows NT, a
member of the Informix-Admin group must own the file that ROOTPATH
specifies.
1-128
Informix Administrator’s Reference
ROOTSIZE
UNIX
XPS
If you use unbuffered disk space for your initial chunk on UNIX, Informix
recommends that you define ROOTPATH as a pathname that is a link to the
initial chunk of the root dbspace instead of entering the actual device name
for the initial chunk. For a rationale for using links rather than device names,
refer to creating links to each raw device in the chapter on managing disk
space in the Administrator’s Guide. ♦
In Extended Parallel Server, the ROOTPATH parameter specifies the full
pathname, including the device or filename, of the initial chunk of the root
dbspace on each coserver. You can list this parameter in the global section of
your ONCONFIG file and use the following formatting characters to apply the
ROOTPATH parameter to all coservers.
Formatting
Character
Description
%c
Replaced with the specific coserver number.
%n
Replaced with the specific node name.
♦
ROOTSIZE
onconfig.std
value
For Dynamic Server: 30,000
For Extended Parallel Server: 20,000
if not present
0
units
Kilobytes
range of values
0 through maximum capacity of the storage device
takes effect
When disk is initialized (destroys all data)
UNIX utilities
ON-Monitor: Parameters, Initialize, Root Size (IDS, UNIX)
refer to
Calculating the size of the root dbspace in the chapter on
where is data stored in the Administrator’s Guide
Configuration Parameters 1-129
ROOTSLICE
ROOTSIZE specifies the size of the initial chunk of the root dbspace, expressed
in kilobytes. The size that you select depends on your immediate plans for
your database server.
To change ROOTSIZE after you initialize the database server, completely
unload and reload your data.
XPS
XPS
In Extended Parallel Server, the ROOTSIZE parameter is optionally part of the
coserver-specific section of the ONCONFIG file to override the value that is
given in the global section of the ONCONFIG file. ♦
ROOTSLICE
onconfig.xps
value
rootdbs
if not present
None
range of values
18 characters
takes effect
When disk is initialized (destroys all data)
refer to
The following material in the Administrator’s Guide:
■
Chapter on managing disk space
■
Setting the global configuration parameters in the
configuration-parameter chapter
The ROOTSLICE parameter specifies a name for the root dbslice. The
ROOTSLICE parameter is a global configuration parameter. You cannot
specify it in the coserver-specific section of the ONCONFIG file.
The name must be unique among all dbspaces that the database server
manages. Informix recommends that you select a name that is easily
recognizable as the root dbslice.
If you specify ROOTSLICE, the database server derives a dbspace name for the
root dbspace on each coserver. This dbspace name has the following format,
where n is the coserver identification number:
rootslicename.n
1-130
Informix Administrator’s Reference
SBSPACENAME
The name cannot exceed 18 characters. Valid characters are restricted to
digits, letters, and the underscore character. If the dbspace name is derived,
it can include a period.
Important: If you specify ROOTSLICE, the derived dbspace name for each root
dbspace contains a period and the coserver number. The total name, including the
period and coserver number, must not exceed 18 characters.
IDS
SBSPACENAME
onconfig.std
value
None
if not present
0
range of values
Up to 128 characters. SBSPACENAME must be unique,
begin with a letter or underscore, and contain only letters,
digits, underscores, or $ characters.
takes effect
When shared memory is reinitialized
utilities
ON-Monitor: Parameters, Initialize, Root Size (IDS, UNIX)
onspaces
refer to
The following material:
■
What is an sbspace in the chapter on where data is
stored in the Administrator’s Guide
■
Altering sbspace characteristics in the chapter on
managing data on disk in the Administrator’s Guide
■
CREATE TABLE and ALTER TABLE statements in the
Informix Guide to SQL: Syntax
SBSPACENAME specifies the name of the system default sbspace. Unless you
specify an sbspace name when you create a table that contains a column for
smart large objects (CLOB or BLOB data type), the database server stores it in
the default sbspace.
Configuration Parameters 1-131
SENDEPDS
Informix recommends that users create their own sbspace (with the onspaces
utility) and specify the sbspace or sbspaces in the PUT clause of the CREATE
TABLE and ALTER TABLE statements.
Even though you specify a default sbspace with the SBSPACENAME
parameter, you must create the sbspace with the -c -S option of the onspaces
utility before you can use it. The database server does not validate the name
of the default sbspace until one of the following occurrences:
■
You specify the default sbspace as the storage option for a CLOB or
BLOB column in a CREATE TABLE statement.
■
The database server attempts to write a smart large object to the
default sbspace when no sbspace was specified for the column.
For information about sbspaces, refer to “Sbspace Structure” on page 7-40.
For information about assigning a smart large object to an sbspace, refer to
the CREATE TABLE and ALTER TABLE statements in the Informix Guide to SQL:
Syntax. For information about using onspaces, refer to “Create an Sbspace”
on page 3-68.
XPS
SENDEPDS
onconfig.std
value
None
units
Number of send endpoints per CPU VP
range of values
Positive integers
takes effect
When shared memory is initialized
refer to
“ASYNCRQT” on page 1-26
“XMF Configuration Parameters” on page 1-156
SENDEPDS specifies the number of send endpoints per CPU virtual processor
when you configure communications buffers to send and receive data
between coservers. The default value of SENDEPDS is 5.
1-132
Informix Administrator’s Reference
SERVERNUM
You should not need to change the value of SENDEPDS unless your XMF
(Extended Messaging Facility) statistics report a large number of retransmissions with a small number of duplicate packets received, indicating that
packets are being transmitted but are not arriving at the remote destination.
In this case, you can increase the value of SENDEPDS. However, keep in mind
that more send endpoints consume more system resources.
SERVERNUM
onconfig.std
value
0
range of values
0 through 255
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, Shared-Memory, Server
Number (IDS, UNIX)
refer to
Role of the SERVERNUM configuration parameter in the
multiple-residency chapter of the Administrator’s Guide
SERVERNUM specifies a relative location in shared memory. The value that
you choose must be unique for each database server on your local computer.
The value does not need to be unique on your network. Because the value 0
is included in the onconfig.std file, Informix suggests that you choose a value
other than 0 to avoid inadvertent duplication of SERVERNUM.
Configuration Parameters 1-133
SHMADD
SHMADD
onconfig.std
value
8192
range of values
For Dynamic Server: 1024 through 524,288
For Extended Parallel Server: 1024 through 524,288 on 32bit platforms and 1024 through 4 gigabytes on 64-bit
platforms
units
Kilobytes
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, Shared-Memory, Add Seg Size
(IDS, UNIX)
refer to
Virtual portion of shared memory in the shared-memory
chapter of the Administrator’s Guide
SHMADD specifies the size of a segment that is dynamically added to the
virtual portion of shared memory.
It is more efficient to add memory in large segments, but wasteful if the
added memory is not used. Also, the operating system might require you to
add memory in a few large segments rather than many small segments.
Informix recommends the following guidelines for setting the initial value of
SHMADD.
1-134
Amount of Physical Memory
Recommended
SHMADD Value
Less than 256 megabytes
8192
Greater than 256 megabytes and less than 512 megabytes
16,384
Greater than 512 megabytes
32,768
Informix Administrator’s Reference
SHMBASE
The following command displays the size of memory segments and the
amount of memory that is used or free in each:
onstat -g seg
SHMBASE
onconfig.std
value
On UNIX: Platform dependent
On Windows NT: 0xC000000L
units
Address
range of values
Positive integers
takes effect
When shared memory is initialized
refer to
Setting operating-system shared-memory configuration
parameters in the chapter on managing shared memory
in the Administrator’s Guide
SHMBASE specifies the base address where shared memory is attached to the
memory space of a virtual processor. Do not change the value of SHMBASE.
The onconfig.std value for SHMBASE is platform dependent.
IDS
ON-Monitor does not prompt for this value during initialization. ♦
UNIX
Configuration Parameters 1-135
SHMTOTAL
SHMTOTAL
onconfig.std
value
0
units
Kilobytes
range of values
Integer greater than or equal to 1
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, Shared-Memory, Total Memory
(IDS, UNIX)
refer to
How much shared memory the database server needs in
the shared-memory chapter of the Administrator’s Guide
SHMTOTAL specifies the total amount of shared memory (resident, virtual,
communications, and virtual extension portions) to be used by the database
server for all memory allocations. The onconfig.std value of 0 implies that no
limit on memory allocation is stipulated.
SHMTOTAL enables you to limit the demand for memory that the database
server can place on your system. However, applications might fail if the
database server requires more memory than the limit imposed by
SHMTOTAL. When this situation occurs, the database server writes the
following message in the message log:
size of resident + virtual segments xx + yy > zz total allowed
by configuration parameter SHMTOTAL
This message includes the following values.
1-136
Value
Description
xx
Current size of resident segments
yy
Current size of virtual segments
zz
Total shared memory required
Informix Administrator’s Reference
SHMVIRTSIZE
SHMVIRTSIZE
onconfig.std
value
For Dynamic Server: 8000 on UNIX and 8192 on
Windows NT
For Extended Parallel Server: 8192
if not present
If SHMADD is present: SHMADD
If SHMADD is not present: 8
units
Kilobytes
range of values
32-bit platforms:
Positive integer with a maximum of 2 gigabytes.
64-bit platforms:
Positive integer with a maximum value of 4 gigabytes.
The maximum value might be less on some 64-bit
platforms due to operating-system limitations. For the
actual maximum value for your UNIX platform, see the
machine notes.
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, Shared-Memory, Non Res. Seg
Size (IDS, UNIX)
refer to
The following material:
■
Virtual portion of shared memory in the sharedmemory chapter of the Administrator’s Guide
■
Chapter on configuration effects on memory utilization
in your Performance Guide
SHMVIRTSIZE specifies the initial size of a virtual shared-memory segment.
Use the following algorithm to determine the size of the virtual portion of
shared memory:
fixed_overhead + shared_structures + (mncs * private_structures)
Configuration Parameters 1-137
SINGLE_CPU_VP
This algorithm includes the following values.
Value
Description
fixed_overhead
Global pool + thread pool after booting (partially dependent on the number of
virtual processors)
shared_structures
AIO vectors + sort memory + dbspace backup buffers + dictionary size + size of
stored-procedure cache + histogram pool + other pools (See the onstat display.)
mncs
Maximum number of concurrent sessions
private_structures
Stack (generally 32 kilobytes but dependent on recursion in SPL routines and
triggers) + heap (about 30 kilobytes) + session-control-block structures
If messages in the message file indicate that the database server is adding
segments to the virtual portion of shared memory for you, add the amount
that these messages indicate to the value of SHMVIRTSIZE. Informix recommends that you initially create a virtual portion of shared memory of a size
that is more than sufficient for your daily processing, if possible.
Then use the following command to determine peak usage and lower the
value of SHMVIRTSIZE accordingly:
% onstat -g seg
SINGLE_CPU_VP
onconfig.std
value
0
range of values
0 = Running with multiple CPU VPs
Any nonzero value = Running with one CPU VP
1-138
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, perFormance, Single CPU VP
(IDS, UNIX)
refer to
Running on a single-processor computer in the chapter on
virtual processors and threads in the Administrator’s Guide
Informix Administrator’s Reference
SINGLE_CPU_VP
SINGLE_CPU_VP specifies whether or not the database server is running with
only one CPU virtual processor.
Setting SINGLE_CPU_VP to nonzero allows the database server to use
optimized code based on the knowledge that only one CPU virtual processor
is running. It enables the database server to bypass many of the mutex calls
that it must use when it runs multiple CPU virtual processors.
Informix strongly recommends that you set this parameter when the
database server will run only one CPU virtual processor. Depending on the
application and work load, setting this parameter can improve performance
by up to 10 percent.
If you set SINGLE_CPU_VP to nonzero and try to add a CPU virtual processor,
you receive one of the following messages:
onmode: failed when trying to change the number of classname VPs by n.
onmode: failed when trying to change the number of cpu virtual processors by n.
If you set this parameter to nonzero and then attempt to bring up the
database server with NUMCPUVPS set to a value greater than 1, you receive
the following error message, and the database server initialization fails:
Cannot have SINGLE_CPU_VP non-zero and CPU VPs greater than 1.
IDS
Dynamic Server supports user-defined virtual-processor classes.
Important: The database server treats user-defined virtual-processor classes as if
they were CPU virtual processors. Thus, if you set SINGLE_CPU_VP to nonzero, you
cannot create any user-defined virtual-processor classes.
If you set this parameter to nonzero and then attempt to bring up the
database server with NUMCPUVPS or the VPCLASS cpu value for num= set to
a value greater than 1, you receive the following error message, and the
database server initialization fails:
Cannot have SINGLE_CPU_VP non-zero and CPU VPs greater than 1.
If you set this parameter to nonzero and then attempt to bring up the
database server with a user-defined VPCLASS, you receive the following
error message, and the database server initialization fails:
oninit: Cannot have SINGLE_CPU_VP non-zero and user-defined
VP classes
♦
Configuration Parameters 1-139
STACKSIZE
STACKSIZE
onconfig.std
value
32
units
Kilobytes
range of values
32 through limit determined by the database server
configuration and the amount of memory available
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, Shared-Memory, Stack Size
(kilobytes) (IDS, UNIX)
refer to
The following material:
■
Stacks in the chapter on virtual processors and threads
in the Administrator’s Guide
■
CREATE FUNCTION statement in the Informix Guide to
SQL: Syntax
The STACKSIZE parameter specifies the stack size for the database server user
threads. The value of STACKSIZE does not have an upper limit, but setting a
value that is too large wastes virtual memory space and can cause swapspace problems.
Informix has determined that the default size of 32 kilobytes is sufficient for
nonrecursive database activity. When the database server performs recursive
database tasks, as in some SPL routines, for example, it explicitly checks for
the possibility of stack-size overflow and automatically expands the stack.
IDS
User threads execute user-defined routines. To increase the stack size for a
particular routine, use the stack modifier on the CREATE FUNCTION
statement. ♦
Warning: Setting the value of STACKSIZE too low can cause stack overflow, the
result of which is undefined but usually undesirable.
1-140
Informix Administrator’s Reference
STAGEBLOB
IDS
STAGEBLOB
onconfig.std
value
None
range of values
Up to 128 characters. STAGEBLOB must be unique, begin
with a letter or underscore, and contain only digits,
letters, underscores, or $ characters.
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, Initialize, Stage Blob (UNIX)
refer to
Guide to the Optical Subsystem
Use this parameter only if you are storing TEXT or BYTE data on optical
storage with the Optical Subsystem. This parameter has no effect on ordinary
blobspaces or sbspaces.
STAGEBLOB is the blobspace name for the area where the Optical Subsystem
stages TEXT and BYTE data that is destined for storage on optical disk.
IDS
STMT_CACHE
onconfig.std
value
0
range of values
0, 1, or 2
takes effect
When shared memory is initialized
utilities
None
refer to
Your Performance Guide
Configuration Parameters 1-141
STMT_CACHE_SIZE
STMT_CACHE determines whether the database server uses the SQL
statement cache. The following table describes the possible values.
IDS
Possible Value
Meaning
0
SQL statement cache not used
1
SQL statement cache used for sessions that set the STMT_CACHE
environment variable to 1 or that execute the SET STATEMENT
CACHE ON statement
2
SQL statement cache used unless a session turns it off by setting
the STMT_CACHE environment variable to 0 or by executing the
SET STATEMENT CACHE OFF statement
STMT_CACHE_SIZE
onconfig.std
value
0
units
Kilobytes
range of values
Positive integer
takes effect
When shared memory is initialized
utilities
None
refer to
Your Performance Guide
The STMT_CACHE_SIZE configuration parameter specifies the size of the SQL
statement cache in kilobytes.
1-142
Informix Administrator’s Reference
SYSALARMPROGRAM
SYSALARMPROGRAM
onconfig.std
value
On UNIX: evidence.sh (expands to
$INFORMIXDIR/etc/evidence.sh)
On Windows NT: %INFORMIXDIR%\etc\evidence.bat
range of values
Pathname
takes effect
When shared memory is initialized
utilities
None
refer to
None
Set SYSALARMPROGRAM to the full pathname of the evidence.sh script. The
database server executes evidence.sh when a database server failure occurs.
Informix Technical Support uses the output from the evidence.sh script to
diagnose the cause of a database server failure.
IDS
SYSSBSPACENAME
onconfig.std
value
None
if not present
0
range of values
Up to 128 characters. SYSSBSPACENAME must be unique,
begin with a letter or underscore, and contain only digits,
letters, underscores, or $ characters.
takes effect
When disk is initialized (destroys all data)
utilities
onspaces
ON-Monitor: Parameters, Initialize, Root Size (UNIX)
Configuration Parameters 1-143
SYSSBSPACENAME
refer to
The following material:
■
Updating statistics in the chapter on individual query
performance in your Performance Guide
■
Sbspace characteristics in the chapter on configuration
effects on I/O in your Performance Guide
■
Performance chapter in Extending Informix Dynamic
Server 2000
SYSSBSPACENAME specifies the name of the sbspace in which the database
server stores statistics that the UPDATE STATISTICS statement collects for
certain user-defined data types. Normally, the database server stores
statistics in the system catalog table. Because the data distributions for userdefined data types can be large, you have the option to store them in an
sbspace instead of in the sysdistrib system catalog table.
Even though you specify an sbspace with the SYSSBSPACENAME parameter,
you must create the sbspace with the -c -S option of the onspaces utility
before you can use it. The database server does not validate the name of this
sbspace until one of the following occurrences:
■
The database server attempts to write data distributions of the multirepresentational type to SYSSBSPACENAME when it executes the
UPDATE STATISTICS statement with the MEDIUM or HIGH keywords.
■
The database server attempts to delete data distributions of the
multirepresentational type to SYSSBSPACENAME when it executes
the UPDATE STATISTICS statement with the DROP DISTRIBUTIONS
keywords.
For information about sbspaces, refer to “Sbspace Structure” on page 7-40.
For information about writing user-defined statistics, refer to the performance chapter in Extending Informix Dynamic Server 2000. For information
about using onspaces, see “Create an Sbspace” on page 3-68.
1-144
Informix Administrator’s Reference
TAPEBLK
IDS
TAPEBLK
onconfig.std
value
16
units
Kilobytes
range of values
Values greater than page size/1024
takes effect
For ontape: When you execute ontape
For onload and onunload: When shared memory is
initialized
utilities
ON-Monitor: Parameters, Initialize, Block Size (follows
Tape Dev) (UNIX)
refer to
Informix Migration Guide
TAPEBLK specifies the block size of the device to which ontape writes during
a dbspace backup. TAPEBLK also specifies the default block size of the device
to which data is loaded or unloaded when you use onload or onunload. If
you are using onload or onunload, you can specify a different block size on
the command line.
The database server does not check the tape device when you specify the
block size. Verify that the TAPEBLK tape device can read the block size that
you specify. If not, you might not able to read from the tape.
System Page Size
The system page size is platform dependent on Dynamic Server. ♦
You can use the commands in the table in “System Page Size” on page 1-79 to
display the system page size.
Configuration Parameters 1-145
TAPEDEV
IDS
TAPEDEV
onconfig.std
value
On UNIX: /dev/tapedev
On Windows NT: \\.\TAPE0
if not present
On UNIX: /dev/null
units
Pathname
takes effect
For ontape: When you execute ontape
For onload and onunload: When shared memory is
initialized
utilities
ON-Monitor: Parameters, Initialize, Tape Dev (UNIX)
refer to
The following material:
■
How this parameter affects ontape in the Archive and
Backup Guide
■
How this parameter affects onload and onunload in the
Informix Migration Guide
TAPEDEV specifies the device to which ontape backs up dbspace data.
TAPEDEV also specifies the default device to which data is loaded or
unloaded when you use onload or onunload.
UNIX
Using Symbolic Links and a Remote Device
TAPEDEV can be a symbolic link, enabling you to switch between tape
devices without changing the pathname that TAPEDEV specifies.
You can use the following syntax to specify a tape device attached to another
host computer:
host_machine_name: tape_device_pathname
The following example specifies a tape device on the host computer kyoto:
kyoto:/dev/rmt01
♦
1-146
Informix Administrator’s Reference
TAPESIZE
Verifying the Tape Block Size and Tape Size
If you change the tape device, verify that TAPEBLK and TAPESIZE are correct
for the new device.
Rewinding Tape Devices Before Opening and on Closing
The tape device that TAPEDEV specifies must perform a rewind before it
opens and when it closes. The database server requires this action because of
a series of checks that it performs before it writes to a tape.
When the database server attempts to write to any tape other than the first
tape in a multivolume dbspace or logical-log backup, the database server first
reads the tape header to make sure that the tape is available for use. Then the
device is closed and reopened. The database server assumes the tape was
rewound when it closed, and the database server begins to write.
Whenever the database server attempts to read a tape, it first reads the header
and looks for the correct information. The database server does not find the
correct header information at the start of the tape if the tape device did not
rewind when it closed during the write process.
IDS
TAPESIZE
onconfig.std
value
10,240
units
Kilobytes
range of values
Positive integers
takes effect
For ontape: When you execute ontape
For onload and onunload: When shared memory is
initialized
utilities
ON-Monitor: Parameters, Initialize, Total Tape Size
(follows Tape Dev) (UNIX)
refer to
Informix Migration Guide
Configuration Parameters 1-147
TBLSPACE_STATS
The TAPESIZE parameter specifies the size of the device to which ontape
backs up dbspace data. TAPESIZE also specifies the size of the default device
to which data is loaded or unloaded when you use onload or onunload. If
you are using onload or onunload, you can specify a different tape size on
the command line.
TBLSPACE_STATS
onconfig.std
value
1
if not present
1
units
Integer
range of values
0 or 1
takes effect
When shared memory is initialized
The TBLSPACE_STATS configuration parameter turns on and off collection of
tblspace statistics that the database server performs.
To turn off collection of tblspace statistics, set TBLSPACE_STATS to 0. Turning
off tablespace statistics might improve overall database server performance,
but you cannot list tblspace statistics with onstat -g ppf. To turn on collection
of tablespace statistics, set TBLSPACE_STATS to 1.
IDS
1-148
TXTIMEOUT
onconfig.std
value
300
units
Seconds
range of values
Positive integers
Informix Administrator’s Reference
USEOSTIME
takes effect
When shared memory is initialized
utilities
ON-Monitor: Parameters, Shared-Memory, Transaction
Timeout (UNIX)
refer to
How the two-phase commit protocol handles failures in
the chapter on multiphase commit protocols in the
Administrator’s Guide
TXTIMEOUT specifies the amount of time that a participant in a two-phase
commit waits before it initiates participant recovery.
This parameter is used only for distributed queries that involve a remote
database server. Nondistributed queries do not use this parameter.
USEOSTIME
onconfig.std
value
0
range of values
0 = Off
1 = On
takes effect
During initialization
utilities
ON-Monitor: Parameters, perFormance, Use OS Time
(IDS, UNIX)
refer to
The following material:
■
Your Performance Guide
■
Using the CURRENT function to return a DATETIME
value in the Informix Guide to SQL: Syntax
Setting USEOSTIME to 1 specifies that the database server is to use subsecond
precision when it obtains the current time from the operating system for SQL
statements. The following example shows subseconds in a DATETIME value:
1998-09-29 12:50:04.612
Configuration Parameters 1-149
VPCLASS
If subsecond precision is not needed, the database server retrieves the current
time from the operating system once per second, making the precision of
time for client applications one second. If you set USEOSTIME to 0, the
CURRENT function returns a zero (.000) for the YEAR TO FRACTION field.
When the host computer for Dynamic Server or node for Extended Parallel
Server has a clock with subsecond precision, applications that depend on
subsecond accuracy for their SQL statements should set USEOSTIME to 1.
Systems that run with USEOSTIME set to nonzero notice a performance
degradation of up to 4 to 5 percent compared to running with USEOSTIME
turned off.
This setting does not affect any calls regarding the time from application
programs to Informix embedded-language library functions.
IDS
VPCLASS
syntax
classname, options
The classname variable is required. Unlike most configuration parameters, VPCLASS has several option fields that
can appear in any order, separated by commas. You
cannot use any white space in the fields. VPCLASS has the
following options:
num=num_VPs
max=max_VPs
aff=affinity
noage
noyield
For more information about using these options, refer to
the individual discussions later in this section.
1-150
onconfig.std
value
None
range of values
Up to 128 characters. VPCLASS must be unique, begin
with a letter or underscore, and contain only digits,
letters, underscores, or $ characters.
Informix Administrator’s Reference
VPCLASS
takes effect
When shared memory is initialized
utilities
None
refer to
The following material:
■
User-defined classes of virtual processors in the chapter
on virtual processors and threads in the Administrator’s
Guide
■
Extending Informix Dynamic Server 2000
■
Creating UDRs in Java
The VPCLASS parameter allows you to designate a class of virtual processors
(VPs), create a user-defined VP, and specify the following information for it:
■
The number of virtual processors that the database server should
start initially
■
The maximum number of virtual processors allowed for this class
■
The assignment of virtual processors to CPUs if processor affinity is
available
■
The disabling of priority aging by the operating system if the
operating system implements priority aging
You can put several VPCLASS parameter definitions in your ONCONFIG file.
Each VPCLASS parameter describes one class of virtual processors. Put each
definition on a separate line, as in the following example:
VPCLASS cpu,num=8,aff=0-7,noage
VPCLASS new,num=0
Configuration Parameters 1-151
VPCLASS
Default Values for the VPCLASS Options
The following table shows the defaults and value ranges for the VPCLASS
parameter options.
1-152
VPCLASS
option
Class
Default Value
Range of Values
num_VPs
AIO
(2 * number_of_chunks) or 6,
whichever is greater, where
number_of_chunks is the number of
chunks allocated
1 to 10,000
num_VPs
CPU
1 if MULTIPROCESSOR is 0,
2 otherwise
1 to 10,000
num_VPs
All other
classes
1
1 to 10,000
max_VPs
All
Unlimited
1 to 10,000
affinity
All
VPs are assigned to available
Integers from 0 to
processors in round-robin fashion. (number of CPUs -1)
noage
All
Priority aging is in effect.
noage or omitted
noyield
User
defined
Threads will yield.
noyield or omitted
Informix Administrator’s Reference
VPCLASS
Interaction of VPCLASS with Other Configuration
Parameters
Informix suggests that you use the VPCLASS parameter instead of the
AFF_SPROC, AFF_NPROCS, NOAGE, NUMCPUVPS, and NUMAIOVPS parameters. If you use VPCLASS, you must explicitly remove other parameters from
your ONCONFIG file. The following table shows the parameters that you
must remove.
Parameter
Parameter to Remove
VPCLASS cpu
NUMCPUVPS, AFF_SPROC, AFF_NPROCS, NOAGE
VPCLASS user-defined
SINGLE_CPU_VP
VPCLASS aio
NUMAIOVPS
VPCLASS Name
The first item in the VPCLASS parameter provides the name of the virtualprocessor class that you are describing. The VPCLASS name is not case
sensitive.
You can define new virtual-processor classes for user-defined routines or
DataBlade modules, or you can set values for a predefined virtual-processor
class. The following virtual-processor classes are predefined by the database
server and have specific functions:
adm
adt
cpu
jvp
kio
lio
msc
opt
lio
shm
soc
str
tli
The following example specifies that the database server should start three
virtual processors of the CPU class:
VPCLASS cpu,num=3
Java
The JVP option of the VPCLASS configuration parameter sets the number of
Java virtual processors. This parameter is required when you use the
Informix JDBC driver. On UNIX, you must define multiple Java virtual
processors to execute Java user-defined routines in parallel. ♦
Configuration Parameters 1-153
VPCLASS
Creating a User-Defined Class
The VPCLASS configuration parameter also allows you to create a class of
user-defined virtual processors (VPs). A user-defined class of VPs can run illbehaved user-defined routines (UDRs).
Warning: Execution of an ill-behaved routine in the CPU VP can cause serious interference with the operation of the database server. In addition, the routine itself might
not produce correct results.
For more information on ill-behaved UDRs, see user-defined classes of virtual
processors in the chapter on virtual processors and threads in the Administrator’s Guide.
You might want to describe a user-defined class of virtual processors to run
DataBlade or user-defined routines. The following example creates the userdefined class new, for which the database server starts three virtual
processors initially:
VPCLASS new,num=3
At a later time, you can use onmode -p to add virtual processors to the class.
The following command adds three virtual processors to the new class:
onmode -p +3 new
For information about onmode -p, refer to “Add or Remove Virtual
Processors” on page 3-49.
By default, the VPCLASS parameter defines a yielding VP class, which allows
the C UDR to yield to other threads that need access to the user-defined VP
class. A UDR can perform blocking I/O calls if it executes in a yielding userdefined VP. However, it must still yield for other threads to have access to the
VP.
You can also define nonyielding user-defined VPs with the noyield option of
VPCLASS. For more information, refer to “Using the noyield Option” on
page 1-155.
1-154
Informix Administrator’s Reference
VPCLASS
When you create a user-defined routine or function, you use the CLASS
parameter of the CREATE FUNCTION statement to assign it to a class of virtual
processors. When you create a class user-defined virtual processor to run
user-defined routines, you must ensure that the name of the class agrees with
the name that you assigned in the CREATE FUNCTION statement. For more
information on how to assign a user-defined routine to either CPU or userdefined classes of virtual processors, refer to the DataBlade API Programmer’s
Manual. For more information on the syntax of the CREATE FUNCTION or
CREATE PROCEDURE statement, refer to the Informix Guide to SQL: Syntax.
Tip: You can use the CREATE FUNCTION statement to create routines or functions
that reference any user-defined class you want, and that class need not exist when the
function is created. However, if you try to use a function that refers to a user-defined
class, that class must exist and have virtual processors assigned to it. If the class does
not have any virtual processors, you receive an SQL error.
For more information on user-defined routines, refer to Extending Informix
Dynamic Server 2000.
Using the num_VPs Option
The num_VPs option sets the number of virtual processors of the specified
class that the database server should start during initialization.
On a single-processor computer, allocate only one CPU virtual processor. On
a multiprocessor computer, do not allocate more CPU and user-defined
virtual processors, combined, than there are CPUs on the computer.
Use the following syntax to specify the number of virtual processors:
num=num_VPs
For example, the following parameter specifies that the database server
should start four virtual processors for the cpu class:
VPCLASS cpu,num=4
At a later time, you can use the onmode -p command to add virtual
processors for the class. For information about onmode -p, refer to “Add or
Remove Virtual Processors” on page 3-49.
Configuration Parameters 1-155
VPCLASS
Using the max_VPs Option
The max_VPs option specifies the maximum number of virtual processors
that the database server can start for the class.
Use the following syntax to specify the number of virtual processors:
max=max_VPs
The value can be any integer greater than 0. If you omit the max_VPs option,
the number is unlimited.
Using the affinity Option
On multiprocessor computers that support processor affinity, the affinity
option specifies the CPUs to which the database server binds virtual
processors.
The affinity option has the following two forms:
aff=processor_number
aff=start_range,end_range
In the first form, the database server binds all virtual processors in the class
to the CPU numbered processor_number. (On a multiprocessor system, the
operating system numbers the CPUs from 0 to (number of CPUs-1)). In the
second form, the database server assigns the virtual processors of the class to
processors in the range start_range to end_range, inclusive. The value
end_range must be larger than start_range, and all values must be less than the
total number of available CPUs.
For example, if your platform has eight CPUs, your ONCONFIG file might
include the following VPCLASS entries:
VPCLASS
VPCLASS
VPCLASS
first,aff=3
second,num=3,aff=5-7
cpu,num=8,aff=0-7,noage
For more information about using processor affinity, refer to the chapter on
virtual processors and threads in the Administrator’s Guide.
1-156
Informix Administrator’s Reference
VPCLASS
Using the noyield Option
The noyield option specifies creation of a nonyielding user-defined VP class.
A nonyielding user-defined VP class executes a user-defined routine in a way
that gives the routine exclusive use of the virtual-processor class. In other
words, user-defined routines that use a noyield virtual-processor class run
serially. They never yield the VP to another thread.
You do not need to specify more than one VP in a nonyielding user-defined
VP class because the UDR runs on a single VP until it completes and any
additional virtual processors would be idle.
Important: If your UDR uses global variables, you must have only one VP in the
user-defined virtual-processor class to be nonyielding.
The following example specifies a user-defined class of virtual processors
called new_noyield, which runs in no-yield mode:
VPCLASS new_noyield,noyield,num=1
The noyield option applies only to user-defined VP classes. The database
server ignores noyield if it is part of a VPCLASS parameter that defines a
predefined VP class such as CPU, AIO, and so on.
For more information, see the following sections in the chapter on virtual
processors and threads in the Administrator’s Guide:
■
Specifying user-defined classes of virtual processors
■
Specifying a nonyielding user-defined virtual processor (noyield
option)
Configuration Parameters 1-157
XMF Configuration Parameters
XPS
XMF Configuration Parameters
The Extended Message Facility (XMF) component manages communication
between the current coserver and all other coservers of Extended Parallel
Server.
Depending on the size of the data to transfer to another coserver, the XMF
chooses the appropriate buffer (SBUFFER, LBUFFER, or HBUFFER) to use. The
XMF configuration parameters are used to set the buffer size on each coserver.
In general, you should not change the default values of these configuration
parameters.
For more information about XMF, refer to the chapter on monitoring data
flow between coservers in your Performance Guide.
1-158
Configuration Parameter
Description
ASYNCRQT
Specifies the number of outstanding receive requests
used for each large endpoint on a coserver when you
configure large communications buffers to send and
receive data between coservers. See “ASYNCRQT” on
page 1-26.
HBUFFER
Sets the huge buffer size. The default value for
HBUFFER is 48 kilobytes.
LBUFFER
Sets the large buffer size. The default value for
LBUFFER is 8 kilobytes.
SBUFFER
Sets the small buffer size. The default value for
SBUFFER is 1 kilobyte.
SENDEPDS
Specifies the number of send endpoints per CPU
virtual processor when you configure communications buffers to send and receive data between
coservers. See “SENDEPDS” on page 1-130.
Informix Administrator’s Reference
Chapter
The sysmaster Database
In This Chapter .
.
.
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2-3
The sysmaster Database .
The buildsmi Script .
The bldutil.sh Script .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2-3
2-5
2-5
The System-Monitoring Interface .
Understanding the SMI Tables
Accessing SMI Tables. . . .
SELECT Statements . . .
Triggers and Event Alarms
SPL and SMI Tables . . .
Locking and SMI Tables .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2-6
2-6
2-7
2-7
2-7
2-8
2-8
The System-Monitoring Interface Tables
The sysutils Tables. . . . . . .
Backup Scheduler Tables . . . .
sysadtinfo . . . . . . . . .
sysaudit . . . . . . . . . .
syschkio . . . . . . . . . .
syschunks . . . . . . . . .
sysconfig . . . . . . . . . .
sysdatabases. . . . . . . . .
sysdbslocale . . . . . . . . .
sysdbspaces . . . . . . . . .
sysdri . . . . . . . . . . .
sysextents. . . . . . . . . .
sysextspaces . . . . . . . . .
syslocks . . . . . . . . . .
syslogs. . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2-8
2-10
2-10
2-11
2-12
2-13
2-13
2-15
2-16
2-17
2-17
2-19
2-20
2-20
2-21
2-22
sysprofile . . . .
sysptprof . . . .
syssesprof . . . .
syssessions . . .
sysseswts . . . .
systabnames . . .
sysvpprof . . . .
syscogroups . . .
syscogroupmembers
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2-23
2-25
2-26
2-28
2-30
2-31
2-32
2-33
2-33
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2-34
Information from onstat in the SMI Tables .
.
.
.
.
.
.
.
.
.
.
2-37
The SMI Tables Map
2-2
Informix Administrator’s Reference
.
In This Chapter
This chapter describes the sysmaster database and contains reference information for the system-monitoring interface (SMI). It provides information on
the following topics:
IDS
UNIX
■
What is the sysmaster database
■
How to use SMI tables
■
Descriptions of the SMI tables
■
A map of the documented SMI tables
The sysmaster database also contains information about ON-Archive catalog
tables. For information about ON-Archive, see your Archive and Backup
Guide. ♦
For information about the ON-Bar tables, see the Backup and Restore Guide.
The sysmaster Database
The database server creates and maintains the sysmaster database. It is
analogous to the system catalog for databases, which is described in the
Informix Guide to SQL: Reference. Just as a system catalog for every database
managed by the database server keeps track of objects and privileges in the
database, a sysmaster database for every database server keeps track of information about the database server.
The sysmaster Database 2-3
The sysmaster Database
The sysmaster database contains the following tables:
■
SMI tables
The system-monitoring interface tables in the sysmaster database
provide information about the state of the database server. You can
query these tables to identify processing bottlenecks, determine
resource usage, track session or database server activity, and so on.
This chapter describes these tables, which are slightly different than
ordinary tables.
IDS
UNIX
■
ON-Archive catalog tables
The ON-Archive catalog tables store information about ON-Archive
requests, volume sets, and save sets. Your Archive and Backup Guide
describes these tables. ♦
Warning: The database server relies on information in the sysmaster database. Do
not change any of the tables in sysmaster or any of the data within the tables. Such
changes could cause unpredictable and debilitating results.
The database server creates the sysmaster database when it initializes disk
space. The database server creates the database with unbuffered logging. You
cannot drop the database or any of the tables in it, and you cannot turn
logging off.
As user informix on UNIX or a member of the Informix-Admin group on
Windows NT, you can create SPL routines in the sysmaster database. (You
can also create triggers on tables within sysmaster, but the database server
never executes those triggers.)
Joins of multiple tables in sysmaster might return inconsistent results
because the database server does not lock the tables during a join. You can
join sysmaster tables with tables in other databases. However, to join
sysmaster tables with tables in a nonlogging database, first make the
nonlogging database the current database.
2-4
Informix Administrator’s Reference
The buildsmi Script
The buildsmi Script
When you bring the database server up for the first time, it runs a script
called buildsmi, which is in the etc directory. This script builds the database
and tables that support SMI. The database server requires approximately
1750 free pages of logical-log space to build the sysmaster database.
XPS
Extended Parallel Server usually requires 1100 free pages to build the
sysmaster database. However, the actual number of free pages for sysmaster
depends on the configurable page size. ♦
If you receive an error message that directs you to run the buildsmi script, a
problem probably occurred while the database server was building the SMI
database, tables, and views. When you use buildsmi, the existing sysmaster
database is dropped and then re-created.
IDS
If you have information in the ON-Archive catalog tables, it will be
overwritten. ♦
UNIX
The bldutil.sh Script
When you initialize the database server for the first time, it runs a script
called bldutil.sh on UNIX or bldutil.bat on Windows NT. This script builds
the sysutils database. If it fails, the database server creates an output file in
the tmp directory. The output file is bldutil.process_id on UNIX and
bldutil.out on Windows NT. The messages in this output file reflect errors
that occurred during the script execution.
The sysmaster Database 2-5
The System-Monitoring Interface
The System-Monitoring Interface
This section describes the SMI tables and how you access them to monitor the
database server operation.
Understanding the SMI Tables
The system-monitoring interface consists of tables and pseudo-tables that the
database server maintains automatically. While the SMI tables appear to the
user as tables, they are not recorded on disk as normal tables are. Instead, the
database server constructs the tables in memory, on demand, based on information in shared memory at that instant. When you query an SMI table, the
database server reads information from these shared-memory structures.
Because the database server continually updates the data in shared memory,
the information that SMI provides lets you examine the current state of your
database server.
The SMI tables provide information about the following topics:
IDS
■
Auditing ♦
■
Disk usage
■
User profiling
■
Database-logging status
■
Tables
■
Chunks
■
Chunk I/O
■
Dbspaces
■
Locks
■
Extents
■
Virtual-processor CPU usage
■
System profiling
The data in the SMI tables changes dynamically as users access and modify
databases that the database server manages.
2-6
Informix Administrator’s Reference
Accessing SMI Tables
Accessing SMI Tables
Any user can use SQL SELECT statements to query an SMI table, but standard
users cannot execute statements other than SELECT. Attempts to do so result
in permission errors. The administrator can execute SQL statements other
than SELECT, but the results of such statements are unpredictable.
IDS
Dynamic Server provides the sysadtinfo and sysaudit tables. Only user
informix on UNIX or members of the Informix-Admin group on
Windows NT can query sysadtinfo and sysaudit. ♦
You cannot use dbschema or dbexport on any of the tables in the sysmaster
database. If you do, the database server generates the following error
message:
Database has pseudo tables - can't build schema
SELECT Statements
You can use SELECT statements on SMI tables wherever you can use SELECT
against ordinary tables (from DB-Access, in an SPL routine, with ESQL/C, and
so on) with one restriction: you cannot (meaningfully) reference rowid when
you query SMI tables. SELECT statements that use rowid do not return an
error, but the results are unpredictable.
All standard SQL syntax, including joins between tables, sorting of output,
and so on, works with SMI tables. For example, if you want to join an SMI
table with an non-SMI table, name the SMI table with the following standard
syntax:
sysmaster:[@dbservername][owner.]tablename
Triggers and Event Alarms
Triggers based on changes to SMI tables never run. Although you can define
triggers on SMI tables, triggers are activated only when an INSERT, UPDATE,
or DELETE statement occurs on a table. The updates to the SMI data occur
within the database server, without the use of SQL, so a trigger on an SMI
table is never activated, even though the data returned by a SELECT
statement indicates that it should be.
The sysmaster Database 2-7
The System-Monitoring Interface Tables
To create an event alarm, query for a particular condition at predefined
intervals, and execute an SPL routine if the necessary conditions for the alarm
are met.
SPL and SMI Tables
You can access SMI tables from within a SPL routine. When you reference SMI
tables, use the same syntax that you use to reference a standard table.
Locking and SMI Tables
The information in the SMI tables changes based on the database server
activity. However, the database server does not update the information using
SQL statements. When you use SMI tables with an isolation level that locks
objects, it prevents other users from accessing the object, but it does not
prevent the data from changing. In this sense, all the SMI tables have a
permanent Dirty Read isolation level.
The System-Monitoring Interface Tables
The database server supports the following SMI tables.
Table
Description
Reference
sysadtinfo
Auditing configuration information (IDS)
page 2-11
sysaudit
Auditing event masks (IDS)
page 2-11
syschkio
Chunk I/O statistics
page 2-13
syschunks
Chunk information
page 2-13
syscogroup
Cogroup information (XPS)
page 2-33
syscogroupmembers
Cogroup information (XPS)
page 2-33
sysconfig
Configuration information
page 2-15
sysdatabases
Database information
page 2-16
(1 of 2)
2-8
Informix Administrator’s Reference
The System-Monitoring Interface Tables
Table
Description
Reference
sysdbslocale
Locale information
page 2-17
sysdbspaces
Dbspace information
page 2-20
sysdri
Data-replication information (IDS)
page 2-19
sysextents
Extent-allocation information
page 2-20
sysextspaces
External spaces information (IDS)
page 2-20
syslocks
Active locks information
page 2-22
syslogs
Logical-log file information
page 2-22
sysprofile
System-profile information
page 2-23
sysptprof
Table information
page 2-25
syssesprof
Counts of various user actions
page 2-26
syssessions
Description of each user connected
page 2-28
sysseswts
User’s wait time on each of several objects
page 2-30
systabnames
Database, owner, and table name for the
tblspace tblspace
page 2-31
sysvpprof
User and system CPU used by each virtual
processor
page 2-32
(2 of 2)
Many other tables in the sysmaster database are part of the systemmonitoring interface but are not documented. Their schemas and column
content can change from version to version.
The sysmaster Database 2-9
The sysutils Tables
The sysutils Tables
ON-Bar uses the following tables in the sysutils database. For more infor-
mation, see the Backup and Restore Guide.
XPS
Table
Description
bar_action
Lists all backup and restore actions that are attempted
against an object, except during a cold restore. Use the
information in this table to track backup and restore
history.
bar_instance
Writes a record to this table for each successful backup.
ON-Bar might later use the information for a restore
operation.
bar_object
Describes each backup object. This table provides a list of
all storage spaces and logical logs from each database
server for which at least one backup attempt was made.
bar_server
Lists the database servers in an installation. This table is
used to ensure that backup objects are returned to their
proper places during a restore.
Backup Scheduler Tables
ON-Bar on Extended Parallel Server supports the following Backup
Scheduler tables in the sysmaster database. For more information, see the
Backup and Restore Guide.
Table
Description
sysbuobject
Detailed information about backup objects that the Backup
Scheduler is processing
sysbuobjses
Backup object name and session ID
sysbusession
Session status information
sysbusm
Storage-manager configuration information
sysbusmdbspace
Storage manager for backing up dbspaces on a coserver
(1 of 2)
2-10
Informix Administrator’s Reference
sysadtinfo
Table
Description
sysbusmlog
Storage manager for backing up logical logs on a coserver
sysbusmworker
Coserver where onbar-worker processes can access a
storage manager
sysbuworker
Detailed onbar-worker process status
(2 of 2)
IDS
sysadtinfo
The sysadtinfo table contains information about the auditing configuration
for the database server. For more information, see your Trusted Facility
Manual. You must be user informix or user root on UNIX or a member of the
Informix-Admin group on Windows NT to retrieve information from the
sysadtinfo table.
Column
Type
Description
adtmode
integer
If auditing is on or off:
adterr
integer
■
0 for off
■
1 for on
Action on errors:
■
0 to continually retry audit writes until they succeed.
Processing for the thread that generated the error stops.
■
1 to write all failed audit writes to the message log and
continue processing.
adtsize
integer
Maximum size of an audit file
adtpath
char(256)
Directory where audit files are written
adtfile
integer
Number of the audit file
The sysmaster Database 2-11
sysaudit
IDS
sysaudit
For each defined audit mask (that is, for each username), the sysaudit table
contains flags that represent the database events that generate audit records.
The success and failure columns represent the bitmasks that compose the
audit masks. If a bit is set in both the success the and failure columns, the
corresponding event generates an audit record whether or not the event
succeeded.
You must be user informix or user root on UNIX or a member of the
Informix-Admin group on Windows NT to retrieve information from the
sysaudit table.
Use the onaudit utility to list or modify an audit mask. For information about
onaudit and auditing, see your Trusted Facility Manual.
2-12
Column
Type
Description
username
char(32)
Name of the mask
succ1
integer
Bitmask of the audit mask for success
succ2
integer
Bitmask of the audit mask for success
succ3
integer
Bitmask of the audit mask for success
succ4
integer
Bitmask of the audit mask for success
succ5
integer
Bitmask of the audit mask for success
fail1
integer
Bitmask of the audit mask for failure
fail2
integer
Bitmask of the audit mask for failure
fail3
integer
Bitmask of the audit mask for failure
fail4
integer
Bitmask of the audit mask for failure
fail5
integer
Bitmask of the audit mask for failure
Informix Administrator’s Reference
syschkio
syschkio
The syschkio table provides I/O statistics for individual chunks that the
database server manages.
Column
Type
Description
chunknum
smallint
Chunk number
reads
integer
Number of physical reads
pagesread
integer
Number of pages read
writes
integer
Number of physical writes
pageswritten
integer
Number of pages written
mreads
integer
Number of physical reads (mirror)
mpagesread
integer
Number of pages read (mirror)
mwrites
integer
Number of physical writes (mirror)
mpageswritten
integer
Number of pages written (mirror)
syschunks
The syschunks table describes each of the chunks that the database server
manages. In the flags and mflags columns, each bit position represents a
separate flag. Thus, it might be easier to read values in the flags and mflags
columns if the values are returned using the HEX function.
Column
Type
Description
chknum
smallint
Chunk number
dbsnum
smallint
Dbspace number
nxchknum
smallint
Number of the next chunk in this dbspace
chksize
integer
Number of pages in this chunk
offset
integer
Page offset of the chunk in its device or path
(1 of 3)
The sysmaster Database 2-13
syschunks
Column
Type
Description
nfree
integer
Number of free pages in the chunk
is_offline
integer
1 if the chunk is off-line, 0 if not
is_recovering
integer
1 if the chunk is being recovered, 0 if not
is_blobchunk
integer
1 if the chunk is in a blobspace, 0 if not (IDS)
is_sbchunk
integer
1 if the chunk is a sbspace, 0 if not (IDS)
is_inconsistent
integer
1 if the chunk is undergoing logical restore, 0 if not
flags
smallint
Flags
Hexadecimal
Meaning
16
0x0010
Chunk is a mirrored
chunk.
32
0x0020
Chunk is in off-line mode.
64
0x0040
Chunk is in on-line mode.
128
0x0080
Chunk is in recovery
mode.
256
0x0100
Chunk has just been
mirrored.
512
0x0200
Chunk is part of a
blobspace (IDS).
1024
0x0400
Chunk is being dropped.
2048
0x0800
Chunk is part of an
optical stageblob (IDS).
4096
0x1000
Chunk is inconsistent.
16384
0x4000
Chunk contains
temporary log space,
32768
0x8000
Chunk was added during
roll forward.
fname
char(256)
Pathname for the file or device of this chunk
(2 of 3)
2-14
Informix Administrator’s Reference
sysconfig
Column
Type
Description
mfname
char(256)
Pathname for the file or device of the mirrored
chunk, if any
moffset
integer
Page offset of the mirrored chunk
mis_offline
integer
1 if mirror is off-line, 0 if not
mis_recovering
integer
1 if mirror is being recovered, 0 if not
mflags
smallint
Mirrored chunk flags; values and meanings are the
same as the flags column.
(3 of 3)
sysconfig
The sysconfig table describes the effective, original, and default values of the
configuration parameters. For more information about the ONCONFIG file
and the configuration parameters, see Chapter 1, “Configuration
Parameters.”
Column
Type
Description
cf_id
integer
Unique numeric identifier
cf_name
char(128)
Configuration parameter name
cf_flags
integer
Reserved for future use
cf_original
char(256)
Value in the ONCONFIG file at boot time
cf_effective
char(256)
Value currently in use
cf_default
char(256)
Value provided by the database server if no value is
specified in the ONCONFIG file
The sysmaster Database 2-15
sysdatabases
sysdatabases
The sysdatabases table describes each database that the database server
manages.
2-16
Column
Type
Description
name
char(128)
Database name
partnum
integer
The partition number (tblspace identifier) for the
systables table for the database
owner
char(32)
User ID of the creator of the database
created
date
Date created
is_logging
integer
1 if logging is active, 0 if not
is_buff_log
integer
1 if buffered logging, 0 if not
is_ansi
integer
1 if ANSI-compliant, 0 if not
is_nls
integer
1 if GLS-enabled, 0 if not
flags
smallint
Logging flags
Informix Administrator’s Reference
0
No logging
1
Unbuffered logging
2
Buffered logging
4
ANSI-compliant database
8
Read-only database
16
Database that supports GLS
1000
Long ID support is enabled (IDS)
sysdbslocale
sysdbslocale
The sysdbslocale table lists the locale of each database that the database
server manages.
Column
Type
Description
dbs_dbsname
char(128)
Database name
dbs_collate
char(32)
The locale of the database
sysdbspaces
The sysdbspaces table describes each of the dbspaces that the database
server manages. In the flags column, each bit position represents a separate
flag. Thus, it might be easier to read values in the flags column if the values
are returned using the HEX function.
Column
Type
Description
dbsnum
smallint
Dbspace number
name
char(128)
Dbspace name
owner
char(32)
User ID of owner of the dbspace
fchunk
smallint
Number of the first chunk in the dbspace
nchunks
smallint
Number of chunks in the dbspace
is_mirrored
integer
1 if dbspace is mirrored, 0 if not
is_blobspace
integer
1 if the dbspace is a blobspace, 0 if not (IDS)
is_sbspace
integer
1 if the dbspace is a sbspace, 0 if not (IDS)
is_temp
integer
1 if the dbspace is a temporary dbspace, 0 if not
is_skipreplay
integer
1 if log replay can be skipped for this dbspace
(XPS)
(1 of 2)
The sysmaster Database 2-17
sysdbspaces
Column
Type
Description
flags
smallint
Flags
Hexadecimal
Meaning
1
0x0001
Dbspace has no mirror.
2
0x0002
Dbspace uses mirroring.
4
0x0004
Dbspace mirroring is
disabled.
8
0x0008
Dbspace is newly
mirrored.
16
0x0010
Space is a blobspace
(IDS).
32
0x0020
Blobspace is on
removable media (IDS).
64
0x0040
Blobspace is on optical
media (IDS).
128
0x0080
Blobspace has been
dropped (IDS).
256
0x0100
Blobspace is an optical
stageblob (IDS).
512
0x0200
Space is being recovered.
1024
0x0400
Space has been physically recovered.
2048
0x0800
Space is in logical
recovery.
32768
0x8000
Space is an sbspace (IDS).
131072
0x20000
Skip logical replay (XPS).
(2 of 2)
2-18
Informix Administrator’s Reference
sysdri
IDS
sysdri
The sysdri table provides information about the high-availability data-replication status of the database server.
Column
Type
Description
type
char(50)
High-availability data replication type
Possible values:
primary
secondary
standard
not initialized
state
char(50)
State of high-availability data replication
Possible values:
off
on
connecting
failer
read-only
name
char(128)
The name of the other database server in the highavailability data-replication pair
intvl
integer
The high-availability data-replication interval
timeout
integer
The high-availability data-replication timeout value
for this database server
lostfound
char(256)
The pathname to the lost-and-found file
The sysmaster Database 2-19
sysextents
sysextents
The sysextents table provides information about extent allocation.
IDS
Column
Type
Description
dbsname
char(128)
Database name
tabname
char(128)
Table name
start
integer
Physical address for the extent
size
integer
Size of the extent, in pages
sysextspaces
The sysextspaces table provides information about external spaces. Indexes
for the id column and the name column allow only unique values.
2-20
Column
Type
Description
id
integer
External space ID
name
char(128)
External space name
owner
char(32)
External space owner
flags
integer
External space flags (reserved for future use)
refcnt
integer
External space reference count.
locsize
integer
Size of external space location, in bytes
location
char (256)
Location of external space
Informix Administrator’s Reference
syslocks
syslocks
The syslocks table provides information about all the currently active locks
in the database server.
Column
Type
Description
dbsname
char(128)
Database name
tabname
char(128)
Table name
rowidlk
integer
Real rowid, if it is an index key lock
keynum
smallint
Key number of index key lock
type
char(4)
Type of lock
B
byte lock
IS
Intent shared lock
S
Shared lock
XS
Shared key value held by a repeatable reader
U
Update lock
IX
Intent exclusive lock
SIX
Shared intent exclusive lock
X
Exclusive lock
XR
Exclusive key value held by a repeatable reader
owner
integer
Session ID of the lock owner
waiter
integer
Session ID of the user waiting for the lock. If more than
one user is waiting, only the first session ID appears.
The sysmaster Database 2-21
syslogs
syslogs
The syslogs table provides information about space use in logical-log files. In
the flags column, each bit position represents a separate flag. For example, for
a log file, the flags column can have flags set for both current log file and
temporary log file. Thus, it might be easier to read values in the flags column
if the values are returned using the HEX function.
2-22
Column
Type
Description
number
smallint
Logical-log file number
uniqid
integer
Log-file ID
size
integer
Number of pages in the log file
used
integer
Number of pages used in the log file
is_used
integer
1 if file is used, 0 if not
is_current
integer
1 if file is the current file, 0 if not
is_backed_up
integer
1 if file has been backed up, 0 if not
is_new
integer
1 if the log has been added since the last level-0
dbspace backup, 0 if not
is_archived
integer
1 if file has been placed on the backup tape, 0 if not
is_temp
integer
1 if the file is flagged as a temporary log file, 0 if not
flags
smallint
Flags
Hexadecimal Meaning
1
0x01
Log file is in use.
2
0x02
File is current log file.
4
0x04
Log file has been backed
up.
8
0x08
File is newly added log file.
16
0x10
Log file has been written to
dbspace backup media.
32
0x20
Log is a temporary log file.
Informix Administrator’s Reference
sysprofile
sysprofile
The sysprofile table contains profile information about the database server.
Column
Type
Description
name
char(13)
Name of profiled event (See table that follows for a list of
possible events.)
value
integer
Value of profiled event (See table that follows for a list of
possible events.)
The following table lists the events that, together with a corresponding value,
make up the rows of the sysprofile table.
Events Profiled in
sysprofile
Description
dskreads
Number of actual reads from disk
bufreads
Number of reads from shared memory
dskwrites
Actual number of writes to disk
bufwrites
Number of writes to shared memory
isamtot
Total number of calls
isopens
isopen calls
isstarts
isstart calls
isreads
isread calls
iswrites
iswrite calls
isrewrites
isrewrite calls
isdeletes
isdelete calls
iscommits
iscommit calls
isrollbacks
isrollback calls
ovlock
Overflow lock table
(1 of 3)
The sysmaster Database 2-23
sysprofile
Events Profiled in
sysprofile
Description
ovuser
Overflow user table
ovtrans
Overflow transaction table
latchwts
Latch request waits
bufwts
Buffer waits
lockreqs
Lock requests
lockwts
Lock waits
ckptwts
Checkpoint waits
deadlks
Deadlocks
lktouts
Deadlock time-outs
numckpts
Number checkpoints
plgpagewrites
Physical-log pages written
plgwrites
Physical-log writes
llgrecs
Logical-log records
llgpagewrites
Logical-log writes
llgwrites
Logical-log pages written
pagreads
Page reads
pagwrites
Page writes
flushes
Buffer-pool flushes
compress
Page compresses
fgwrites
Foreground writes
lruwrites
Least-recently used (LRU) writes
chunkwrites
Writes during a checkpoint
btradata
Read-ahead data pages read through index leaf node
(2 of 3)
2-24
Informix Administrator’s Reference
sysptprof
Events Profiled in
sysprofile
Description
btraidx
Read-ahead data pages read through index branch or root
node
dpra
Data pages read into memory with read-ahead feature
rapgs_used
Read-ahead data pages that user used
seqscans
Sequential scans
totalsorts
Total sorts
memsorts
Sorts that fit in memory
disksorts
Sorts that did not fit in memory
maxsortspace
Maximum disk space used by a sort
(3 of 3)
sysptprof
The sysptprof table lists information about a tblspace. Tblspaces correspond
to tables.
Profile information for a table is available only when a table is open. When
the last user who has a table open closes it, the tblspace in shared memory is
freed, and any profile statistics are lost.
Column
Type
Description
dbsname
char(128)
Database name
tabname
char(128)
Table name
partnum
integer
Partition (tblspace) number
lockreqs
integer
Number of lock requests
lockwts
integer
Number of lock waits
deadlks
integer
Number of deadlocks
(1 of 2)
The sysmaster Database 2-25
syssesprof
Column
Type
Description
lktouts
integer
Number of lock timeouts
isreads
integer
Number of isreads
iswrites
integer
Number of iswrites
isrewrites
integer
Number of isrewrites
isdeletes
integer
Number of isdeletes
bufreads
integer
Number of buffer reads
bufwrites
integer
Number of buffer writes
seqscans
integer
Number of sequential scans
pagreads
integer
Number of page reads
pagwrites
integer
Number of page writes
(2 of 2)
syssesprof
The syssesprof table lists cumulative counts of the number of occurrences of
user actions such as writes, deletes, or commits.
Column
Type
Description
sid
integer
Session ID
lockreqs
integer
Number of locks requested
locksheld
integer
Number of locks currently held
lockwts
integer
Number of times waited for a lock
deadlks
integer
Number of deadlocks detected
lktouts
smallint
Number of deadlock timeouts
logrecs
integer
Number of logical-log records written
isreads
integer
Number of reads
(1 of 2)
2-26
Informix Administrator’s Reference
syssesprof
Column
Type
Description
iswrites
integer
Number of writes
isrewrites
integer
Number of rewrites
isdeletes
integer
Number of deletes
iscommits
integer
Number of commits
isrollbacks
integer
Number of rollbacks
longtxs
integer
Number of long transactions
bufreads
integer
Number of buffer reads
bufwrites
integer
Number of buffer writes
seqscans
integer
Number of sequential scans
pagreads
integer
Number of page reads
pagwrites
integer
Number of page writes
total_sorts
integer
Number of total sorts
dsksorts
integer
Number of sorts that did not fit in memory
max_sortdiskspace integer
Maximum space used by a sort
logspused
integer
Number of bytes of logical-log space used by
current transaction of session
maxlogsp
integer
Maximum number of bytes of logical-log space
ever used by the session
(2 of 2)
The sysmaster Database 2-27
syssessions
syssessions
The syssessions table provides general information on each user connected
to the database server. In the state column, each bit position represents a
separate flag. Thus, it might be easier to read values in the state column if the
values are returned using the HEX function.
Column
Type
Description
sid
integer
Session ID
username
char(32)
User ID
uid
smallint
User ID number
pid
integer
Process ID of the client
hostname
char(16)
Hostname of client
tty
char(16)
Name of the user’s stderr file
connected
integer
Time that user connected to the database server
feprogram
char(16)
Reserved for future use
pooladdr
integer
Session pool address
is_wlatch
integer
1 if the primary thread for the session is waiting for a latch
is_wlock
integer
1 if the primary thread for the session is waiting for a lock
is_wbuff
integer
1 if the primary thread for the session is waiting for a
buffer
is_wckpt
integer
1 if the primary thread for the session is waiting for a
checkpoint
is_wlogbuf
integer
1 if the primary thread for the session is waiting for a log
buffer
is_wtrans
integer
1 if the primary thread for the session is waiting for a
transaction
is_monitor
integer
1 if the session is a special monitoring process
is_incrit
integer
1 if the primary thread for the session is in a critical
section
(1 of 2)
2-28
Informix Administrator’s Reference
syssessions
Column
Type
Description
state
integer
Flags
Hexadecimal Meaning
1
0x00000001
User structure in use
2
0x00000002
Waiting for a latch
4
0x00000004
Waiting for a lock
8
0x00000008
Waiting for a buffer
16
0x00000010
Waiting for a checkpoint
32
0x00000020
In a read call
64
0x00000040
Writing logical-log file to
backup tape
128
0x00000080
ON-Monitor (IDS, UNIX)
256
0x00000100
In a critical section
512
0x00000200
Special daemon
1024
0x00000400
Archiving (IDS)
2048
0x00000800
Clean up dead processes
4096
0x00001000
Waiting for write of log buffer
8192
0x00002000
Special buffer-flushing thread
16384
0x00004000
Remote database server
32768
0x00008000
Deadlock timeout used to set
RS_timeout
65536
0x00010000
Regular lock timeout
262144
0x00040000
Waiting for a transaction
524288
0x00080000
Primary thread for a session
1048576 0x00100000
Thread for building indexes
2097152 0x00200000
B-tree cleaner thread
(2 of 2)
The sysmaster Database 2-29
sysseswts
sysseswts
The sysseswts table provides information on the amount of time that users
wait for various database objects.
Column
Type
Description
sid
integer
Session ID
reason
char(50)
Description of reason for wait:
■
Unspecified
■
Buffer
■
Lock
■
Asynchronous I/O
■
Mt yield 0
■
Mt yield n
■
Mt yield
■
Checkpoint
■
Log I/O
■
Log copy
■
Condition
■
Lock mutex
■
Lockfree mutex
■
Deadlock mutex
■
LRUs mutex
■
Tblspace mutex
■
Log mutex
■
Checkpoint mutex
■
Mutex
■
Mt ready
■
Mt yield x
■
Running
(1 of 2)
2-30
Informix Administrator’s Reference
systabnames
Column
Type
Description
numwaits
integer
Number of waits for this reason
cumtime
float
Cumulative time waited for this reason (in microseconds)
maxtime
integer
Maximum time waited during this session for this reason
(2 of 2)
systabnames
The systabnames table describes each table that the database server
manages.
Column
Type
Description
partnum
integer
Tblspace identifier
dbsname
char(128)
Database name
owner
char(32)
User ID of owner
tabname
char(128)
Table name
collate
char(32)
Collation associated with a database that supports GLS
The sysmaster Database 2-31
sysvpprof
sysvpprof
The sysvpprof table lists user and system CPU time for each virtual processor.
2-32
Column
Type
Description
vpid
integer
Virtual processor ID
class
char(50) for IDS
Type of virtual processor:
char(16) for XPS
■
cpu
■
adm
■
lio
■
pio
■
aio
■
tli
■
soc
■
str
■
shm
■
opt
■
msc
■
adt
usercpu
float
Number of microseconds of user time
syscpu
float
Number of microseconds of system time
Informix Administrator’s Reference
syscogroups
XPS
syscogroups
The syscogroups table lists the cogroups that are currently configured on
your database server.
XPS
Column
Type
Description
cogroup_num
smallint
Cogroup number
name
char(18)
Cogroup name
nmembers
smallint
Number of cogroup members
is_clustered
smallint
Reserved for future use, displays 0
syscogroupmembers
The syscogroupmembers table lists the coservers that are part of each
cogroup that is currently configured on your database server.
Column
Type
Description
cogroup_num
smallint
Cogroup number
nmembers
smallint
Coserver number
The sysmaster Database 2-33
The SMI Tables Map
The SMI Tables Map
Figure 2-1 displays the columns in some of the SMI tables.
Figure 2-1
Columns in the SMI tables
sysadtinfo (IDS)
sysaudit (IDS)
syschkio
syschunks
sysconfig
sysdatabases
adtmode
username
chunknum
chknum
cf_id
name
adterr
succ1
reads
dbsnum
cf_name
partnum
adtsize
succ2
pagesread
nxchknum
cf_flags
owner
adtpath
succ3
writes
chksize
cf_originals
created
adtfile
succ4
pageswritten
offset
cf_effective
is_logging
fail1
mreads
nfree
cf_default
is_buff_log
fail2
mpagesread
is_offline
is_ansi
fail3
mwrites
is_recovering
is_nls
fail4
mpageswritten
is_blobchunk (IDS)
flags
fail5
is_sbchunk (IDS)
is_inconsistent
flags
fname
mfname
moffset
mis_offline
mis_recovering
mflags
(1 of 4)
2-34
Informix Administrator’s Reference
The SMI Tables Map
sysdbslocale
sysdbspaces
sysdri
sysextents
sysextspaces (IDS)
syslocks
dbs_dbsname
dbsnum
type
dbsname
id
dbsname
dbs_collate
name
state
tabname
name
tabname
owner
name
start
owner
rowidlk
fchunk
intvl
size
flags
keynum
nchunks
timeout
refcnt
type
is_mirrored
lostfound
locsize
owner (sid)
location
waiter (sid)
is_blobspace (IDS)
is_sbspace (IDS)
is_temp
is_skipreplay (XPS)
flags
(2 of 4)
The sysmaster Database 2-35
The SMI Tables Map
syslogs
sysprofile
sysptprof
syssesprof
syssessions
number
name
dbsname
sid
sid
uniqid
value
tabname
lockreqs
username
size
partnum
locksheld
uid
used
lockreqs
lockwts
pid
is_used
lockwts
deadlks
hostname
is_current
deadlks
lktouts
tty
is_backed_up
lktouts
logrecs
connected
is_new
isreads
isreads
feprogram
is_archived
iswrites
iswrites
pooladdr
is_temp
isrewrites
isrewrites
is_wlatch
flags
isdeletes
isdeletes
is_wlock
bufreads
iscommits
is_wbuff
bufwrites
isrollbacks
is_wckpt
seqscans
longtxs
is_wlogbuf
pagreads
bufreads
is_wtrans
pagwrites
bufwrites
is_monitor
seqscans
is_incrit
pagreads
state
pagwrites
total_sorts
dsksorts
max_sort diskspace
logspused
maxlogsp
(3 of 4)
2-36
Informix Administrator’s Reference
Information from onstat in the SMI Tables
sysseswts
systabnames
sysvpprof
syscogroups (XPS)
syscogroupmembers (XPS)
sid
partnum
vpid
cogroup_num
cogroup_num
reason
dbsname
class
name
nmembers
numwaits
owner
usercpu
nmembers
cumtime
tabname
syscpu
is_clustered
maxtime
collate
(4 of 4)
Information from onstat in the SMI Tables
To obtain information provided by the onstat utility, you can use SQL to
query appropriate SMI tables. The following table indicates which SMI tables
to query to obtain the information provided by a given onstat option. For
descriptions of the onstat options, see “onstat: Monitor Database Server
Operation” on page 3-88.
onstat Option
SMI Tables to Query
onstat Fields Not in SMI Tables
-d
sysdbspaces
syschunks
address
bpages
-D
sysdbspaces
syschkio
-F
sysprofile
address
flusher
snoozer
state
data
-g dri
(IDS)
sysdri
Last DR CKPT (id/pg)
DRAUTO
-g glo
sysvpprof
Listing of virtual processors by class
(1 of 2)
The sysmaster Database 2-37
Information from onstat in the SMI Tables
onstat Option
SMI Tables to Query
onstat Fields Not in SMI Tables
-k
syslocks
address
lklist
tblsnum
-l
syslogs
sysprofile
All physical-log fields (except numpages
and numwrits)
All logical-log buffer fields (except
numrecs, numpages, and numwrits)
address
begin
% used
-p
sysprofile
-u
syssessions
syssesprof
address
wait
nreads
nwrites
(2 of 2)
2-38
Informix Administrator’s Reference
Chapter
Utilities
3
In This Chapter .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3-3
The -V Option
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3-4
Multibyte Characters .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3-4
oncheck: Check, Repair, or Display .
.
.
.
.
.
.
.
.
.
.
.
.
3-5
ondblog: Change Logging Mode .
.
.
.
.
.
.
.
.
.
.
.
.
.
3-24
oninit: Initialize the Database Server .
.
.
.
.
.
.
.
.
.
.
.
.
3-26
onlog: Display Logical-Log Contents.
.
.
.
.
.
.
.
.
.
.
.
.
3-31
onmode: Change Mode and Shared Memory .
.
.
.
.
.
.
.
.
.
3-37
onparams: Modify Log-Configuration Parameters .
.
.
.
.
.
.
.
3-57
onspaces: Manage Storage Spaces .
.
.
.
.
.
.
.
.
.
.
.
.
.
3-62
onstat: Monitor Database Server Operation
.
.
.
.
.
.
.
.
.
.
3-88
ontape: Log, Back Up, and Restore
.
.
.
.
.
.
.
.
.
. 3-132
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
onutil: Check, Define, and Modify Storage Objects
ALTER DBSLICE ADD DBSPACE . . . .
ALTER DBSPACE . . . . . . . . . .
ALTER LOGSLICE ADD LOGS . . . . .
CHECK CATALOGS . . . . . . . . .
CHECK DATA . . . . . . . . . . .
CHECK INDEX. . . . . . . . . . .
CHECK INDEX KEYS WITH DATA . . .
CHECK INFO . . . . . . . . . . .
CHECK LOGS . . . . . . . . . . .
3-135
3-150
3-159
3-167
3-170
3-171
3-174
3-176
3-178
3-181
CHECK RESERVED . . . .
CHECK SPACE . . . . . .
CREATE COGROUP . . . .
CREATE DBSLICE . . . . .
CREATE DBSPACE . . . .
CREATE LOGICAL LOG . .
CREATE LOGICAL LOGSLICE
DISPLAY PAGE . . . . . .
DROP COGROUP . . . . .
DROP DBSLICE . . . . .
DROP DBSPACE . . . . .
DROP LOGICAL LOG . . .
DROP LOGSLICE . . . . .
3-2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
xctl: Execute Utilities Across Coservers .
.
.
.
.
.
.
.
.
.
.
. 3-227
Informix Administrator’s Reference
.
.
.
.
.
.
.
.
.
.
.
.
.
3-183
3-186
3-188
3-194
3-207
3-212
3-215
3-217
3-220
3-222
3-223
3-224
3-226
In This Chapter
This chapter provides reference material for the Informix database server
utilities. These utilities allow you to perform administrative tasks directly
from the command line.
You can use the following utilities:
IDS
XPS
■
ondblog
■
oninit
■
onlog
■
onmode
■
onstat
Dynamic Server also provides the following utilities:
■
oncheck
■
onparams
■
onspaces
■
ontape ♦
Extended Parallel Server also provides the following utilities:
■
onutil
Use onutil instead of oncheck, onparams, and onspaces.
■
xctl
Use xctl to execute the other utilities on different coservers. For more
information, see “xctl: Execute Utilities Across Coservers” on
page 3-227.
■
Use ON-Bar instead of ontape to back up and restore data. ♦
Utilities 3-3
The -V Option
The database server must be on-line before you execute a utility, with the
following exceptions:
■
oninit
■
Some onlog options
IDS
■
Some oncheck options ♦
XPS
■
onutil and xctl ♦
The -V Option
All Informix command-line utilities allow you to use the -V option. This
option displays the software version number and the serial number. You use
the -V option primarily for debugging. When an Informix Technical Support
representative asks for the version number, you can use -V to find the
information.
GLS
Multibyte Characters
The database server utilities support multibyte command-line arguments.
For a complete list of the utilities that support multibyte command-line
arguments, see the Informix Guide to GLS Functionality.
3-4
Informix Administrator’s Reference
oncheck: Check, Repair, or Display
IDS
oncheck: Check, Repair, or Display
Depending on the options that you choose, oncheck can perform the
following functions:
■
Check specified disk structures for inconsistencies
■
Repair indexes that are found to contain inconsistencies
■
Display information about the disk structures
For background information on the various disk structures that the database
server manages, see Chapter 7, “Disk Structures and Storage.”
The oncheck utility is sometimes confused with onstat. For information, see
monitoring with the onstat and oncheck utilities in the chapter on database
server administration in the Administrator’s Guide.
oncheck Check-and-Repair Options
The oncheck utility can repair the following types of structures:
■
Partition page statistics
■
Bitmap pages
■
Partition blobpages
■
Blobspace blobpages
■
Indexes
■
Sbspace pages
■
Metadata partitions
If oncheck detects inconsistencies in other structures, messages alert you to
these inconsistencies, but oncheck cannot resolve the problem. For more
information, see the chapter on consistency checking in the Administrator’s
Guide.
Utilities 3-5
oncheck: Check, Repair, or Display
What Does Each Option Do?
As Figure 3-1 shows, the oncheck options fall into three categories: check,
repair, and display. The display or print options (those prefixed with the
letter p) are identical in function to the -c options, except that the -p options
display additional information about the data that is being checked as the
oncheck utility executes.
In general, the -c options check for consistency and display a message on the
screen only if they find an error or inconsistency.
Any user can execute the check options. On UNIX platforms, you must be
user informix or root to display database data or initiate repair options. On
Windows NT, you must be a member of the Informix-Admin group to
display database data or initiate repair options.
Figure 3-1 associates oncheck options with their function.
Figure 3-1
oncheck Options and Their Functionk
Object
Check
Repair
Blobspace simple large objects
Display
-pB
Chunks and extents
-ce
-pe
Data rows, no simple large
objects or smart large objects
-cd
-pd
Data rows, simple large objects
but no smart large objects
-cD
-pD
Table with a user-defined
access method
-cd, -cD
Index (key values)
-ci, -cix
-ci -y
-pk -y, -pkx -y
-pk
Index (keys plus rowids)
-cI, -cIw
-cI -y
-pK -y, -pKx -y
-pK
Index with a user-defined
access method
-ci, -cI
-pl -y, -plx -y
-pl
Index (leaf key values)
(1 of 2)
3-6
Informix Administrator’s Reference
oncheck: Check, Repair, or Display
Object
Check
Index (leaf keys plus rowids)
Metadata for smart large
objects
-cs, -cS
Repair
Display
-pL -y, -pLx -y
-pL
-ps, -pS
Pages (by table or fragment)
-pp
Pages (by chunk)
-pP
Root reserved pages
-cr, -cR
-pr, -pR
Space usage (by table
or fragment)
-pt
Space usage (by table,
with indexes)
-pT
System catalog tables
-cc
-pc
(2 of 2)
Using the -y Option to Perform Repairs
Use the -y option to instruct oncheck to perform repairs automatically, as the
following examples show:
oncheck
oncheck
oncheck
oncheck
-cd
-cD
-ci
-cI
-y
-y
-y
-y
If you do not use the -y option, oncheck prompts you when it encounters an
inconsistency and allows you to request a repair. If you specify option -n,
oncheck does not prompt you because this option instructs oncheck to not
perform repairs.
Repairing Fragmented Tables
The oncheck utility cannot repair a table in a dbspace, sbspace, or external
space.
Utilities 3-7
oncheck: Check, Repair, or Display
Repairing Indexes in Sbspaces and External Spaces
The oncheck utility can repair an index in an sbspace or external space if the
index is created using an access method that supports the oncheck -y option.
Although the oncheck utility does not repair fragmented indexes, userdefined access methods can repair them. For more information about the
oncheck options that access methods support, see the DataBlade API
Programmer’s Manual or the Virtual-Index Interface Programmer’s Manual.
Locking and oncheck
The oncheck utility places a shared lock on a table during the following
operations:
■
When it checks data
■
When it checks indexes (with -ci, -cI, -pk, -pK, -pl, or -pL) and the
table uses page locking
■
When you specify the -x option with -ci, -cI, -pk, -pK, -pl, or -pL and
the table uses row locking
When no shared lock is on the table during an index check, other users can
update rows during the check.
When the oncheck utility (without the -x option) checks an index on a table
with row locking, it places an intent shared lock on the table. An intent shared
lock prevents another user from dropping or modifying the table during the
oncheck operation. If you include the -x option, oncheck locks the table in
shared mode for tables with or without row locking.
For more information about the -x option, refer to “Turning On Locking with
-x” on page 3-23. For information on shared locks and intent shared locks, see
the Performance Guide.
The oncheck utility places a shared lock on system catalog tables when they
are checked. It places an exclusive lock on a table when it executes repair
options.
3-8
Informix Administrator’s Reference
oncheck: Check, Repair, or Display
Syntax
oncheck Options (1 of 2)
oncheck
-ce
-pe
-cr
-pr
-cR
-n
-q
-y
-pR
database
-ci
-cI
-pk
-pK
-pl
-pL
-cd
:
x
table
owner.
#
index_name
,
frag_dbs
,
frag_dbs
database
:
-cD
table
owner.
-cc
-pc
database
-pB
database
:
-pt
-pT
-pd
-pD
table
owner.
database
:
table
owner.
,
frag_dbs
rowid
tblspacenum
logical pagenum
Utilities 3-9
oncheck: Check, Repair, or Display
oncheck Options (2 of 2)
oncheck
-pp
database
:
table
,
owner.
-pP
rowid
tblspacenum
logical pagenum
chunknum
logical pagenum
frag_dbs
-cs
-cS
sbspace.
-ps
-pS
sbspace
partnum
pagenum
option
-u
(arg_string)
Element
-cc
-cd
-cD
Purpose
Checks system catalog tables for
the specified database.
Reads all pages except simple
large objects from the tblspace for
the specified database, table, or
fragment and checks each page
for consistency.
Also checks tables that employ
a user-defined access method.
Same as -cd but also reads the
header of each blobpage and
checks it for consistency.
Key Considerations
References: See “Checking System Catalog Tables
with -cc” on page 3-15.
Restrictions: Does not check simple or smart large
objects.
References: See “Checking Pages with -cd and -cD”
on page 3-15.
Restrictions: Checks simple large objects but not
smart large objects.
References: See “Checking Pages with -cd and -cD”
on page 3-15.
(1 of 5)
3-10
Informix Administrator’s Reference
oncheck: Check, Repair, or Display
Element
-ce
Purpose
Checks each chunk-free list and
corresponding free space and each
tblspace extent. Also checks smartlarge-object extents and sbspace
metadata.
-ci
Checks the ordering of key values
and the consistency of horizontal
and vertical node links for all
indexes associated with the
specified table. Also checks indexes
that employ a user-defined access
method.
Same as -ci but also checks that
the key value tied to a rowid in
an index is the same as the key
value in the row.
Checks each of the root dbspace
reserved pages for several
conditions.
Checks the root dbspace reserved
pages, physical-log pages, and
logical-log pages.
Checks smart large object and
sbspace metadata for an sbspace.
Checks smart large object and
sbspace metadata for an sbspace
as well as extents.
Indicates optional sbspace name.
If not supplied, all sbspaces are
checked.
Indicates that no index repair
should be performed, even if
errors are detected.
-cI
-cr
-cR
-cs
-cS
sbspace
-n
Key Considerations
Additional Information: The oncheck process verifies that the extents on disk correspond to the
current control information that describes them.
References: See “Checking the Chunk Free List
with -ce and -pe” on page 3-17. For background information, see “Next-Extent Allocation” on
page 7-19 and “Structure of the Chunk Free-List
Page” on page 7-8.
References: See “Checking Index Node Links with
-ci and -cI” on page 3-17.
References:. See “Checking Index Node Links with
-ci and -cI” on page 3-17.
References: See “Checking Reserved Pages with -cr
and -cR” on page 3-18.
None.
References: See “Checking and Displaying Sbspace
Information with -cs, -cS, -ps, -pS” on page 3-19.
References: See “Checking and Displaying Sbspace
Information with -cs, -cS, -ps, -pS” on page 3-19.
None.
Additional Information: Use with the index repair
options (-ci, -cI, -pk, -pK, -pl, and -pL).
(2 of 5)
Utilities 3-11
oncheck: Check, Repair, or Display
Element
-pB
-pc
-pd
-pD
-pe
-pk
-pK
-pl
-pL
-pp
Purpose
Displays statistics that describe
the average fullness of blobspace
blobpages in a specified table.
Same as -cc but also displays the
system catalog information as it
checks the system catalog tables,
including extent use for each table.
Displays rows in hexadecimal
format.
Displays rows in hexadecimal
format and simple-large-object
values stored in the tblspace or
header information for smart large
objects stored in an sbspace sbpage
and simple large objects stored in a
blobspace blobpage.
Same as -ce but also displays the
chunk and tblspace extent information as it checks the chunk free
list, the corresponding free space,
and each tblspace extent.
Same as -ci but also displays the
key values for all indexes on the
specified table as it checks them.
Same as -cI but also displays the
key values and rowids as it checks
them.
Same as -ci but also displays the
key values. Only leaf-node index
pages are checked.
Same as -cI but also displays the
key values and rowids for leaf-node
index pages only.
Displays contents of a logical page.
Key Considerations
Additional Information: These statistics provide a
measure of storage efficiency for individual simple
large objects in a database or table. If a table or fragment is not specified, statistics are displayed for the
entire database.
References: See “Displaying Blobspace Statistics
with -pB” on page 3-19. For information about optimizing blobspace blobpage size, see the chapter on
managing disk space in the Administrator’s Guide.
None.
References: See “Displaying Rows in Hexadecimal
Format with -pd and -pD” on page 3-20.
References: See “Displaying Rows in Hexadecimal
Format with -pd and -pD” on page 3-20.
None.
References: See “Displaying Index Information
with -pk, -pK, -pl, -pL” on page 3-20.
References: See “Displaying Index Information
with -pk, -pK, -pl, -pL” on page 3-20.
References: See “Displaying Index Information
with -pk, -pK, -pl, -pL” on page 3-20.
References: See “Displaying Index Information
with -pk, -pK, -pl, -pL” on page 3-20.
References: See “Displaying the Contents of a
Logical Page with -pp and -pP” on page 3-21.
(3 of 5)
3-12
Informix Administrator’s Reference
oncheck: Check, Repair, or Display
Element
-pP
-pr
-pR
-ps
-pS
-pt
-pT
-q
-x
-y
chunknum
database
Purpose
Same as -pp but requires a chunk
number and logical page number or
internal rowid as input.
Same as -cr but also displays the
reserved-page information as it
checks the reserved pages.
Same as -cR but also displays the
information for the reserved pages,
physical-log pages, and logical-log
pages.
Checks and displays smart-largeobject and sbspace metadata for an
sbspace.
Checks and displays smart-largeobject and sbspace metadata, as
well as extents, for an sbspace.
Displays tblspace information for
a table or fragment.
Key Considerations
References: See “Displaying the Contents of a
Logical Page with -pp and -pP” on page 3-21.
References: See “Displaying Reserved-Page Information with -pr” on page 3-22.
None.
References: See “Checking and Displaying Sbspace
Information with -cs, -cS, -ps, -pS” on page 3-19.
References: See “Checking and Displaying Sbspace
Information with -cs, -cS, -ps, -pS” on page 3-19.
References: See “Displaying Tblspace Information
for a Particular Table or Fragment with -pt and -pT”
on page 3-22.
References: See “Displaying Tblspace Information
for a Particular Table or Fragment with -pt and -pT”
on page 3-22.
Same as -pt but also displays
index-specific information and
page-allocation information by
page type (for dbspaces).
Suppresses all checking and
None.
validation messages.
Places a shared lock on the table
Additional information: Use with the -ci, -cI, -pk,
when you check and print an index. -pK, -pl, or -pL options.
Repairs indexes when errors are
detected.
Specifies a decimal value that you
use to indicate a particular chunk.
Specifies the name of a database
that you want to check for
consistency.
References: See “Turning On Locking with -x” on
page 3-23.
None.
Restrictions: Value must be an unsigned integer
greater than 0. Chunk must exist.
Additional Information: Execute the -pe option to
learn which chunk numbers are associated with
specific dbspaces, blobspaces or sbspaces.
Restrictions: You cannot use oncheck to check
databases on remote database servers.
References: Syntax must conform to the Identifier
segment; see Informix Guide to SQL: Syntax.
(4 of 5)
Utilities 3-13
oncheck: Check, Repair, or Display
Element
frag_dbs
Purpose
Specifies the name of a dbspace
that contains a fragment you want
to check for consistency.
index_name
logical pagenum
owner
pagenum
partnum
rowid
sbspace
table
tblspacenum
Key Considerations
Restrictions: Dbspace must exist and contain the
fragment that you want to check for consistency.
References: Syntax must conform to the Identifier
segment; see Informix Guide to SQL: Syntax.
Specifies the name of the index that Restrictions: Index must exist on table and in
you want to check for consistency. database specified.
References: Syntax must conform to the Identifier
segment; see Informix Guide to SQL: Syntax.
Specifies an integer value that you Restrictions: Value must be an unsigned integer
use to indicate a particular page in between 0 and 16,777,215, inclusive.
Additional Information: Value can be expressed as
a tblspace.
an unsigned integer or hexadecimal that begins
with 0x identifier.
Specifies the owner of a table.
Restrictions: Owner that you specify must be
current owner of table.
References: Syntax must conform to the Table
Name segment; see Informix Guide to SQL: Syntax.
Indicates the page number of the
None.
sbspace metadata portion to check
and display.
Identifies the sbspace metadata
None.
partition to check and display.
Identifies the rowid of the row
Restrictions: Value must be an unsigned integer
whose contents you want to
between 0 and 4,277,659,295, inclusive.
display. The rowid is displayed
Additional Information: Value can be expressed as
as part of oncheck -pD output.
an unsigned integer or hexadecimal that begins
with 0x identifier.
Specifies the name of the sbspace
None.
that you want to check for
consistency.
Specifies the name of the table
Additional Information: Table exists when you
that you want to check for
execute the utility.
consistency.
References: Syntax must conform to the Table
Name segment; see Informix Guide to SQL: Syntax.
Identifies the tblspace whose
Restrictions: Value must be an unsigned integer
contents you want to display.
between 0 and 208,666,624, inclusive.
Additional Information: Value can be expressed as
an unsigned integer or hexadecimal that begins
with 0x identifier.
(5 of 5)
3-14
Informix Administrator’s Reference
oncheck: Check, Repair, or Display
Option Descriptions
You cannot combine oncheck option flags except as the following paragraphs
describe.
Checking System Catalog Tables with -cc
The -cc option checks all system catalog tables for the specified database. If
you do not specify a database, it checks all system catalog tables for all
databases. Before you execute oncheck, execute the SQL statement UPDATE
STATISTICS to ensure that an accurate check occurs.
To check a table, oncheck compares each system catalog table to its corresponding entry in the tblspace tblspace. (See “Structure of the Tblspace
Tblspace” on page 7-9.) The -pc option performs the same checks and also
displays the system catalog information, including extent use, for each table.
% oncheck -cc
% oncheck -cc superstores_demo
Checking Pages with -cd and -cD
The -cd option reads all pages, excluding blobpages and sbpages, from the
tblspace for the specified database, table, or fragment and checks each page
for consistency. It checks entries in the bit-map page against the pages to
verify mapping.
If the database contains fragmented tables, but you do not specify a fragment,
the option checks all fragments in the table. If you do not specify a table, it
checks all tables in the database. (The -pd option displays a hexadecimal
dump of specified pages but does not check for consistency.)
If an index that uses an access method provided by a DataBlade module
cannot find the access method, you receive the following message:
-9845 Access method access_method_name does not exist in
database. Ensure that the DataBlade installation was
successful.
Utilities 3-15
oncheck: Check, Repair, or Display
The -cD option performs checks similar to those performed when you use the
-cd option, but it includes a consistency check of blobpages. The -cD option
does not read entire blobpages as it does standard pages. Instead, oncheck
reads only the header of each blobpage and checks it for consistency. This
limited consistency checking prevents the performance degradation that
could occur if oncheck read each blobpage. Because oncheck does not read
the entire page, it does not compare beginning time stamps (stored in the
header) with ending time stamps (stored at the end of a blobpage).
To monitor blobspace blobpages, refer to oncheck -pB. (See “Displaying
Blobspace Statistics with -pB” on page 3-19).
The following example checks the data rows, including simple large objects
and smart large objects, in the catalog table:
% oncheck -cD superstores_demo:catalog
If oncheck finds an inconsistency, it displays a message similar to the
following one:
BAD PAGE 20001c:pg_addr 20001c != bp-> bf_pagenum 200045
If oncheck finds no inconsistencies, it displays a header similar to the
following one for each table that it checks:
TBLSPACE data check for stores_demo:informix.customer
The oncheck utility displays a header similar to the following one for
fragmented tables, one per fragment:
TBLspace data check for stores_demo:informix.tab1
Table fragment in DBspace db1
If you specify a single fragment, oncheck displays a single header for that
fragment.
For both the -cd and -cD options, the oncheck utility locks each table as it
checks the indexes for the table.
3-16
Informix Administrator’s Reference
oncheck: Check, Repair, or Display
Checking the Chunk Free List with -ce and -pe
The -ce option checks each chunk free list and corresponding free space and
each tblspace extent. (See “Next-Extent Allocation” on page 7-19 and
“Structure of the Chunk Free-List Page” on page 7-8, respectively.) The
oncheck process verifies that the extents on disk correspond to the current
control information that describes them.
The -pe option performs the same checks and also displays the chunk and
tblspace extent information during the check.
% oncheck -ce
The -ce and -pe options also check smart-large-object extent and metadata
information. For information about using oncheck -ce and -pe with sbspaces,
see monitoring sbspaces in the Performance Guide.
Checking Index Node Links with -ci and -cI
The -ci option checks the ordering of key values and the consistency of
horizontal and vertical node links for all indexes associated with the
specified table. (See “Structure of B-Tree Index Pages” on page 7-27.)
If you do not specify an index, the option checks all indexes. If you do not
specify a table, the option checks all tables in the database.
If the option detects inconsistencies, it prompts you for confirmation to repair
the problem index. If you specify the -y (yes) option, indexes are automatically repaired. If you specify the -n (no) option, the problem is reported but
not repaired; no prompting occurs.
If oncheck does not find inconsistencies, the following message appears:
validating indexes......
The message displays the names of the indexes that oncheck is checking.
Index rebuilding can be time consuming if you use oncheck. Processing is
usually faster if you use the SQL statements DROP INDEX and CREATE INDEX
to drop the index and re-create it.
The -cI option performs the same checks as -ci, but it also checks that the key
value tied to a rowid in an index is the same as the key value in the row. The
same -ci repair options are available with -cI.
Utilities 3-17
oncheck: Check, Repair, or Display
The following example checks all indexes on the customer table:
% oncheck -cI -n stores_demo:customer
The following example checks the index zip_ix on the customer table:
% oncheck -cI -n stores_demo:customer#zip_ix
By default, both the -ci and -cI options cause oncheck to lock each table as it
checks the indexes that belong to the table. However, you can append option
-x to instruct oncheck not to place a shared lock on a table. If you use option
-x with the repair option, -y, oncheck still places an exclusive lock on the table
when it must perform a repair action. For more information on option -x, see
“Turning On Locking with -x” on page 3-23.
When you execute oncheck on an external index, the user-defined access
method is responsible for checking and repairing an index. If an index that
employs a user-defined access method cannot find the access method, the
database server reports an error. The oncheck utility does not repair inconsistencies in external indexes.
Checking Reserved Pages with -cr and -cR
The -cr option checks each of the root dbspace reserved pages (see “Reserved
Pages” on page 7-5) as follows:
■
It validates the contents of the ONCONFIG file with the
PAGE_CONFIG reserved page.
■
It ensures that all chunks can be opened, that chunks do not overlap,
and that chunk sizes are correct.
The following example checks each of the root dbspace reserved pages:
% oncheck -cr
The -cR option performs the same operations as the -cr option, but it also
checks all logical-log and physical-log pages for consistency. The -cr option is
considerably faster because it does not check the log-file pages.
If you have changed the value of a configuration parameter (either through
ON-Monitor or by editing the configuration file), but you have not yet reinitialized shared memory, oncheck -cr and oncheck -cR detect the
inconsistency and return an error message.
3-18
Informix Administrator’s Reference
oncheck: Check, Repair, or Display
The -pr and -pR options perform the same checks as oncheck -cr and
oncheck -cR, respectively, and also display the reserved-page information as
they check the reserved pages.
If oncheck -cr does not display any error messages after you execute it,
you can assume that all three items in the preceding list were checked
successfully.
Checking and Displaying Sbspace Information with -cs, -cS, -ps, -pS
The -cs option checks sbspaces. The -ps option checks sbspaces and their
extents. If you do not specify the sbspace name, the option checks all
sbspaces. The following example checks the sbspace test_sbspace:
% oncheck -cs test_sbspace
The -cS and -pS options validate and display metadata for an sbspace. If you
do not specify the sbspace name, the option checks all sbspaces. You can
optionally specify metadata partition and page number. The following
example checks and displays metadata on sbpage 32 in partition 25:
% oncheck -ps test_sbspace 25 32
If you specify rootdbs as the sbspace name with the -cs or -ps options,
oncheck checks the root dbspace.
For information about using oncheck -cs, -cS, -ps, and -pS with sbspaces, see
monitoring sbspaces in the Performance Guide.
Displaying Blobspace Statistics with -pB
The -pB option displays statistics that describe the average fullness of
blobspace blobpages in a specified table. These statistics provide a measure
of storage efficiency for individual simple large objects in a database or table.
If you do not specify a table or fragment, the option displays statistics for the
entire database. (See optimizing blobspace blobpage size in the chapter on
managing disk space in the Administrator’s Guide.)
% oncheck -pB photo_base:photos
Utilities 3-19
oncheck: Check, Repair, or Display
Displaying Rows in Hexadecimal Format with -pd and -pD
The -pd option takes a database, a table, a fragment, and a specific rowid or
tblspace number and logical page number as input. In every case, -pd prints
page-header information and displays the specified rows for the database
object (database, table, fragment, internal rowid, or page number) that you
specify in hexadecimal and ASCII format. No checks for consistency are
performed.
If you specify an internal rowid (expressed as a hexadecimal value), the
rowid maps to a particular page, and all rows from that page are printed.
If you specify a logical page number (expressed as a decimal), all the rows of
the tblspace number with the logical page number are printed.
If you specify a fragment, all the rows in the fragment are printed, with their
rowids, forward pointers, and page type.
If you specify a table, all the rows in the table are printed, with their rowids,
forward pointers, and page type.
If you specify a database, all the rows in all the tables in the database are
printed. TEXT and BYTE column descriptors stored in the data row are
printed, but TEXT and BYTE data itself is not.
The -pD option prints the same information as -pd. In addition, -pD prints
TEXT and BYTE values stored in the tblspace or header information for simple
large objects stored in a blobspace blobpage.
% oncheck -pd stores_demo:customer,frgmnt1
% oncheck -pd stores_demo:customer
% oncheck -pD stores_demo:customer 0x101
Displaying Index Information with -pk, -pK, -pl, -pL
Repair options are available for each option.
The -pk option performs the same checks as the -ci option. (See “Checking
Index Node Links with -ci and -cI” on page 3-17.) In addition, -pk displays
the key values for all indexes on the specified table as it checks them.
The -pK option performs the same checks as the -cI option. The -pK option
displays the key values and rowids as it checks them.
3-20
Informix Administrator’s Reference
oncheck: Check, Repair, or Display
The -pl option performs the same checks as the -ci option and displays the
key values, but it checks only leaf-node index pages. It ignores the root and
branch-node pages. See “Structure of B-Tree Index Pages” on page 7-27.
The -pL option performs the same checks as the -cI option and displays the
key values and rowids, but it checks only leaf-node index pages. It ignores
the root and branch-node pages.
% oncheck -pL -n stores_demo.customer
The following example displays information about all indexes on the
customer table:
% oncheck -pl -n stores_demo:customer
The following example displays information about the index zip_ix, which
was created on the customer table:
% oncheck -pl -n stores_demo:customer#zip_ix
Displaying the Contents of a Logical Page with -pp and -pP
The -pp option requires as input either of the following values:
■
A tblspace number and logical page number
If the table that you want to check is fragmented, you must also
supply the name of the dbspace in which the fragment is located.
■
A table name and an Informix internal rowid
You can obtain this internal rowid with the oncheck -pD command.
This internal rowid is not the serial rowid that is assigned in tables
created with the CREATE TABLE tabname WITH ROWIDS statement.
For more information, see “Definition of Rowid” on page 7-23.
Use the -pp option to dump the contents of the logical page number
contained in the rowid. The page contents appear in ASCII format. The
display also includes the number of slot-table entries on the page.
The -pP option provides the same information as the -pp option but requires
a chunk number and logical page number as input.
%
%
%
%
oncheck
oncheck
oncheck
oncheck
-pp
-pp
-pP
-pP
stores_demo:customer,frag_dbspce1 0x211
stores_demo:orders 0x211
0x100000a 25
3 15
Utilities 3-21
oncheck: Check, Repair, or Display
Displaying Reserved-Page Information with -pr
The -pr option performs the same checks as the -cr option. (For a description
of the -cr option, see “Checking Reserved Pages with -cr and -cR” on
page 3-18.) In addition, -pr displays the reserved-page information as it
checks the reserved pages. For a listing and explanation of oncheck -pr
output, see “Reserved Pages” on page 7-5.
% oncheck -pr
If you have changed the value of a configuration parameter (either by using
ON-Monitor on UNIX or by editing the ONCONFIG file), but you have not yet
reinitialized shared memory, oncheck -cr detects the inconsistency, prints
both values, and displays an error message.
Displaying Tblspace Information for a Particular Table or Fragment
with -pt and -pT
The -pt option prints a tblspace report for a given table or fragment whose
name and database you specify when you execute oncheck at the command
line. The report contains general allocation information including the
maximum row size, the number of keys, the number of extents, their sizes,
the pages allocated and used per extent, the current serial value, and the date
that the table was created. The Extents fields list the physical address for the
tblspace tblspace entry for the table and the address of the first page of the
first extent. If you do not specify a table, the option displays this information
for all tables in the database.
The -pT option prints the same information as the -pt option. In addition, the
-pT option displays index-specific information and page-allocation
information by page type (for dbspaces).
Output for both -pt and -pT contains listings for Number of pages used. The
value shown in the output for this field is never decremented because the
disk space allocated to a tblspace as part of an extent remains dedicated to
that extent even after you free space by deleting rows. (See the Performance
Guide.) For an accurate count of the number of pages currently used, refer to
the detailed information on tblspace use (organized by page type) that the
-pT option provides.
% oncheck -pT stores_demo:customer
3-22
Informix Administrator’s Reference
oncheck: Check, Repair, or Display
Turning On Locking with -x
If you append the -x option to the index-checking options, oncheck places a
shared lock on affected tables while it checks the indexes, meaning no other
users can perform inserts, updates, and deletions while oncheck checks or
prints the index. Without the -x option for tables with row locking, oncheck
only places an IS (intent shared) lock on the table, which prevents actions
such as dropping the table or the indexes during the check.
You can append the -x option to the -ci, -cI, -pk, -pK, -pl, and -pL options. For
example, the following sample command instructs oncheck to lock indexes
for the customer table while it validates the order of key values, validates
horizontal links, and ensures that no node appears twice in the index:
oncheck -cix stores_demo:customer
When you specify option -x, oncheck locks indexes for tables that use row
locking. If oncheck detects page-lock mode, it displays a warning message
and places a shared lock on the table regardless.
Sending Special Arguments to the Access Method with -u
You can use the -u option to send special arguments to the access method.
The possible arguments depend on the access method. For example, the
R-tree access method supports the display option, as the following example
shows:
oncheck -pl -u "display"
Use commas to separate multiple arguments in the argument string.
For information on valid arguments for your access method, refer to the user
manual for your access method.
Utilities 3-23
ondblog: Change Logging Mode
ondblog: Change Logging Mode
The ondblog utility lets you change the logging mode for one or more
databases.
If you turn on transaction logging for a database, you must create a level-0
backup of all the storage spaces that contain data in the database before the
change takes effect.
For more information and examples, see the following topics in the chapter
on managing database-logging status in the Administrator’s Guide:
■
Modifying the database-logging status
■
Modifying table-logging status
Syntax
buf
ondblog
unbuf
IDS
nolog
db_list
-f dbfile
ansi
cancel
Element
buf
unbuf
nolog
Purpose
Sets the logging mode so that transaction
information is written to a buffer before it is
written to a logical log.
Sets the logging mode so that data is not
written to a buffer before it is written to a
logical log.
Sets the logging mode so that no database
transactions are logged.
Key Considerations
None.
None.
None.
(1 of 2)
3-24
Informix Administrator’s Reference
ondblog: Change Logging Mode
Element
ansi
Purpose
Changes database logging to be ANSI
compliant.
cancel
Cancels the logging-mode change request
before the next level-0 backup occurs.
Changes the logging status of the databases
that are listed (one per line) in the text file
whose pathname is given by dbfile.
Names a space-delimited list of databases
whose logging status is to be changed.
-f dbfile
db_list
Key Considerations
Additional Information: Once you create
or convert a database to ANSI mode, you
cannot change it back to any of the other
logging modes.
None.
Additional Information: This command is
useful if the list of databases is long or
used often.
Additional Information: If you do not
specify anything, all databases that the
database server manages are modified.
(2 of 2)
IDS
The Database option in the ON-Monitor Logical-Logs menu is similar to these
ondblog command options.
UNIX
For information about how to change the log mode with ON-Archive, see the
Archive and Backup Guide. ♦
XPS
You can use ondblog to change the database-logging mode but not to turn off
database logging. Extended Parallel Server supports nonlogging tables but
not nonlogging databases. ♦
Utilities 3-25
oninit: Initialize the Database Server
oninit: Initialize the Database Server
Execute the oninit utility from the command line to initialize database server
shared memory and bring the database server on-line. If you use oninit
options, you can also initialize disk space.
On UNIX, you must be logged in as root or user informix to execute oninit.
On Windows NT, you must be a member of the Informix-Admin group.
Before you initialize the database server, set the INFORMIXSERVER
environment variable to the dbservername that you chose when you set the
configuration parameter DBSERVERNAME. INFORMIXSERVER is not
required for initialization. However, if INFORMIXSERVER is not set, the
database server does not build the sysmaster tables. Also, the DB-Access
utility requires INFORMIXSERVER to be set.
For information about what happens during initialization, see the chapter on
initializing the database server in the Administrator’s Guide.
XPS
On Extended Parallel Server, you can perform oninit operations on specific
coservers. Use oninit with xctl to initialize multiple coservers or to initialize
a coserver on a node that is different from your login node. You can also bring
up the database server or coserver in microkernel mode (oninit -m). ♦
Syntax
oninit
Initialize Shared Memory Only,
p. 3-27
-y
Initialize Disk Space and Shared Memory,
p. 3-29
3-26
Informix Administrator’s Reference
XPS
-Xcoserver_ID
oninit: Initialize the Database Server
Element
-y
-Xcoserver_ID
Purpose
Causes the database server or
coserver to automatically
respond yes to all prompts.
Performs the action on the
coserver that coserver_ID
indicates.
Key Considerations
None.
Additional Information: No white space appears between the -X option and the coserver_ID argument. If
your database server has multiple coservers, you must
initialize each one. To initialize all coservers with a
single command, use xctl -C oninit. For more information about xctl, refer to “xctl: Execute Utilities Across
Coservers” on page 3-227.
Initialize Shared Memory Only
Initialize Shared
Memory Only
-p
Element
-p
Purpose
Directs oninit not to search for
(and delete) temporary tables.
-s
Initializes shared memory and
leaves the database server or
coserver (XPS) in quiescent
mode. See “Initializing Shared
Memory with the -s Option” on
page 3-28.
-s
Key Considerations
Additional Information: If you use this option, the
database server or coserver returns to on-line mode
more rapidly, but space used by temporary tables left on
disk is not reclaimed.
Additional Information: This option is equivalent to the
ON-Monitor Mode menu, Startup option (IDS, UNIX).
The database server or coserver (XPS) should be in
off-line mode to initialize shared memory.
Utilities 3-27
oninit: Initialize the Database Server
Initializing Shared Memory with No Options
If you execute oninit without options, the database server is left in on-line
mode after shared memory is initialized. For example, the following
commands take the database server off-line and then reinitialize shared
memory:
% onmode -ky
% oninit
The following commands take the database server off-line and then reinitialize shared memory on all coservers:
XPS
% onmode -ky
% xctl onmode -ky
♦
Initializing Shared Memory with the -s Option
The -s option initializes shared memory and leaves the database server in
quiescent mode.
The following commands take the database server off-line, reinitialize shared
memory, and leave the database server in quiescent mode:
% onmode -ky
% oninit -s
The following commands take the database server off-line, reinitialize shared
memory on all coservers, and leave the database server in quiescent mode:
XPS
% onmode -ky
% xctl -C oninit -sy
♦
The -s option is equivalent to the ON-Monitor Mode menu, Startup option. ♦
IDS
UNIX
3-28
Informix Administrator’s Reference
oninit: Initialize the Database Server
Initialize Disk Space and Shared Memory
Initialize Disk Space
and Shared Memory
-i
-s
XPS
-m
Element
-i
-m
-s
Purpose
Causes the database server or coserver to
initialize disk space and shared memory.
Leaves the database server in on-line mode
after it initializes disk space.
Causes the database server or coserver
to come up in microkernel mode in
preparation for a cold restore.
When used with -i, causes the database
server to be left in quiescent mode after disk
initialization.
Key Considerations
None.
Additional Information: For information
about cold restores, see the Backup and Restore
Guide.
None.
Warning: When you initialize disk space, the initialization destroys all data that
your database server currently manages.
The database server must be off-line when you initialize disk space.
Specify the Number of Virtual Processors
Use NUMCPUVPS and NUMAIOVPS to specify the initial number of VPs for
the CPU and AIO classes. For more information about these parameters, see
“NUMCPUVPS” and “NUMAIOVPS” on page 1-101.
Utilities 3-29
oninit: Initialize the Database Server
IDS
The VPCLASS configuration parameter allows you to specify, for each class of
virtual processors, the number of VPs that the database server should start on
initialization. Alternatively, you can use NUMCPUVPS and NUMAIOVPS to
specify the initial number of VPs for the CPU and AIO classes. However, you
cannot use both VPCLASS and NUMCPUVPS and NUMAIOVPS in the same
configuration file. If your ONCONFIG file contains conflicting parameters,
oninit returns one of the following messages:
oninit: Can't mix VPCLASS cpu and NUMCPUVPS, SINGLE_CPU_VP,
AFF_SPROC, AFF_NPROCS, or NOAGE parameters
oninit: Can't mix VPCLASS aio and NUMAIOVPS parameters
For more information, refer to “VPCLASS” on page 1-150. ♦
3-30
Informix Administrator’s Reference
onlog: Display Logical-Log Contents
onlog: Display Logical-Log Contents
The onlog utility displays the contents of a logical-log file, either on disk or
on backup.
The onlog output is useful in debugging situations when you want to track
a specific transaction or see what changes have been made to a specific
tblspace. (For information about interpreting the logical-log file contents, see
Chapter 6, “Interpreting Logical-Log Records.”)
Any user can run all of the onlog options except the -l option. Only user
informix on UNIX or a member of the Informix-Admin group on
Windows NT can run the -l option.
If the database server is in off-line mode when you execute onlog, only the
files on disk are read. If the database server is in quiescent or on-line mode,
onlog also reads the logical-log records stored in the logical-log buffers in
shared memory (after all records on disk have been read).
When the database server reads a logical-log file with status U from disk
while in on-line mode, the database server denies all access to the logical-log
files, effectively stopping database activity for all sessions. (For more information, see “The onstat -l Option” on page 3-113.) For this reason, Informix
recommends that you wait until the files have been backed up and then read
the contents of the logical-log files from backup.
XPS
When Extended Parallel Server is off-line, you can perform onlog operations
on specific coservers. ♦
IDS
To display the contents of backups that ON-Archive created, use the
LIST/LOGRECORDS command as the Archive and Backup Guide describes. ♦
UNIX
Utilities 3-31
onlog: Display Logical-Log Contents
Syntax
onlog
Log-Record Read Filters,
page 3-34
Log-Record Display Filters,
page 3-35
-q
XPS
-X cos_number
Element
-q
-X cos_number
Purpose
Suppresses the initial header
and the one-line header that
appears every 18 records by
default.
Specifies the coserver for which
to read logs.
Key Considerations
None.
Additional Information: The -X option works only
if the database server is off-line. If the database
server is running, onlog uses the value of the
INFORMIXSERVER environment variable to
connect to the database server.
Read Filters
You direct onlog to read the following portions of the logical log as it searches
for records to display:
■
Records stored on disk
■
Records stored on backup media
■
Records from the specified logical-log file
By default, onlog displays the logical-log record header, which describes the
transaction number and the record type. The record type identifies the type
of operation performed.
3-32
Informix Administrator’s Reference
onlog: Display Logical-Log Contents
In addition to the header, you can use the read filters to direct onlog to
display the following information:
IDS
■
Logical-log record header and data (including copies of simple large
objects stored in a dbspace or tblspace)
■
Copies of blobpages from blobspaces
They are copied from the logical-log backup only. They are not
available from disk. ♦
Display Filters
You can display every logical-log record header, or you can specify output
based on the following criteria:
■
Records associated with a specific table
■
Records initiated by a specific user
■
Records associated with a specific transaction
If an Error Is Detected
If onlog detects an error in the log file, such as an unrecognizable log type, it
displays the entire log page in hexadecimal format and terminates.
Utilities 3-33
onlog: Display Logical-Log Contents
Log-Record Read Filters
The onlog utility uses the pathnames that are stored in the root dbspace
reserved pages to locate the logical-log files. If you use ON-Bar to back up the
logical logs, onlog asks the storage manager to retrieve the appropriate
logical-log records from the backup media.
Log-Record
Read Filters
-n uniqid
-d device
-b
Element
-b
Purpose
Displays logical-log records
associated with blobspace
blobpages.
Names the pathname of the
storage device where the
desired logical-log backup
is mounted.
-d device
Key Considerations
Additional Information: The database server stores these
records on the logical-log backup media as part of
blobspace logging.
Restriction: If you use ontape, the device that you name
must be the same as the pathname of the device assigned to
the configuration parameter LTAPEDEV. If the -d option is
not used, onlog reads the logical-log files stored on disk,
starting with the logical-log file with the lowest logid.
Additional Information: You do not need to use the -d
option if you use ON-Bar because the storage manager
retrieves the logical-log records from the storage device.
-n uniqid
References: For pathname syntax, see your operatingsystem documentation.
Directs onlog to read only
Additional Information: The uniqid is the unique ID
the logical-log records
number of the logical log. It marks how many times the disk
contained in the log file that space was used for the logical log. To determine the uniqid
you specify with uniqid.
of a particular logical-log file, use the onstat -l command.
If you do not use the -n option, onlog reads all logical-log
files that are available (either on disk or on tape).
References: For information about the onstat utility, see
“onstat: Monitor Database Server Operation” on page 3-88.
3-34
Informix Administrator’s Reference
onlog: Display Logical-Log Contents
Log-Record Display Filters
Log-Record
Display Filters
1
1
1
1
Element
-l
Purpose
Displays the long listing
of the logical-log record.
-t tblspace_num
Displays records
associated with the
tblspace that you
specify.
-u username
Displays records for a
specific user.
-x transaction_id
Displays only records
associated with the
transaction that you
specify.
-l
-t tblspace_num
-u username
-x transaction_id
Key Considerations
Additional Information: The long listing of a log record
includes a complex hexadecimal and ASCII dump of the
entire log record. The listing is not intended for casual use.
Restrictions: Unsigned integer. Number, greater than 0,
must be in the partnum column of the systables system
catalog table.
Additional Information: Specify this value as either an
integer or hexadecimal value. (If you do not use a 0x prefix,
the value is interpreted as an integer.) To determine the
tblspace number of a particular tblspace, query the
systables system catalog table as described in “Tblspace
Numbers” on page 7-10.
Restrictions: User name must be an existing login name.
User name must conform to operating-system-specific rules
for login name.
Restriction: Value must be an unsigned integer between
0 and TRANSACTIONS - 1, inclusive.
Additional Information: You should need to use the -x
option only in the unlikely case that an error is generated
during a rollforward. When this situation occurs, the
database server sends a message to the message log that
includes the transaction ID of the offending transaction.
You can use this transaction ID with the -x option of onlog
to investigate the cause of the error.
Utilities 3-35
onlog: Display Logical-Log Contents
If you do not specify any options, onlog displays a short listing of all the
records in the log. You can combine options with any other options to
produce more selective filters. For example, if you use both the -u and -x
options, onlog displays only the activities that the specified user initiated
during the specified transaction. If you use both the -u and -t options, onlog
displays only the activities initiated by the specified user and associated with
the specified tblspace.
3-36
Informix Administrator’s Reference
onmode: Change Mode and Shared Memory
onmode: Change Mode and Shared Memory
The onmode flags determine which of the following operations onmode
performs:
IDS
■
Change the database server operating mode
■
Force a checkpoint
■
Change residency of the resident and virtual portions of shared
memory
■
Switch the logical-log file
■
Kill a database server session
■
Add a shared-memory segment to the virtual shared-memory
portion
■
Add or remove virtual processors
■
Regenerate a .infos file
■
Set decision-support parameters
■
Free unused memory segments
■
Override the WAIT mode of the ONDBSPACEDOWN configuration
parameter
You can use the following onmode options:
■
The onmode -b option to change data to an earlier database server
format
For information about migrating from or reverting to earlier versions
of the database server, see the Informix Migration Guide.
■
The onmode -d option to set data-replication types ♦
On UNIX, you must be user root or user informix to execute onmode. On
Windows NT, you must be a member of the Informix-Admin group.
Utilities 3-37
onmode: Change Mode and Shared Memory
Syntax
onmode
Change Database Server Mode, p. 3-39
Force a Checkpoint, p. 3-41
Switch the Logical-Log File, p. 3-43
Kill a Database Server Session, p. 3-44
Add a Shared-Memory Segment, p. 3-48
Add or Remove Virtual Processors, p. 3-49
Regenerate .infos or .infxdirs File, p. 3-50
Change Decision-Support Parameters, p. 3-51
Free Unused Memory Segments, p. 3-53
Override ONDBSPACEDOWN WAIT Mode, p. 3-54
IDS
Change Shared-Memory Residency, p. 3-43
Kill a Distributed Transaction, p. 3-44
Set Data-Replication Types, p. 3-46
Change Usage of the SQL Statement Cache, p. 3-55
Change Database Format with onmode -b
See Informix Migration Guide.
3-38
Informix Administrator’s Reference
-y
onmode: Change Mode and Shared Memory
Element
-y
Purpose
Key Considerations
Causes the database server to automatically respond yes None.
to all prompts.
If you do not use any options, the database server returns a usage statement.
Change Database Server Mode
Change Database
Server Mode
-k
-m
-s
-u
Element
-k
-m
-s
-u
Purpose
Key Considerations
Takes the database server to off-line Additional Information: You might want to use this
mode and removes shared memory. option to reinitialize shared memory.
References: See “Taking the Database Server to Off-Line
Mode with the -k Option” on page 3-40.
Takes the database server from
References: See “Bringing the Database Server On-Line
quiescent to on-line mode.
with the -m Option” on page 3-40.
Shuts down the database server
Additional Information: Users who are using the
gracefully.
database server are allowed to finish before the database
server comes to quiescent mode, but no new connections
are allowed. When all processing is finished, -s takes the
database server to quiescent mode. The -s option leaves
shared memory intact.
References: See “Shutting Down the Database Server
Gracefully with the -s Option” on page 3-40.
Shuts down the database server
Additional Information: This option brings the database
immediately.
server to quiescent mode without waiting for users to
finish their sessions. Their current transactions are rolled
back, and their sessions are terminated.
References: See “Shutting Down the Database Server
Immediately with the -u Option” on page 3-40.
Utilities 3-39
onmode: Change Mode and Shared Memory
The following sections describe the options that take the database server
from one mode to another.
Taking the Database Server to Off-Line Mode with the -k Option
The -k option takes the database server to off-line mode and removes
database server shared memory. You might want to use this option to reinitialize shared memory.
A prompt asks for confirmation. Another prompt asks for confirmation to kill
user threads before the database server comes off-line. If you want to
eliminate these prompts, execute the -y option with the -s option.
Bringing the Database Server On-Line with the -m Option
The -m option brings the database server on-line from quiescent mode.
Shutting Down the Database Server Gracefully with the -s Option
The -s option causes a graceful shutdown. Users who are using the database
server are allowed to finish before the database server comes to quiescent
mode, but no new connections are allowed. When all processing is finished,
-s takes the database server to quiescent mode. The -s option leaves shared
memory intact.
A prompt asks for confirmation. If you want to eliminate this prompt,
execute the -y option with the -s option.
Shutting Down the Database Server Immediately with the -u Option
The -u option causes immediate shutdown. This option brings the database
server to quiescent mode without waiting for users to finish their sessions.
Their current transactions are rolled back, and their sessions are terminated.
A prompt asks for confirmation. Another prompt asks for confirmation to kill
user threads before the database server comes to quiescent mode. If you want
to eliminate these prompts, execute the -y option with the -s option.
3-40
Informix Administrator’s Reference
onmode: Change Mode and Shared Memory
Changing Database Server Mode with ON-Monitor
IDS
UNIX
You can also use ON-Monitor options to change the database server mode.
The following table shows ON-Monitor options that are equivalent to the
onmode options.
onmode Option
ON-Monitor Option
-k
Take-Offline
-m
On-Line
-s
Graceful-Shutdown
-u
Immediate-Shutdown
Force a Checkpoint
Force a
Checkpoint
-c
fuzzy
IDS
block
unblock
Utilities 3-41
onmode: Change Mode and Shared Memory
Element
-c
Purpose
Forces a checkpoint that
flushes the buffers to disk.
block
unblock
fuzzy
3-42
Key Considerations
Additional Information: You can use the -c option to force
a sync checkpoint if the most recent checkpoint record in
the logical log was preventing the logical-log file from being
freed (status U-B-L).
Blocks the database server
Additional Information: While the database server is
from any transactions.
blocked, users can access it in read-only mode. Use this
option to perform an external backup on Dynamic Server.
References: For more information, see the Backup and
Restore Guide.
Unblocks the database server. When the database server is unblocked, data transactions
and normal database server operations can resume. Use
this option after you complete an external backup on
Dynamic Server.
References: For more information, see the Backup and
Restore Guide.
Performs a fuzzy checkpoint. Additional Information: Use the onmode -c fuzzy option
to force a fuzzy checkpoint. Then use the onstat -b
command to check the number of modified (dirty) buffers.
The modified buffers that are still in the buffer cache
contain fuzzy transactions.
References: For more information, see the chapter on
checkpoints and fast recovery in the Administrator’s Guide.
Informix Administrator’s Reference
onmode: Change Mode and Shared Memory
IDS
Change Shared-Memory Residency
Change SharedMemory Residency
-n
-r
Element
-n
-r
Purpose
Ends forced residency of the
resident portion of shared
memory.
Starts forced residency of the
resident portion of shared
memory.
Key Considerations
Additional Information: This command does not affect the
value of RESIDENT, the forced-residency parameter in the
ONCONFIG file.
Additional Information: This command does not affect the
value of RESIDENT, the forced-memory parameter in the
ONCONFIG file.
Important: Set the RESIDENT parameter to 1 before you use the onmode -r or -n
options.
For information on using the forced-residency parameter to turn residency
on or off for the next time that you reinitialize shared memory, see the chapter
on managing shared memory in the Administrator’s Guide.
Switch the Logical-Log File
Switch the LogicalLog File
-l
Utilities 3-43
onmode: Change Mode and Shared Memory
Element
-l
Purpose
Switches the current
logical-log file to the
next logical-log file.
Key Considerations
Additional Information: You must use onmode to switch to the
next logical-log file.
References: For information on switching to the next logical-log
file, see the chapter on managing logical-log files in the Administrator’s Guide.
Kill a Database Server Session
Kill a Database
Server Session
-z sid
Element
-z sid
Purpose
Kills the session that
you specify in sid.
Key Considerations
Restrictions: This value must be an unsigned integer greater than
0 and must be the session identification number of a currently
running session.
To use the -z option, first obtain the session identification (sessid) with
onstat -u, then execute onmode -z, substituting the session identification
number for sid.
When you use onmode -z, the database server attempts to kill the specified
session. If the database server is successful, it frees any resources that the
session holds. If the database server cannot free the resources, it does not kill
the session.
If the session does not exit the section or release the latch, the database server
administrator can take the database server off-line, as described in “Taking
the Database Server to Off-Line Mode with the -k Option” on page 3-40, to
close all sessions.
3-44
Informix Administrator’s Reference
onmode: Change Mode and Shared Memory
IDS
Kill a Distributed Transaction
Kill a Distributed
Transaction
-Z address
Element
-Z address
Purpose
Kills a distributed transaction
associated with the sharedmemory address address.
Key Considerations
Restrictions: This argument must be the address of an
ongoing distributed transaction that has exceeded the
amount of time that TXTIMEOUT specifies. The address
must conform to the operating-system-specific rules for
addressing shared-memory. (The address is available from
onstat -x output.)
Additional Information: This option is not valid until the
amount of time that the ONCONFIG parameter
TXTIMEOUT specifies has been exceeded. The -Z option
should rarely be used and only by an administrator of a
database server involved in distributed transactions.
References: For information on initiating independent
actions in a two-phase commit protocol, see the chapter on
multiphase commit protocols in the Administrator’s Guide.
Distributed transactions provide the ability to query data on different database
servers.
Warning: If applications are performing distributed transactions, killing one of the
distributed transactions can leave your client/server database system in an
inconsistent state. Try to avoid this situation.
Utilities 3-45
onmode: Change Mode and Shared Memory
Set Data-Replication Types
IDS
Set Data-Replication
Types
-d
standard
dbservername
primary
secondary
Element
-d
dbservername
Purpose
Used to set the high-availability
data-replication type, either
standard, primary, or secondary,
as the following sections
describe.
Identifies the database server
name of the primary or
secondary database server.
Key Considerations
Restrictions: You can use the -d primary and -d
secondary options only when the database server is in
quiescent mode. You can use the -d standard option
when the database server is in quiescent, on-line, or
read-only mode.
Restrictions: The dbservername argument must correspond to the DBSERVERNAME parameter in the
ONCONFIG file of the intended secondary database
server. It should not correspond to one of the database
servers that the DBSERVERALIASES parameter
specifies.
Additional Information: The dbservername argument
of the other database server in the data-replication
pair and the type of a database server (standard,
primary, or secondary) is preserved after reinitialization of shared memory.
References: For more information, see range of values
for the DBSERVERNAME configuration parameter on
page 1-38.
Using the -d standard Option
The -d standard option drops the connection between database servers in a
data replication pair (if one exists) and sets the database server type of the
current database server to standard. This option does not change the mode or
type of the other database server in the pair.
3-46
Informix Administrator’s Reference
onmode: Change Mode and Shared Memory
Using the -d primary dbservername Option
The -d primary dbservername option sets the database server type to primary
and attempts to connect with the database server that dbservername specifies.
If the connection is successful, data replication is turned on. The primary
database server goes into on-line mode, and the secondary database server
goes into read-only mode. If the connection is not successful, the database
server comes to on-line mode, but data replication is not turned on.
Using the -d secondary dbservername Option
The -d secondary dbservername option sets the database server type to
secondary and attempts to connect with the database server that dbservername specifies. If the connection is successful, data replication is turned on.
The primary database server goes on-line, and the secondary database server
goes into read-only mode. If the connection is not successful, the database
server comes to read-only mode, but data replication is not turned on.
Utilities 3-47
onmode: Change Mode and Shared Memory
Add a Shared-Memory Segment
Add a SharedMemory Segment
-a
Element
-a seg_size
Purpose
Allows you to add a new virtual
shared-memory segment. Size
is specified in kilobytes.
seg_size
Key Considerations
Restrictions: The value of seg_size must be a positive
integer. It must not exceed the operating-system limit on
the number of shared-memory segments.
Ordinarily, you do not need to add segments to the virtual portion of shared
memory because the database server automatically adds segments as they
are needed. However, as segments are added, the database server might
reach the operating-system limit for the maximum number of segments
before it acquires the memory that it needs. This situation typically occurs
when SHMADD is set so small that the database server exhausts the number
of available segments before it acquires the memory that it needs for some
operation.
If you manually add a segment that is larger than the segment specified by
SHMADD, you can avoid exhausting the operating-system limit for segments
but still meet the need that the database server has for additional memory.
3-48
Informix Administrator’s Reference
onmode: Change Mode and Shared Memory
Add or Remove Virtual Processors
Add or Remove
Virtual Processors
number
-p
AIO
+
SHM
TLI
SOC
XPS
FIF
IDS
+/-
vpclass
IDS
+/-
number
CPU
Utilities 3-49
onmode: Change Mode and Shared Memory
Element
-p number
Purpose
Adds or removes virtual
processors. The number
argument indicates the number
of virtual processors to add or
remove.
Key Considerations
Restrictions: If this value is a negative integer, processors
are removed. If this value is a positive integer, processors
are added. You can use the -p option only when the
database server is in on-line mode, and you can add to
only one class of virtual processors at a time.
You cannot remove a virtual processor of any class, but
you can add virtual processors. (WIN NT)
For Extended Parallel Server, you cannot add or remove a
CPU virtual processor. Although you can add a FIF VP in
on-line mode, you cannot drop it in on-line mode.
vpclass
XPS
Names a user-defined virtual
processor class.
Additional Information: If you are removing virtual
processors, the maximum cannot exceed the actual
number of processors of the specified type. If you are
adding virtual processors, the maximum is less than 64
kilobytes, but Informix recommends that the number of
CPU VPs not be greater than the number of physical
processors.
Additional Information: For Dynamic Server, the userdefined virtual-processor class is defined by the
VPCLASS parameter in the ONCONFIG file.
References: For more information on extension classes,
see “VPCLASS” on page 1-150.
Extended Parallel Server supports adding or dropping all virtual processor
classes except CPU and AIO. ♦
For more information on the types of virtual processors, see the chapter on
virtual processors and threads in the Administrator’s Guide.
3-50
Informix Administrator’s Reference
onmode: Change Mode and Shared Memory
Regenerate .infos or .infxdirs File
Regenerate .infos
or .infxdirs File
-R
XPS
infos
infxdirs
Element
-R
Purpose
Key Considerations
Re-creates the
Restrictions: Before you use the -R option, set the
.infos.dbservername file (IDS). INFORMIXSERVER environment variable to match the
DBSERVERNAME parameter from the ONCONFIG file.
Do not use the -R option if INFORMIXSERVER is one of
the DBSERVERALIAS names.
Additional Information: For more information, see
“.infos.dbservername” on page A-9.
Re-creates the
Additional Information: For more information, see
.infos.dbservername file (XPS). “.infos.dbservername” on page A-9.
Re-creates the file
Additional Information: The .infxdirs file is used in
INFORMIXTMP/.infxdirs
database server discovery. This file contains a line for
and removes invalid directories every INFORMIXDIR from which a database server has
from it.
been launched. For more information, see “.infxdirs” on
page A-10.
The database server uses information from the .infos.dbservername file
when it accesses utilities. The database server creates and manages this file,
and you should never need to do anything to the file. However,
if .infos.dbservername is accidentally deleted, you must either re-create the
file or reinitialize shared memory.
Utilities 3-51
onmode: Change Mode and Shared Memory
Change Decision-Support Parameters
Change DecisionSupport Parameters
-D max_priority
-M kilobytes
-Q queries
IDS
-S scans
Element
-D max_priority
Purpose
Changes the value of
MAX_PDQPRIORITY.
Key Considerations
Restrictions: This value must be an unsigned integer
between 0 and 100.
Additional Information: Specify max_priority as a factor to
temper user requests for PDQ resources.
-M kilobytes
References: For information on parameters used for
controlling PDQ in Dynamic Server, see the chapter on table
fragmentation and PDQ in the Administrator’s Guide,
“MAX_PDQPRIORITY” on page 1-88 and the Performance
Guide.
Changes the value of
Restrictions: This value must be an unsigned integer
DS_TOTAL_MEMORY. between 128 * DS_MAX_QUERIES and 1,048,576.
Additional Information: Specify kilobytes for the maximum
amount of memory available for parallel queries.
References: For more information, see
“DS_TOTAL_MEMORY” on page 1-54 and the Performance
Guide.
(1 of 2)
3-52
Informix Administrator’s Reference
onmode: Change Mode and Shared Memory
Element
-Q queries
Purpose
Changes the value of
DS_MAX_QUERIES.
Key Considerations
Restrictions: This value must be an unsigned integer
between 1 and 8,388,608.
Additional Information: Specify queries for the maximum
number of concurrently executing parallel queries.
-S scans
Changes the value of
DS_MAX_SCANS.
References: For information on parameters used for
controlling PDQ (IDS), see the chapter on table fragmentation and PDQ in the Administrator’s Guide,
“DS_MAX_QUERIES” on page 1-51, and the Performance
Guide.
Restrictions:
This value must be an unsigned integer between 10 and
1,048,576.
Additional Information: Specify scans for the maximum
number of concurrently executing parallel scans.
References: For information on parameters used for
controlling PDQ, see the chapter on table fragmentation and
PDQ in the Administrator’s Guide and “DS_MAX_SCANS”
on page 1-53.
(2 of 2)
These options allow you to change configuration parameters while the
database server is on-line. The new values affect only the current instance of
the database server; the values are not recorded in the ONCONFIG file. If you
reinitialize shared memory, the values of the parameters revert to the values
in the ONCONFIG file. For more information about these configuration
parameters, see Chapter 1, “Configuration Parameters.”
IDS
XPS
To check the current values for the MAX_PDQPRIORITY, DS_TOTAL_MEMORY,
DS_MAX_SCANS, and DS_MAX_QUERIES configuration parameters, use
onstat -g mgm. ♦
To check the current values for the MAX_PDQPRIORITY, DS_TOTAL_MEMORY,
and DS_MAX_QUERIES configuration parameters, use onstat -g rgm. ♦
Utilities 3-53
onmode: Change Mode and Shared Memory
Free Unused Memory Segments
Free Unused
Memory Segments
-F
Element
-F
Purpose
Frees unused memory
segments.
Key Considerations
None.
When you execute onmode -F, the memory manager examines each memory
pool for unused memory. When the memory manager locates 8 kilobytes of
contiguous unused memory, it immediately frees the memory. After the
memory manager checks each memory pool, it begins checking memory
segments and frees any that the database server no longer needs.
Informix recommends that you run onmode -F from an operating-system
scheduling facility regularly and after the database server performs any
function that creates additional memory segments, including large index
builds, sorts, or backups.
Running onmode -F causes a significant degradation of performance for any
users that are active when you execute the utility. Although the execution
time is brief (1 to 2 seconds), degradation for a single-user database server
can reach 100 percent. Systems with multiple CPU virtual processors
experience proportionately less degradation.
To confirm that onmode freed unused memory, check your message log. If
the memory manager frees one or more segments, it displays a message that
indicates how many segments and bytes of memory were freed.
3-54
Informix Administrator’s Reference
onmode: Change Mode and Shared Memory
Override ONDBSPACEDOWN WAIT Mode
Override
ONDBSPACEDOWN
WAIT Mode
-O
Element
-O
Purpose
Overrides the WAIT mode of the ONDBSPACEDOWN configuration parameter.
Key Considerations
None.
Use the onmode -O option only in the following circumstances:
■
ONDBSPACEDOWN is set to WAIT.
■
A disabling I/O error occurs that causes the database server to block
all updating threads.
■
You cannot or do not want to correct the problem that caused the
disabling I/O error.
■
You want the database server to mark the disabled dbspace as down
and continue processing.
When you execute this option, the database server marks the dbspace
responsible for the disabling I/O error as down, completes a checkpoint, and
releases blocked threads. Then onmode prompts you with the following
message:
This will render any dbspaces which have incurred disabling
I/O errors unusable and require them to be restored from an
archive.
Do you wish to continue?(y/n)
If onmode does not find any disabling I/O errors on noncritical dbspaces
when you run the -O option, it notifies you with the following message:
There have been no disabling I/O errors on any noncritical
dbspaces.
Utilities 3-55
onmode: Change Mode and Shared Memory
IDS
Change Usage of the SQL Statement Cache
Change Usage of the SQL
Statement Cache
-e mode
Element
-e mode
Purpose
Changes usage of the SQL
statement cache.
Key Considerations
If mode = ENABLE, the SQL statement cache is enabled, but a
session does not use it unless the session sets the
STMT_CACHE environment variable to 1 or executes the
SET STATEMENT CACHE ON statement.
If mode = ON, the SQL statement cache is enabled, and a
session uses it unless the session sets the STMT_CACHE
environment variable to 0 or executes the SET STATEMENT
CACHE OFF statement.
If mode = OFF, the SQL statement cache is not enabled.
If mode = FLUSH, all statements in the SQL statement cache
are flushed when the database server releases them.
For more information on the SQL statement cache, see the Performance Guide.
3-56
Informix Administrator’s Reference
onparams: Modify Log-Configuration Parameters
onparams: Modify Log-Configuration Parameters
IDS
The onparams flags determine which of the following operations onparams
performs:
■
Change the size or location of the physical log
■
Add a logical-log file
■
Drop a logical-log file
The database server must be in quiescent mode.
On UNIX platforms, you must be logged in as user root or user informix to
execute onparams. On Windows NT, you must be a member of the InformixAdmin group.
To change the size or location of the physical log, you must edit the
ONCONFIG file and restart the database server. For information, see using a
text editor to change the physical-log location and size in the chapter on
managing the physical log in the Administrator’s Guide.
Syntax
onparams
Add a Logical-Log File
p. 3-58
Drop a Logical-Log File
p. 3-59
Change Physical-Log
Parameters
p. 3-60
Any onparams command fails if a storage-space backup is in progress. If you
do not use any options, onparams returns a usage statement.
Utilities 3-57
onparams: Modify Log-Configuration Parameters
Add a Logical-Log File
Add a LogicalLog File
-a -d dbspace
-s size
Element
-a -d dbspace
-s size
Purpose
Adds a logical-log file in
the location specified by
dbspace.
Specifies a size in
kilobytes for the new
logical-log file.
Key Considerations
Additional Information: The space allocated for a logical-log
file must be contiguous. The database server does not allow you
to add a log file to a dbspace without adequate contiguous
space. You cannot add a log file during a backup (quiescent or
on-line). The newly added log files retain a status of A and do
not become available until you create a level-0 backup. If you are
using ON-Bar or ON-Archive, you only need to create a level-0
backup of the root dbspace for the log file to become available.
References: Syntax must conform to the Identifier segment; see
Informix Guide to SQL: Syntax.
Restrictions: This value must be an unsigned integer greater
than or equal to 200 kilobytes.
Additional Information: If you do not specify a size with the -s
option, the size of the log file is taken from the value of the
LOGSIZE parameter in the ONCONFIG file when database
server disk space was initialized.
References: For information on changing LOGSIZE or
LOGFILES, see the chapter on managing logical-log files in the
Administrator’s Guide.
Using the -a option of onparams to add a logical-log file is one of the steps in
the procedure for moving logical-log files to another dbspace. See moving a
logical-log file to another dbspace in the chapter on managing logical-log files
in the Administrator’s Guide.
3-58
Informix Administrator’s Reference
onparams: Modify Log-Configuration Parameters
Drop a Logical-Log File
Drop a LogicalLog File
-d -l logid
-y
Element
-d -l logid
-y
Purpose
Allows you to drop a
logical-log file specified
by logid.
Causes the database
server to automatically
respond yes to all
prompts.
Key Considerations
Restrictions: This value must be an unsigned integer greater
than or equal to 0.
Additional Information: You can obtain the logid from the
number field of onstat -l. The database server requires a
minimum of three logical-log files at all times. You cannot drop a
log file if the database server is configured for three logical-log
files. The database server must be in quiescent mode before you
drop a logical log. Drop log files one at a time. You can only drop
a log file that has a a status of Free (F) or newly Added (A).
After your configuration reflects the desired number of log files,
create a level-0 backup. If you are using ON-Bar or ON-Archive,
you only need to create a level-0 backup of the root dbspace. Use
onstat -l to view the status of your logical-log files.
None.
The onparams command to drop a logical-log file is one of the steps in the
procedure for moving logical-log files to another dbspace. See moving a
logical-log file in the chapter on managing logical-log files in the Administrator’s Guide.
Utilities 3-59
onparams: Modify Log-Configuration Parameters
Change Physical-Log Parameters
Change Physical-Log Parameters
-p
Element
-p
-d dbspace
-s size
-y
3-60
1
-s size
1
-d dbspace
Purpose
Changes the location or size of
the physical log.
Changes the location of the
physical log to the specified
dbspace.
-y
Key Considerations
Additional Information: You can use onparams -p with
-s, -d, or both.
Additional Information: The space allocated for the
physical log must be contiguous.
References: Syntax must conform to the Identifier
segment; see the Informix Guide to SQL: Syntax.
Changes the size (in kilobytes) of Restrictions: This value must be an unsigned integer
the physical log.
greater than or equal to 200 kilobytes.
Causes the database server to
automatically respond yes to all
prompts.
Informix Administrator’s Reference
Additional Information: If you move the log to a dbspace
without adequate contiguous space or increase the log
size beyond the available contiguous space, a fatal sharedmemory error occurs when you attempt to reinitialize
shared memory with the new value.
None.
onparams: Modify Log-Configuration Parameters
After You Change the Physical-Log Size or Location
Changes to the physical log do not take effect until you reinitialize shared
memory. To reinitialize shared memory immediately, execute the onparams
command with the -y option.
Create a level-0 backup immediately after you reinitialize shared memory.
This backup is critical for proper recovery of the database server. If you are
using ON-Bar or ON-Archive, you only need to create a level-0 backup of the
root dbspace.
If you move the log to a dbspace without adequate contiguous space, a fatal
shared-memory error occurs when you attempt to reinitialize shared
memory with the new value.
For information on changing the physical-log location and size, see the
chapter on managing the physical log in the Administrator’s Guide.
Utilities 3-61
onspaces: Manage Storage Spaces
IDS
onspaces: Manage Storage Spaces
You can perform the following tasks with the onspaces utility:
■
Create a dbspace, temporary dbspace, blobspace, or extspace
■
Create an sbspace
■
Drop a dbspace, blobspace, sbspace, or extspace
■
Add a chunk to a dbspace or blobspace
■
Add a chunk to an sbspace
■
Drop a chunk in a dbspace, blobspace, or sbspace
■
Start mirroring
■
End mirroring
■
Change status of a mirrored chunk
■
Specify the DATASKIP parameter
When you perform one of the preceding tasks on a storage space, either with
the onspaces utility or ON-Monitor, the database server updates information
about the space in the oncfg_servername.servernum file.
For more information on the oncfg* file, refer to Appendix A, “Files That the
Database Server Uses.”
On UNIX, you must be logged in as user root or user informix to execute
onspaces. On Windows NT, you must be a member of the Informix-Admin
group.
3-62
Informix Administrator’s Reference
onspaces: Manage Storage Spaces
Syntax
onspaces
Create a Dbspace, Temporary Dbspace, Blobspace, or Extspace,
p. 3-64
Create an Sbspace,
p. 3-68
Drop a Dbspace, Blobspace, Sbspace, or Extspace,
p. 3-74
Add a Chunk to a Dbspace or Blobspace,
p. 3-76
Add a Chunk to an Sbspace,
p. 3-78
Drop a Chunk in a Dbspace, Blobspace, or Sbspace,
p. 3-80
Start Mirroring,
p. 3-82
End Mirroring,
p. 3-84
Change Status of a Mirrored Chunk,
p. 3-85
Specify DATASKIP,
p. 3-87
Utilities 3-63
onspaces: Manage Storage Spaces
Create a Dbspace, Temporary Dbspace, Blobspace, or
Extspace
Create a Dbspace, Temporary Dbspace,
Blobspace, or Extspace
-c
-d dbspace
-p pathname
-t
-b blobspace
WIN NT
-g pageunit
-o offset
-p \\.\drive
-s size
-m pathname offset
WIN NT
-m \\.\drive offset
-x extspace
Element
-b blobspace
Purpose
Names the blobspace to be
created.
-l location
Key Considerations
Restrictions: The blobspace name must be unique
and cannot exceed 128 characters. It must begin
with a letter or underscore and must contain only
letters, numbers, underscores, or the $ character.
References: For more information, see creating a
blobspace in the chapter on managing disk space in
the Administrator’s Guide. The syntax must conform
to the Identifier segment. For more information, see
the Informix Guide to SQL: Syntax.
(1 of 4)
3-64
Informix Administrator’s Reference
onspaces: Manage Storage Spaces
Element
-c
drive
-d dbspace
-g pageunit
-l location
Purpose
Key Considerations
Creates a dbspace, blobspace, or Additional Information: After you create a storage
extspace.
space, you must back it up and also the root
dbspace. If you create a storage space with the same
name as a deleted storage space, perform another
level-0 backup to ensure that future restores do not
confuse the new storage space with the old one.
References: For background information, see
creating a dbspace, blobspace, or extspace in the
chapter on managing disk space in the Administrator’s Guide.
Specifies the Windows NT drive References: For information on allocating unbufto allocate as unbuffered disk
fered disk space on Windows NT platforms, see
space. The format can be either allocating unbuffered disk space on Windows NT in
\\.\<drive>, where drive is the the chapter on managing disk space in the Adminisdrive letter assigned to a disk
trator’s Guide.
partition, or
Examples:
\\.\PhysicalDrive<number>,
\\.\F:
where PhysicalDrive is a
\\.\PhysicalDrive2
constant value and number is the
References:
For pathname syntax, see your
physical drive number.
operating-system documentation.
Names the dbspace to be
Restrictions: The dbspace name must be unique
created.
and cannot exceed 128 characters. It must begin
with a letter or underscore and must contain only
letters, numbers, underscores, or the $ character.
Specifies the blobspace
blobpage size in terms of
page_unit, the number of disk
pages per blobpage.
Specifies the location of the
extspace. The access method
determines the format of this
string.
References: For more information, see creating a
dbspace in the chapter on managing disk space in
the Administrator’s Guide. The syntax must conform
to the Identifier segment. For more information, see
the Informix Guide to SQL: Syntax.
Restrictions: Unsigned integer. Value must be
greater than 0.
References: For more information, see blobpage
size considerations in the chapter on I/O Activity in
the Performance Guide.
Restrictions: String. Value must not be longer than
255 bytes.
References: For background information, see
creating an extspace in the chapter on managing
disk space in the Administrator’s Guide.
(2 of 4)
Utilities 3-65
onspaces: Manage Storage Spaces
Element
-m pathname offset
-o offset
-p pathname
Purpose
Specifies an optional pathname
and offset to the chunk that
mirrors the initial chunk of the
new blobspace or dbspace. Also
see the entries for -p pathname
and -o offset in this table.
Indicates, in kilobytes, the offset
into the disk partition or into the
device to reach the initial chunk
of the new blobspace, dbspace,
or sbspace.
Key Considerations
References: For more information, see creating a
dbspace or a blobspace in the chapter on managing
disk space in the Administrator’s Guide.
Restrictions: Unsigned integer. Value must be
greater than 0. On most platforms, size must not
exceed 2 gigabytes, which is the same as the
maximum chunk size. On some platforms, the
maximum chunk size is 4 gigabytes. To determine
which chunk size your platform supports, refer to
your release notes file.
References: For more information, see allocating
raw disk space in the chapter on managing disk
space in the Administrator’s Guide.
Indicates the disk partition or
Additional Information: The chunk must be an
device of the initial chunk of the existing unbuffered device or buffered file. When
blobspace or dbspace that you you specify a pathname, you can use either a full
are creating.
pathname or a relative pathname. However, if you
use a relative pathname, it must be relative to the
directory that was the current directory when you
initialized the database server.
UNIX example (unbuffered device):
/dev/rdsk/c0t3d0s4
UNIX example (buffered device):
/ix/ids9.2/db1chunk
Windows NT example:
c:\Ifmxdata\ol_icecream\mychunk1.dat
-s size
Indicates, in kilobytes, the size
of the initial chunk of the new
blobspace or dbspace.
References: For pathname syntax, see your
operating-system documentation.
Restrictions: Unsigned integer. Value must be
greater than 0. Size must not exceed 2 gigabytes on
most platforms, but on some platforms the
maximum chunk size is 4 gigabytes. To determine
which chunk size your platform supports, refer to
your machine notes file (UNIX) or release notes file
(Windows NT).
(3 of 4)
3-66
Informix Administrator’s Reference
onspaces: Manage Storage Spaces
Element
-t
Purpose
Creates a temporary dbspace.
-x extspace
Names the extspace to be
created.
Key Considerations
References: For more information, see creating a
temporary dbspace with the -t option and what is a
temporary dbspace in the chapter on managing disk
space in the Administrator’s Guide.
Restrictions: Extspace names can be up to 128
characters. They must be unique, begin with a letter
or underscore, and contain only letters, digits,
underscores, or $ characters.
References: For background information, see what
is an extspace in the chapter on managing disk
space in the Administrator’s Guide.
(4 of 4)
Creating a Temporary Dbspace with the -t Option
When you create a temporary dbspace with onspaces, the database server
does not use the newly created temporary dbspace until you perform the
following steps:
UNIX
■
Add the name of the new temporary dbspace to your list of
temporary dbspaces in the DBSPACETEMP configuration parameter,
the DBSPACETEMP environment variable, or both.
■
Reinitialize the database server.
You can also use ON-Monitor to create a temporary dbspace. ♦
Utilities 3-67
onspaces: Manage Storage Spaces
Create an Sbspace
Create an Sbspace
-c
-S sbspace
-m pathname offset
Element
-S sbspace
-c
-m pathname offset
-Mo mdoffset
-Ms mdsize
-p pathname
-Ms mdsize
Purpose
Names the sbspace to be
created.
-o offset
-Mo mdoffset
-s size
-Df default list
Key Considerations
Restrictions: The sbspace name must be unique,
and must not exceed 128 characters. It must begin
with a letter or underscore and must contain only
letters, numbers, underscores, or the $ character.
References: Syntax must conform to the Identifier
segment; see the Informix Guide to SQL: Syntax.
Creates an sbspace.
References: For more information, see creating an
sbspace in the chapter on managing disk space in
the Administrator’s Guide.
Specifies an optional pathname References: For background information, see
and offset to the chunk that
creating an sbspace in the chapter on managing disk
mirrors the initial chunk of the space in the Administrator’s Guide.
new sbspace. Also see the
entries for -p pathname and -o
offset in this table.
Indicates, in kilobytes, the offset Restrictions: Integer. Value must not be longer than
into the disk partition or into the 255 bytes.
device where metadata will be References: For more information, see sizing
stored.
sbspace metadata in the chapter on managing disk
space in the Administrator’s Guide.
Specifies the size, in kilobytes, Restrictions: Integer. Value must not be longer than
of the metadata area allocated in 255 bytes.
the initial chunk. The remainder References: For more information, see sizing
is user-data space.
sbspace metadata in the chapter on managing disk
space in the Administrator’s Guide.
(1 of 2)
3-68
Informix Administrator’s Reference
onspaces: Manage Storage Spaces
Element
-o offset
-p pathname
-s size
-Df default list
Purpose
Indicates, in kilobytes, the offset
into the disk partition or into the
device to reach the initial chunk
of the sbspace.
Indicates the disk partition or
unbuffered device of the initial
chunk of the sbspace.
Key Considerations
Restrictions: Unsigned integer. Value must be
greater than 0.
References: For more information, see allocating
raw disk space on UNIX in the chapter on managing
disk space in the Administrator’s Guide.
Additional Information: The chunk must be an
existing unbuffered device or buffered file. When
you specify a pathname, you can use either a full
pathname or a relative pathname. However, if you
use a relative pathname, it must be relative to the
directory that was the current directory when you
initialized the database server.
References: For pathname syntax, see your
operating-system documentation.
Restrictions: Unsigned integer. Value must be
greater than 0. Size must not exceed 2 gigabytes.
Indicates, in kilobytes, the size
of the initial chunk of the new
sbspace.
Lists default specifications for
Restrictions: Tags are separated by commas. If a tag
smart large objects stored in the is not present, system defaults take precedence. The
sbspace.
list must be enclosed in double quotation marks (“)
on the command line.
References: For a list of tags and their parameters,
see Figure 3-2 on page 3-70.
(2 of 2)
The onspaces -g option is not used for sbspaces. The database server uses a
different method to determine the number of pages to transfer in an I/O
operation for sbspaces than for blobspaces. The database server can automatically determine the block size to transfer in an I/O operation for smart large
objects. For more information, see sbspace extent sizes in the chapter on I/O
activity in your Performance Guide.
Creating an Sbspace with the -Df option
When you create an sbspace with the -Df option, you can specify several
default specifications that affect the behavior of the smart large objects stored
in the sbspace. The default specifications must be expressed as a list
separated by commas. The list need not contain all of the tags, and -Df is
optional. The list of tags must be enclosed in double quotation marks (“). The
table in Figure 3-2 describes the tags and their default values.
Utilities 3-69
onspaces: Manage Storage Spaces
The four levels of inheritance for sbspace characteristics are system, sbspace,
column, and smart large objects. For more information, see smart large
objects in the chapter on where data is stored in the Administrator’s Guide.
Figure 3-2
-Df Default Specifications
Tag
ACCESSTIME
AVG_LO_SIZE
Values
ON or OFF
For Windows NT:
4 to 2**31
System
Default
OFF
Description
When set to ON, the database server tracks the time of
access to all smart large objects stored in the sbspace.
8
References: For information about using the access time,
see the chapter on smart large objects in the DataBlade API
Programmer’s Manual.
Specifies the average size, in kilobytes, of the smart large
object stored in the sbspace. The database server uses this
value to calculate the size of the metadata area to allocate
when the -Ms option is not specified.
For UNIX:
2 to 2**31
Error 131 is returned if you run out of metadata area in
the sbspace. To allocate additional chunks to the sbspace
that consist of metadata area only, use the -Ms option.
BUFFERING
LOCK_MODE
ON or OFF
RANGE or BLOB
ON
BLOB
References: For more information, see creating smart
large objects in the chapter on managing data on disk in
the Administrator’s Guide.
Specifies the buffering mode of smart large objects stored
in the sbspace. If set to ON, the database server uses the
buffer pool in the resident portion of shared memory for
smart-large-object I/O operations. If set to OFF, the
database server uses light I/O buffers in the virtual
portion of shared memory (lightweight I/O operations).
References: For more information, see lightweight I/O in
the chapter on configuration effects on memory in the
Performance Guide.
Specifies the locking mode of smart large objects stored in
the sbspace. If set to RANGE, only a range of bytes in the
smart large object is locked. If set to BLOB, the entire smart
large object is locked.
References: For more information, see smart large objects
in the chapter on locking in the Performance Guide.
(1 of 2)
3-70
Informix Administrator’s Reference
onspaces: Manage Storage Spaces
Tag
LOGGING
Values
ON or OFF
System
Default
OFF
Description
Specifies the logging status of smart large objects stored
in the sbspace. If set to ON, the database server logs
changes to the user data area of the sbspace.
When you turn on logging for an sbspace, take a level-0
backup of the sbspace.
EXTENT_SIZE
4 to 2**31
16
References: For more information, see smart large objects
in the chapters on where data is stored and logging in the
Administrator’s Guide.
Specifies the size, in kilobytes, of the first allocation of
disk space for smart large objects stored in the sbspace
when you create the table.
Let the system select the EXTENT_SIZE value. To reduce
the number of extents in a smart large object, use
mi_lo_specset_estbytes (DataBlade API) or
ifx_lo_specset_estbytes (ESQL/C) to obtain the size of
the smart large object.
MIN_EXT_SIZE 2 to 2**31
NEXT_SIZE
4 to 2**31
4
16
References: For more information, see smart large objects
in the chapter on where data is stored in the Administrator’s Guide. For information about obtaining the size of
smart large objects, see the DataBlade API Programmer’s
Manual or the Informix ESQL/C Programmer’s Manual.
Specifies the minimum amount of space, in kilobytes, to
allocate for each smart large object.
References: For information about tuning this value, see
smart large objects in the chapter on configuration effects
on I/O utilization in the Performance Guide.
Specifies the extent size, in kilobytes, of the next
allocation of disk space for smart large objects when the
initial extent in the sbspace becomes full.
Let the system select the NEXT_SIZE value. To reduce the
number of extents in a smart large object, use
mi_lo_specset_estbytes (DataBlade API) or
ifx_lo_specset_estbytes (ESQL/C) to obtain the size of
the smart large object.
References: For more information, see smart large objects
in the chapter on where data is stored in the Administrator’s Guide. For information about obtaining the size of
smart large objects, see the DataBlade API Programmer’s
Manual or the Informix ESQL/C Programmer’s Manual.
(2 of 2)
Utilities 3-71
onspaces: Manage Storage Spaces
For example, you can create an sbspace with onspaces, as the following
example illustrates.
% onspaces -c -S eg_sbsp -p /dev/raw_dev1 -o 500 -s 20000
-m /dev/raw_dev2 500 -Ms 150 -Mo 200 -Df "AVG_LO_SIZE=32,LOGGING=ON"
UNIX
♦
This example creates a 20-megabyte mirrored sbspace, eg_sblobsp, with the
following specifications:
■
An offset of 500 kilobytes for the primary and mirrored chunks
■
A metadata size of 150 kilobytes with a 200 kilobyte offset
■
An average expected smart-large-object size of 32 kilobytes
■
Log changes to the smart large objects in the user data area of the
sbspace
As the database server administrator, you can override or change the -Df
default settings in one of the following ways:
■
To change the default settings for an sbspace, use the onspaces -ch
option. For more information, refer to “Change Sbspace Default
Specifications” on page 3-73.
■
To override the following -Df default settings for a specific table, use
the SQL statements CREATE TABLE or ALTER TABLE:
❑
LOGGING
❑
ACCESSTIME
❑
EXTENT_SIZE
❑
NEXT_SIZE
For more information on the ALTER TABLE and CREATE TABLE statements, see the Informix Guide to SQL: Syntax.
The programmer can override these -Df default settings with functions that
the DataBlade API and ESQL/C programming interface provide. For more
information on the DataBlade API functions for smart large objects, refer to
the DataBlade API Programmer’s Manual. For more information on the ESQL/C
functions for smart large objects, refer to the Informix ESQL/C Programmer’s
Manual.
Important: When you are adding a chunk to an existing sbspace, the -Df option is
ignored.
3-72
Informix Administrator’s Reference
onspaces: Manage Storage Spaces
Change Sbspace Default Specifications
Change Sbspace Default Specifications
-ch
Element
-ch
sbspace
-Df default list
sbspace
Purpose
Indicates that one or more
sbspace default specifications
are to be changed.
Names the sbspace for which to
change the default
specifications.
-Df default list
Key Considerations
None.
References: Syntax must conform to the Identifier
segment; see the Informix Guide to SQL: Syntax. For
background information, see changing default
specifications of an sbspace with onspaces in the
Performance Guide.
Lists new default specifications Restrictions: Tags are separated by commas. If a tag
for smart large objects stored in is not present, system defaults take precedence. The
the sbspace.
list must be enclosed in double quotation marks (“)
on the command line.
References: For a list of tags and their parameters,
see Figure 3-2 on page 3-70.
You can change any of the -Df tags with the onspaces -ch option. The
database server applies the change to each smart large object that was created
prior to changing the default specification.
For example, to turn off logging for the sbspace that you created on page
3-72, use the following command:
onspaces -ch eg_sbsp -Df "LOGGING=OFF"
Important: After you turn on logging for an sbspace, take a level-0 backup of the
sbspace to create a point from which to recover.
Utilities 3-73
onspaces: Manage Storage Spaces
Drop a Dbspace, Blobspace, Sbspace, or Extspace
Drop a Dbspace, Blobspace, Sbspace, or Extspace
dbspace
-d
-y
blobspace
sbspace
-f
extspace
Element
-d
Purpose
Indicates that a dbspace,
blobspace, sbspace, or
extspace is to be dropped.
Key Considerations
Additional Information: You can drop a dbspace,
blobspace, sbspace, or extspace while the database server is
on-line or in quiescent mode. After you drop a storage
space, you must back it up to ensure that the sysutils
database and the reserved pages are up-to-date.
Restriction: Execute oncheck -pe to verify that no table is
currently storing data in the dbspace, blobspace, or sbspace.
-y
-f
References: For more information, see dropping a storage
space in the chapter on managing disk space in the Administrator’s Guide.
Causes the database server to None.
automatically respond yes to
all prompts.
Drops an sbspace that conAdditional Information: You must use the -f (force) option
tains user data and metadata. to drop an sbspace that contains data.
Restriction: Use the -f option with sbspaces only.
Warning: If you use the -f option, the tables in the database
server might have dead pointers to the smart large objects
that were deleted with this option.
References: For more information, see dropping a chunk
from an sbspace with onspaces in the chapter on managing
disk space in the Administrator’s Guide.
(1 of 2)
3-74
Informix Administrator’s Reference
onspaces: Manage Storage Spaces
Element
blobspace
Purpose
Names the blobspace to be
dropped.
dbspace
Names the dbspace to be
dropped.
extspace
Names the extspace to be
dropped.
Names the sbspace to be
dropped.
sbspace
Key Considerations
Additional Information: Before you drop a blobspace,
drop all tables that include a TEXT or BYTE column that
references the blobspace.
Additional Information: Before you drop a dbspace, drop
all databases and tables that you previously created in the
dbspace.
Additional Information: You cannot drop an extspace if it
is associated with an existing table or index.
Additional Information: Before you drop an sbspace, drop
all tables that include a BLOB or CLOB column that references the sbspace.
(2 of 2)
Important: Do not specify a pathname when you drop these storage spaces.
Utilities 3-75
onspaces: Manage Storage Spaces
Add a Chunk to a Dbspace or Blobspace
Add a Chunk to a Dbspace or Blobspace
dbspace
-a
-p pathname
WIN NT
blobspace
-o offset
-p \\.\drive
-s size
-m pathname offset
WIN NT
-m \\.\drive offset
Element
-a
drive
-m pathname
offset
Purpose
Indicates that a chunk is to be
added.
Specifies the Windows NT drive
to allocate as unbuffered disk
space. The format can be either
\\.\<drive>, where drive is the
drive letter assigned to a disk
partition, or
\\.\PhysicalDrive<number>,
where PhysicalDrive is a
constant value and number is the
physical drive number.
Specifies an optional pathname
and offset to the chunk that
mirrors the new chunk. Also see
the entries for pathname and
offset in this table.
Key Considerations
None.
References: For more information on allocating unbuffered disk space on Windows NT, see allocating raw disk
space on Windows NT in the chapter on managing disk
space in the Administrator’s Guide.
Example:
\\.\F:
References: For pathname syntax, see your operatingsystem documentation.
References: For more information, see adding a chunk to
a dbspace and adding a chunk to a blobspace in the
chapter on managing disk space in the Administrator’s
Guide.
(1 of 2)
3-76
Informix Administrator’s Reference
onspaces: Manage Storage Spaces
Element
-o offset
-p pathname
Purpose
After the -a option, offset
indicates, in kilobytes, the offset
into the disk partition or into the
device to reach the initial chunk
of the new blobspace or
dbspace.
Indicates the disk partition or
unbuffered device of the initial
chunk of the blobspace or
dbspace that you are adding.
The chunk must be an existing
unbuffered device or buffered
file.
Key Considerations
Restrictions: Unsigned integer. Value must be greater
than 0.
References: Syntax must conform to the Identifier
segment; see the Informix Guide to SQL: Syntax. For more
information, see allocating raw disk space on UNIX in the
chapter on managing disk space in the Administrator’s
Guide.
Additional Information: The chunk name can be up to
128 characters. When you specify a pathname, you can
use either a full pathname or a relative pathname.
However, if you use a relative pathname, it must be
relative to the directory that was the current directory
when you initialized the database server.
UNIX example (unbuffered device):
/dev/rdsk/c0t3d0s4
UNIX example (buffered device):
/ix/ids9.2/db1chunk
Windows NT example:
c:\Ifmxdata\ol_icecream\mychunk1.dat
-s size
blobspace
dbspace
Indicates, in kilobytes, the size
of the initial chunk of the new
blobspace or dbspace.
Names the blobspace to which
you are adding a chunk.
Names the dbspace to which
you are adding a chunk.
References: For pathname syntax, see your operatingsystem documentation.
Restrictions: Unsigned integer. Value must be greater
than 0. Size must not exceed 2 gigabytes.
Restrictions: See adding a chunk to a blobspace in the
chapter on managing disk space in the Administrator’s
Guide.
References: Syntax must conform to the Identifier
segment; see the Informix Guide to SQL: Syntax.
Restrictions: See adding a chunk to a dbspace in the
chapter on managing disk space in the Administrator’s
Guide.
References: Syntax must conform to the Identifier
segment; see the Informix Guide to SQL: Syntax.
(2 of 2)
Utilities 3-77
onspaces: Manage Storage Spaces
Add a Chunk to an Sbspace
Add a Chunk to an Sbspace
-a
sbspace
-p pathname
-o offset
-s size
-m pathname offset
-Ms mdsize
Element
-a
-m pathname offset
-Mo mdoffset
-Ms mdsize
-o offset
-Mo mdoffset
Purpose
Indicates that a chunk is to be
added.
Specifies an optional pathname
and offset to the chunk that
mirrors the new chunk. Also see
the entries for pathname and
offset in this table.
Indicates, in kilobytes, the offset
into the disk partition or into the
device where metadata should
be stored.
-U
Key Considerations
None.
References: For background information, see
adding a chunk to an sbspace in the chapter on
managing disk space in the Administrator’s Guide.
Restrictions: String not longer than 255 bytes.
References: For background information, see sizing
sbspace metadata in the chapter on managing disk
space in the Administrator’s Guide.
Restrictions: String not longer than 255 bytes.
Specifies the size, in kilobytes,
of the metadata area allocated in References: For background information, see sizing
the initial chunk. The remainder sbspace metadata in the chapter on managing disk
is user-data space.
space in the Administrator’s Guide.
After the -a option, offset
Restrictions: Unsigned integer. Value must be
indicates, in kilobytes, the offset greater than 0.
into the disk partition or into the References: Syntax must conform to the Identifier
unbuffered device to reach the segment; see Informix Guide to SQL: Syntax. For
initial chunk of the new
background information, see allocating raw disk
blobspace or dbspace.
space on UNIX in the chapter on managing disk
space in the Administrator’s Guide.
(1 of 2)
3-78
Informix Administrator’s Reference
onspaces: Manage Storage Spaces
Element
-p pathname
Purpose
Indicates the disk partition or
unbuffered device of the initial
chunk of the sbspace that you
are creating. The chunk must be
an existing unbuffered device or
buffered file.
-U
Specifies that the entire chunk
should be used to store user
data.
-s size
Indicates, in kilobytes, the size
of the initial chunk of the new
blobspace or dbspace.
Names the sbspace to which
you are adding a chunk.
sbspace
Key Considerations
Additional Information: The chunk name can be
up to 128 characters. When you specify a pathname,
you can use either a full pathname or a relative
pathname. However, if you use a relative pathname,
it must be relative to the directory that was the
current directory when you initialized the database
server.
References: For pathname syntax, see your
operating-system documentation.
Restrictions: The -M and -U options are mutually
exclusive.
References: For background information, see
adding a chunk to an sbspace in the chapter on
managing disk space in the Administrator’s Guide.
Restrictions: Unsigned integer. Value must be
greater than 0. Size must not exceed 2 gigabytes.
Restrictions: See adding a chunk to an sbspace in
the chapter on managing disk space in the Administrator’s Guide.
References: Syntax must conform to the Identifier
segment; see the Informix Guide to SQL: Syntax.
(2 of 2)
Utilities 3-79
onspaces: Manage Storage Spaces
Drop a Chunk in a Dbspace, Blobspace, or Sbspace
Drop a Chunk
dbspace
-d
-p pathname -o offset
-y
blobspace
sbspace
-f
Element
-d
Purpose
Drops a chunk.
Key Considerations
Restrictions: You can drop a chunk from a dbspace or
temporary dbspace when the database server is on-line or
quiescent. For more information, see the chapter on
managing disk space in the Administrator’s Guide.
You can drop a chunk from a blobspace or sbspace only
when the database server is in quiescent mode.
Drops an sbspace chunk that
Restrictions: Use the -f option with sbspaces only. If you
contains user data but no meta- omit the -f option, you cannot drop an sbspace that
data. If the chunk contains
contains data.
metadata for the sbspace, you
References: For more information, see dropping a chunk
must drop the entire sbspace.
from an sbspace with onspaces in the chapter on
-f
-o offset
-p pathname
Indicates, in kilobytes, the offset
into the disk partition or into the
unbuffered device to reach the
initial chunk of the dbspace,
blobspace, or sbspace that you
are dropping.
Indicates the disk partition or
unbuffered device of the initial
chunk of the dbspace,
blobspace, or sbspace that you
are dropping.
managing disk space in the Administrator’s Guide.
Restrictions: Unsigned integer. Value must be greater
than or equal to 0.
References: For more information, see allocating raw disk
space on UNIX in the chapter on managing disk space in
the Administrator’s Guide.
Additional Information: The chunk must be an existing
unbuffered device or buffered file. When you specify a
pathname, you can use either a full pathname or a relative
pathname. However, if you use a relative pathname, it
must be relative to the directory that was the current
directory when you initialized the database server.
References: For pathname syntax, see your operatingsystem documentation.
(1 of 2)
3-80
Informix Administrator’s Reference
onspaces: Manage Storage Spaces
Element
-y
blobspace
dbspace
sbspace
Purpose
Causes the database server to
automatically respond yes to all
prompts.
Names the blobspace from
which the chunk is dropped.
Key Considerations
None.
References: Syntax must conform to the Identifier
segment; see the Informix Guide to SQL: Syntax. For more
information, see dropping a chunk from a blobspace in
the chapter on managing disk space in the Administrator’s
Guide.
Names the dbspace from which References: Syntax must conform to the Identifier
the chunk is dropped.
segment; see the Informix Guide to SQL: Syntax. For more
information, see dropping a chunk from a dbspace with
onspaces in the chapter on managing disk space in the
Administrator’s Guide.
Names the sbspace from which References: Syntax must conform to the Identifier
the chunk is dropped.
segment; see the Informix Guide to SQL: Syntax. For
background information, see dropping a chunk from a
dbspace with onspaces in the chapter on managing disk
space in the Administrator’s Guide.
(2 of 2)
Important: You must specify a pathname to indicate to the database server that you
are dropping a chunk.
Utilities 3-81
onspaces: Manage Storage Spaces
Start Mirroring
Start Mirroring
-m
dbspace
-p pathname
blobspace
-o offset
-m pathname offset
-f filename
-y
sbspace
Element
-f filename
-m
-m pathname offset
Purpose
Indicates that chunk-location
information is in a file named
filename.
Key Considerations
Additional Information: The file must be a buffered
file that already exists. The pathname must conform
to the operating-system-specific rules for
pathnames.
References: For more information, see “Using a File
to Specify Chunk-Location Information with the
-f Option” on page 3-84.
Adds mirroring for an existing Additional Information: User-data chunks in a
dbspace, blobspace, or sbspace. mirrored sbspace need not be mirrored.
The second time that pathname None.
occurs in the syntax diagram, it
indicates the disk partition or
unbuffered device of the initial
chunk of the dbspace,
blobspace, or sbspace that
performs the mirroring. The
second time offset appears in the
syntax diagram, it indicates the
offset to reach the mirrored
chunk of the newly mirrored
dbspace, blobspace, or sbspace.
Also see the entries for pathname
and offset in this table.
(1 of 2)
3-82
Informix Administrator’s Reference
onspaces: Manage Storage Spaces
Element
-o offset
-p pathname
-y
blobspace
dbspace
sbspace
Purpose
The first time that offset occurs
in the syntax diagram, it
indicates, in kilobytes, the offset
into the disk partition or into the
unbuffered device to reach the
initial chunk of the newly
mirrored dbspace, blobspace, or
sbspace.
The first time pathname occurs in
the syntax diagram, it indicates
the disk partition or unbuffered
device of the initial chunk of the
dbspace, blobspace, or sbspace
that you want to mirror.
Key Considerations
Restrictions: Unsigned integer. Value must be
greater than 0.
References: For background information, see
allocating raw disk space on UNIX in the chapter on
managing disk space in the Administrator’s Guide.
Additional Information: The chunk must be an
existing unbuffered device or buffered file. When
you specify a pathname, you can use either a full
pathname or a relative pathname. However, if you
use a relative pathname, it must be relative to the
directory that was the current directory when you
initialized the database server.
References: For pathname syntax, see your
operating-system documentation.
None.
Causes the database server to
automatically respond yes to all
prompts.
Names the blobspace that you References: Syntax must conform to the Identifier
want to mirror.
segment; see Informix Guide to SQL: Syntax. For more
information, see the chapter on using mirroring in
the Administrator’s Guide.
Names the dbspace that you
References: Syntax must conform to the Identifier
want to mirror.
segment; see Informix Guide to SQL: Syntax. For
background information, see the chapter on using
mirroring in the Administrator’s Guide.
Names the sbspace that you
References: Syntax must conform to the Identifier
want to mirror.
segment; see Informix Guide to SQL: Syntax. For
background information, see the chapter on using
mirroring in the Administrator’s Guide.
(2 of 2)
Utilities 3-83
onspaces: Manage Storage Spaces
Using a File to Specify Chunk-Location Information with the -f Option
You can create a file that contains the chunk-location information. Then,
when you execute onspaces, use the -f option to indicate to the database
server that this information is in a file whose name you specify in filename.
If the dbspace that you are mirroring contains multiple chunks, you must
specify a mirrored chunk for each of the primary chunks in the dbspace that
you want to mirror. For an example that enables mirroring for a multichunk
dbspace, see starting mirroring for unmirrored dbspaces with onspaces in
the chapter on using mirroring in the Administrator’s Guide.
End Mirroring
End Mirroring
-r
dbspace
blobspace
-y
sbspace
Element
-r
-y
3-84
Purpose
Indicates to the database server
that mirroring should be ended
for an existing dbspace,
blobspace, or sbspace.
Causes the database server to
respond yes to all prompts
automatically.
Informix Administrator’s Reference
Key Considerations
References: For background information, see the chapter
on using mirroring in the Administrator’s Guide.
None.
onspaces: Manage Storage Spaces
Element
blobspace
Purpose
Names the blobspace for which
you want to end mirroring.
dbspace
Names the dbspace for which
you want to end mirroring.
sbspace
Names the sbspace for which
you want to end mirroring.
Key Considerations
References: Syntax must conform to the Identifier
segment; see the Informix Guide to SQL: Syntax. For more
information, see the chapter on using mirroring in the
Administrator’s Guide.
References: Syntax must conform to the Identifier
segment; see the Informix Guide to SQL: Syntax. For more
information, see the chapter on using mirroring in the
Administrator’s Guide.
References: Syntax must conform to the Identifier
segment; see the Informix Guide to SQL: Syntax. For
background information, see the chapter on using
mirroring in the Administrator’s Guide.
Change Status of a Mirrored Chunk
Change Chunk Status
-s
dbspace
-p pathname
-o offset
-D
-O
blobspace
-y
sbspace
Element
-D
-o offset
-O
Purpose
Indicates that you want to take
the chunk down.
Indicates, in kilobytes, the offset
into the disk partition or unbuffered device to reach the chunk.
Indicates that you want to
restore the chunk and bring it
on-line.
Key Considerations
None.
Restrictions: Unsigned integer. Value must be greater
than or equal to 0.
References: For more information, see allocating raw
disk space on UNIX in the chapter on managing disk
space in the Administrator’s Guide.
None.
(1 of 2)
Utilities 3-85
onspaces: Manage Storage Spaces
Element
-p pathname
Purpose
Key Considerations
Indicates the disk partition or
Additional Information: The chunk can be an unbufunbuffered device of the chunk. fered device or a buffered file. When you specify a
pathname, you can use either a full pathname or a
relative pathname. However, if you use a relative
pathname, it must be relative to the directory that was
the current directory when you initialized the database
server.
Indicates that you want to
change the status of a chunk.
-s
-y
blobspace
Causes the database server to
respond yes to all prompts
automatically.
Names the blobspace whose
status you want to change.
dbspace
Names the dbspace whose
status you want to change.
sbspace
Names the sbspace whose
status you want to change.
References: For pathname syntax, see your operatingsystem documentation.
Restrictions: You can only change the status of a chunk
in a mirrored pair.
References: For more information, see changing the
mirror status in the Administrator’s Guide.
None.
References: Syntax must conform to the Identifier
segment; see the Informix Guide to SQL: Syntax. For more
information, see changing the mirror status in the Administrator’s Guide.
References: Syntax must conform to the Identifier
segment; see the Informix Guide to SQL: Syntax. For more
information, see changing the mirror status in the Administrator’s Guide.
References: Syntax must conform to the Identifier
segment; see the Informix Guide to SQL: Syntax. For
background information, see changing the mirror status
in the Administrator’s Guide.
(2 of 2)
3-86
Informix Administrator’s Reference
onspaces: Manage Storage Spaces
Specify DATASKIP Parameter
Specify DATASKIP
-f
OFF
dbspace-list
ON
Element
-f
OFF
Purpose
Indicates to the database
server that you want to
change the DATASKIP
default for specified
dbspaces or all dbspaces.
Causes the database server
to automatically respond
yes to all prompts.
Specifies the name of one or
more dbspaces for which
DATASKIP will be turned
ON or OFF.
Turns off DATASKIP.
ON
Turns on DATASKIP.
-y
dbspace-list
-y
Key Considerations
Additional Information: All changes in the DATASKIP
status are recorded in the message log.
None.
References: Syntax must conform to the Identifier segment;
see the Informix Guide to SQL: Syntax. For more information,
see “DATASKIP” on page 1-35 and the Performance Guide.
Additional Information: If you use OFF without dbspace-list,
DATASKIP is turned off for all fragments. If you use OFF
with dbspace-list, only the specified fragments are set with
DATASKIP off.
Additional Information: If you use ON without dbspace-list,
DATASKIP is turned on for all fragments. If you use ON with
dbspace-list, only the specified fragments are set with
DATASKIP on.
The onspaces utility lets you specify DATASKIP on a dbspace level or across
all dbspaces.
Utilities 3-87
onstat: Monitor Database Server Operation
onstat: Monitor Database Server Operation
The onstat utility reads shared-memory structures and provides statistics
about the database server that are accurate at the instant that the command
executes. The system-monitoring interface also provides information about the
database server. For information on the system-monitoring interface, see
Chapter 2, “The sysmaster Database.”
The contents of shared memory might change as the onstat output displays.
The onstat utility does not place any locks on shared memory, so running the
utility does not affect performance.
3-88
Informix Administrator’s Reference
onstat: Monitor Database Server Operation
Syntax
onstat
filename_source
1
1
1
1
-a
-b
-B
-c
1
1
1
1
1
1
1
1
1
-C
-d
-D
-f
-F
-g
-h
-i
-j
1
1
1
1
1
1
1
1
-k
-K
-l
-m
-O
-p
-P
-r
1
1
1
1
1
1
1
1
-R
-s
filename_dest
IDS
seconds
--
-t
-u
-x
-X
-z
-o
filename_dest
Utilities 3-89
onstat: Monitor Database Server Operation
Element
--
-a
-b
-B
-c
Purpose
Key Considerations
Displays a listing of all onstat options Additional Information: This option is the only
and their functions.
option flag that you cannot combine with any
other flag.
References: See “The onstat -- Option” on
page 3-95.
Interpreted as onstat -cuskbtdlp.
References: See “The onstat -a Option” on
Displays output in that order.
page 3-95.
Displays information about buffers References: See “The onstat -b Option” on
currently in use, including number of page 3-95.
resident pages in the buffer pool.
Obtains information about all
Additional Information: The -B output display
database server buffers, not just
fields are the same as the fields that appear in
buffers currently in use. See the entry the -b output.
for -b in this table.
Displays the ONCONFIG file:
References: See “The onstat -c Option” on
page 3-98.
■ $INFORMIXDIR/etc/
$ONCONFIG for UNIX
%INFORMIXDIR%\etc\
%ONCONFIG% for Windows NT
Prints B-tree cleaner information.
Displays information for chunks in
each storage space.
Displays page-read and page-write
information for the first 50 chunks in
each dbspace.
Lists the dbspaces currently affected
by the DATASKIP feature.
Displays a count for each type of
write that flushes pages to disk.
Provides monitoring options.
■
-C
-d
-D
-f
-F
-g
-h
-i
-k
-K
None.
References: See “The onstat -d Option” on
page 3-98.
References: See “The onstat -D Option” on
page 3-102.
References: See “The onstat -f Option” on
page 3-103.
References: See “The onstat -F Option” on
page 3-103.
References: See “The onstat -g Monitoring
Options” on page 3-104.
Prints information about buffer hash None.
chain.
Puts the onstat utility into interactive References: See “The onstat -i Option” on
mode.
page 3-110.
Displays information about active
References: See “The onstat -k Option” on
locks.
page 3-111.
Displays information about byteReferences: See “The onstat -K Option” on
range locks.
page 3-112.
(1 of 3)
3-90
Informix Administrator’s Reference
onstat: Monitor Database Server Operation
Element
-l
-m
Purpose
Displays information about physical
and logical logs, including page
addresses.
Displays the 20 most recent lines of
the database server message log.
-o
Saves a copy of the shared-memory
segment to filename.
-O
Displays information about the
Optical Subsystem memory cache
and staging-area blobspace (IDS).
Displays profile counts.
-p
-P
-r
-R
-s
-t
-u
Key Considerations
References: See “The onstat -l Option” on
page 3-113.
Additional Information: Output from this option
lists the full pathname of the message-log file and
the 20 file entries. A date-and-time header
separates the entries for each day. A time stamp
prefaces single entries within each day. The name
of the message log is specified as MSGPATH in
the ONCONFIG file.
References: See “The onstat -m Option” on
page 3-114.
Additional Information: If you omit a filename
in the onstat command, the copy of shared
memory is saved to onstat.out in the current
directory.
References: See “The onstat -O Option” on
page 3-115.
References: See “The onstat -p Option” on
page 3-117.
Displays for all partitions the
References: See “The onstat -P Option” on
partition number and the break-up of page 3-120.
the buffer-pool pages that belong to
the partition.
Repeats the accompanying onstat
Additional Information: To end execution, press
options after they wait the specified DEL or CTRL-C.
seconds between each execution. The
default value of seconds is 5.
Displays detailed information about References: See “The onstat -R Option” on
the LRU queues, FLRU queues, and page 3-121.
MLRU queues.
Displays general latch information. References: See “The onstat -s Option” on
page 3-123.
Displays tblspace information,
References: See “The onstat -t Option” on
including residency state, for active page 3-125.
tblspaces.
Prints a profile of user activity.
References: See “The onstat -u Option” on
page 3-126.
(2 of 3)
Utilities 3-91
onstat: Monitor Database Server Operation
Element
-x
Purpose
Displays information about
transactions.
Obtains precise information about
the threads that are sharing and
waiting for buffers.
Sets the profile counts to 0.
-X
-z
filename_dest
filename_source
seconds
Key Considerations
References: See “The onstat -x Option” on
page 3-129.
References: See “The onstat -X Option” on
page 3-131.
References: See “The onstat -z Option” on
page 3-131.
Specifies destination file for the copy Restrictions: Name must not match the name of
of the shared-memory segment.
any existing file.
Specifies file that onstat reads
as source for the requested
information.
References: For pathname syntax, see your
operating-system documentation.
Restrictions: This file must include a previously
stored shared-memory segment that you created
with the -o option of onstat.
References: For specific details on this option,
see “Statistics Culled from Source File.” For
pathname syntax, see your operating-system
documentation.
Specifies number of seconds between Restrictions: This value must be an unsigned
each execution of the onstat -r
integer greater than 0.
command.
(3 of 3)
Statistics Culled from Source File
Use the filename_source parameter with other option flags to derive the
requested onstat statistics from the shared-memory segment that
filename_source contains. You must first use the onstat -o command to create
a file that contains a shared-memory segment.
Interactive Execution
To put the onstat utility in interactive mode, use the -i option. Interactive
mode allows you to enter multiple options, one after the other, without
exiting the program. For information on using interactive mode, see “The
onstat -i Option” on page 3-110.
3-92
Informix Administrator’s Reference
onstat: Monitor Database Server Operation
Continuous onstat Execution
Use the seconds parameter with the -r option flag to cause all other flags to
execute repeatedly after they wait the specified seconds between each
execution.
Output Header
All onstat output includes a header. The header takes the following form:
Version--Mode (Type)--(Checkpnt)--Up Uptime--Sh_mem Kbytes
Version
is the product name and version number.
Mode
is the current operating mode.
(Type)
is the data-replication type of the database server. If the
database server is not involved in data replication, this field
does not appear. If the type is primary, the value P appears. If
the type is secondary, the value S appears. (IDS)
This field does not appear. (XPS)
(Checkpnt)
is a checkpoint flag. If it is set, the header might display two
other fields after the mode if the timing is appropriate:
(CKPT REQ)
indicates that a user thread has requested a
checkpoint.
(CKPT INP)
indicates that a checkpoint is in progress.
During the checkpoint, access is limited to read
only. The database server cannot write or
update data until the checkpoint ends.
Uptime
indicates how long the database server has been running.
Sh_mem
is the size of database server shared memory, expressed in
kilobytes.
Utilities 3-93
onstat: Monitor Database Server Operation
IDS
A sample header for Dynamic Server follows:
Dynamic Server Version 9.20.UC1--On-Line--Up 15:11:41--9216 Kbytes
♦
XPS
Extended Parallel Server displays a similar header. ♦
Logs Full Subheader
If the database server is blocked, the onstat header output includes an extra
line that reads as follows:
Blocked: reason(s)
The reason can be one or more of the following.
3-94
Reason
Explanation
CKPT
Checkpoint
LONGTX
Long transaction
ARCHIVE
Ongoing storage-space backup
MEDIA_FAILURE
Media failure
HANG_SYSTEM
Database server failure
DBS_DROP
Dropping a dbspace
DDR
Discrete data replication (IDS)
LBU
Logs full high-water mark
Informix Administrator’s Reference
onstat: Monitor Database Server Operation
Option Descriptions
You can combine multiple onstat option flags in a single command.
No Options
If you invoke onstat without any options, the command is interpreted as
onstat -pu (-p option and -u option).
The onstat -- Option
The -- option displays a listing of all onstat options and their functions. This
option is the only option flag that you cannot combine with any other flag.
The onstat -a Option
The -a option is interpreted as onstat -cuskbtdlp, and output is displayed in
that order. For an explanation of each option, refer to the appropriate flag in
the paragraphs that follow.
The onstat -b Option
The -b option displays information about buffers currently in use, including
the total number of resident pages in the buffer pool. (For information about
all buffers, not just those in use, refer to onstat -B. For information about the
big buffers, refer to onstat -g iob.) You can interpret output from the -b option
as follows:
address
is the address of the buffer header in the buffer table.
userthread
is the address of the most recent user thread to access the
buffer table. Many user threads might be reading the same
buffer concurrently.
flgs
uses the following flag bits to describe the buffer:
0x01
Modified data
0x02
Data
0x04
LRU
Utilities 3-95
onstat: Monitor Database Server Operation
0x08
Error
pagenum
is the physical page number on the disk.
memaddr
is the buffer memory address.
nslots
is the number of slot-table entries in the page. This field
indicates the number of rows (or portions of a row) that are
stored on the page.
pgflgs
uses the following values, alone or in combination, to describe
the page type:
1
Data page
2
Tblspace page
4
Free-list page
8
Chunk free-list page
9
Remainder data page
b
Partition resident blobpage
c
Blobspace resident blobpage (IDS)
Reserved (XPS)
3-96
Informix Administrator’s Reference
d
Blob chunk free-list bit page
e
Blob chunk blob map page
10
B-tree node page
20
B-tree root-node page
40
B-tree branch-node page
80
B-tree leaf-node page
100
Logical-log page
200
Last page of logical log
400
Sync page of logical log
onstat: Monitor Database Server Operation
xflgs
800
Physical log
1000
Reserved root page
2000
No physical log required
8000
B-tree leaf with default flags
uses the following flag bits to describe buffer access:
0x10
share lock
0x80
exclusive lock
owner
is the user thread that set the xflgs buffer flag.
waitlist
is the address of the first user thread that is waiting for access
to this buffer. For a complete list of all threads waiting for the
buffer, refer to “The onstat -X Option” on page 3-131.
The maximum number of buffers available is specified as BUFFERS in the
ONCONFIG file.
IDS
The -b and -B options also provide summary information about the number
of modified buffers, the total number of resident pages in the buffer pool, the
total number of buffers available, the number of hash buckets available, and
the size of the buffer in bytes (the page size).
123 modified, 23 resident, 2000 total, 2048 hash buckets, 2048 buffer size.
♦
XPS
The -b and -B options also provide summary information about the number
of modified buffers, the total number of buffers, the number of hash buckets,
and the buffer size.
123 modified, 200 total, 256 hash buckets, 4096 buffer size.
♦
Utilities 3-97
onstat: Monitor Database Server Operation
The onstat -c Option
Use the onstat -c option to display the contents of the ONCONFIG file. The
database server first checks if you have assigned a value to the environment
variable ONCONFIG.
On UNIX, if you have set ONCONFIG, onstat -c displays the contents of the
$INFORMIXDIR/etc/$ONCONFIG file. If not, by default, onstat -c displays the
contents of $INFORMIXDIR/etc/onconfig.
On Windows NT, if you have set ONCONFIG, onstat -c displays the contents
of the %INFORMIXDIR%\etc\%ONCONFIG% file. If not, by default, onstat -c
displays the contents of %INFORMIXDIR%\etc\onconfig.
The onstat -d Option
Use the -d option to display information for chunks in each storage space.
You can interpret output from this option as follows. The first section of the
display describes the storage spaces:
3-98
address
is the address of the storage space in the shared-memory space
table.
number
is the unique ID number of the storage space assigned at
creation.
flags
uses the following hexadecimal values to describe each
storage space:
Informix Administrator’s Reference
0x0001
No mirror
0x0002
Mirror
0x0004
Down
0x0008
Newly mirrored
0x0010
Blobspace (IDS)
0x0020
Blobspace on removable media (IDS)
0x0040
Blobspace is on optical media (IDS)
0x0080
Blobspace is dropped (IDS)
onstat: Monitor Database Server Operation
0x0100
Blobspace is the optical STAGEBLOB
(IDS)
0x0200
Space is being recovered
0x0400
Space is fully recovered
0x0800
Logical log is being recovered
0x1000
Table in dbspace is dropped
0x2000
Temporary dbspace
0x4000
Blobspace is being backed up (IDS)
0x8000
Root dbspace (XPS)
Sbspace (IDS)
0x00010000
Critical dbspace (XPS)
Physical or logical log changed (IDS)
0x00020000
No log replay required (XPS)
Dbspace or chunk tables have
changed (IDS)
0x0040000
Dbspace added by ALTER DBSLICE
(XPS)
0x0080000
Dbspace does not contain a logslice
(XPS)
0x0100000
Dbspace or chunk tables have
changed (XPS)
fchunk
is the ID number of the first chunk.
nchunks
is the number of chunks in the storage space.
flags
uses the following letter codes to describe each storage space:
Position 1:
Position 2:
M
Mirrored
N
Not Mirrored
X
Newly mirrored
Utilities 3-99
onstat: Monitor Database Server Operation
Position 3:
P
Physically recovered, waiting for P -logical recovery
L
Being logically recovered
R
Being recovered
B
Blobspace (IDS)
S
Sbspace (IDS)
S
Skip logical replay for this dbspace
(XPS)
owner
is the owner of the storage space.
name
is the name of the storage space.
The line immediately following the storage-space list includes the number of
active spaces (the current number of dbspaces in the database server instance
including the rootdbs) and the number of total spaces.
Active spaces refers to the current number of storage spaces in the database
server instance including the rootdbs. Total refers to total allowable spaces for
this database server instance.
The second section of the onstat -d output describes the chunks:
address
is the address of the chunk.
chk/dbs
is the chunk number and the associated space number.
offset
is the offset into the file or raw device in pages.
size
is the size of the chunk in pages.
free
is the number of free pages in the chunk for a dbspace.
For a blobspace, a tilde indicates an approximate number of
free blobpages. (IDS)
For an sbspace, indicates the number of free pages of user data
space and total user data space. (IDS)
3-100
Informix Administrator’s Reference
onstat: Monitor Database Server Operation
bpages
is the size of the chunk in blobpages. Blobpages can be larger
than disk pages; therefore, the bpages value can be less than the
size value. (IDS)
for an sbspace, is the size of the chunk in sbpages. (IDS)
is blank. (XPS)
flags
provides the chunk status information as follows:
Position 1:
Position 2:
Position 3:
pathname
P
Primary
M
Mirror
O
On-line
D
Down
X
Newly mirrored
I
Inconsistent
-
Dbspace
B
Blobspace (IDS)
S
Sbspace (IDS)
T
Temporary dbspace
is the pathname of the physical device.
The line immediately following the chunk list displays the number of active
chunks (including the root chunk) and the total number of chunks.
IDS
Using onstat -d with Sbspaces
For information about using onstat -d to determine the size of sbspaces, userdata areas, and metadata areas, see monitoring sbspaces in the Performance
Guide.
Utilities 3-101
onstat: Monitor Database Server Operation
IDS
Freeing Blobpages and Timing of the onstat -d Command
Occasionally, the timing of the onstat -d command can affect the utility
output. Timing becomes a factor in two cases. The first case occurs immediately after blobspace blobpages are allocated. The onstat -d routine looks
directly at the disk to obtain blobpage statistics from the blobspace free-map
page. If blobpages were recently allocated, onstat -d might not reflect the new
allocation. This situation could arise if you execute onstat -d while the
newest version of the blobspace free-map page remains in a memory buffer
and is not yet flushed to disk.
The second case in which timing affects output occurs after blobspace
blobpages are freed. The onstat -d output does not show a blobpage as free
until the logical log in which the page or pages were deallocated is freed. That
is, if you modify simple-large-object data, onstat -d shows that the pages
where the obsolete simple-large-object data is stored are still in use until you
back up and free the logical log that contains the modifying statement.
The oncheck -pB command, which examines the disk pages, does not reflect
this timing nuance. If you delete simple-large-object data from a blobspace,
oncheck -pB output reflects the freed space immediately. For this reason,
output from onstat -d and oncheck -pB might appear to be inconsistent.
For information about page reads and page writes, refer to onstat -D.
The onstat -D Option
Use the -D option to display page-read and page-write information for the
first 50 chunks in each space. All but two of the fields that appear in the -D
output also appear in the onstat -d output. You can interpret the two fields
that are unique to the -D output as follows:
3-102
page Rd
is the number of pages read.
page Wr
is the number of pages written.
Informix Administrator’s Reference
onstat: Monitor Database Server Operation
The onstat -f Option
Use the -f option to list the dbspaces that the dataskip feature currently
affects. The -f option lists both the dbspaces that were set with the DATASKIP
configuration parameter and the -f option of onspaces. When you execute
onstat -f, the database server displays one of the following three outputs:
■
Dataskip is OFF for all dbspaces.
■
Dataskip is ON for all dbspaces.
■
Dataskip is ON for the following dbspaces:
dbspace1 dbspace2...
The onstat -F Option
Use the -F option to display a count for each type of write that flushes pages
to disk. You can interpret output from this option as follows:
Fg Writes
is the number of times that a foreground write occurred.
LRU Writes
is the number of times that an LRU write occurred.
Chunk Writes
is the number of times that a chunk write occurred.
address
is the address of the user structure assigned to this
page-cleaner thread.
flusher
is the page-cleaner number.
state
uses the following codes to indicate the current page-cleaner
activity:
C
Chunk write
E
Exit
I
Cleaner is idle.
L
LRU queue
Utilities 3-103
onstat: Monitor Database Server Operation
The exit code indicates either that the database server is
performing a shutdown or that a page cleaner did not return
from its write in a specific amount of time. When an
operation fails to complete within the allotted time, this
situation is known as a time-out condition. The database
server does not know what happened to the cleaner, so it is
marked as exit. In either case, the cleaner thread eventually
exits.
data
provides additional information in concert with the state
field. If state is C, data is the chunk number to which the page
cleaner is writing buffers. If state is L, data is the LRU queue
from which the page cleaner is writing. The data value is
displayed as a decimal, followed by an equal sign, and
repeated as a hexadecimal.
The onstat -g Monitoring Options
The following onstat -g options are provided for support and debugging
only. You can include only one of these options per onstat -g command For
more information, see yourPerformance Guide.
onstat -g Option
IDS
XPS
Topic or Function
-g act
✔
✔
Prints active threads.
-g afr pool name |
session id
✔
✔
Prints allocated memory fragments for a
specified session or shared-memory pool.
Each session is allocated a pool of shared
memory.
To obtain the pool name, see the -mem
option.
-g all
✔
✔
Prints all multithreading information.
-g ath
✔
✔
Prints all threads. The sqlmain threads
represent client sessions, and the rstcb
value corresponds to the user field of the
onstat -u command.
(1 of 6)
3-104
Informix Administrator’s Reference
onstat: Monitor Database Server Operation
onstat -g Option
IDS
XPS
Topic or Function
-g bus
✔
Prints current backup scheduler sessions,
backups in progress, and backups to be
performed. Issue from any coserver.
-g bus_sm
✔
Prints current storage manager configuration and active work. Issue from any
coserver.
-g cac agg
✔
Prints the definitions for user-defined
aggregates that are currently in the cache.
-g cac stmt
✔
Prints the contents of the SQL statement
cache.
-g con
✔
-g dfm
-g dic table
✔
✔
Prints conditions with waiters.
✔
Prints data flow information between
coservers. Can be used with the xctl utility.
✔
Without any parameters, prints one line of
information for each table cached in the
shared-memory dictionary.
If given a specific table name as a
parameter, prints internal SQL information
for that table.
Also shows the following information:
State of violations (XPS)
For more information, see your Performance
Guide.
-g dll
✔
✔
-g dri
✔
-g dsc
✔
✔
Prints data-distribution cache information.
-g ffr pool name |
session id
✔
✔
Prints free fragments for a pool of shared
memory.
Prints a list of dynamic libraries that have
been loaded.
Prints data-replication information. See
monitoring high-availability data-replication status in the Administrator’s Guide.
(2 of 6)
Utilities 3-105
onstat: Monitor Database Server Operation
onstat -g Option
IDS
XPS
Topic or Function
-g glo
✔
✔
Prints global multithreading information.
This information includes CPU use information about the virtual processors, the
total number of sessions, and other multithreading global counters.
-g ioa
✔
✔
Prints combined information from
-g ioq, -g iov, and -g iob.
-g iob
✔
✔
Prints big-buffer use by I/O virtualprocessor class.
-g iof
✔
✔
Prints asynchronous I/O statistics by chunk
or file. This option is similar to the -D
option, except that information on
nonchunk files is also displayed. It includes
information about temporary files and sortwork files.
-g iog
✔
✔
Prints AIO global information.
-g ioq queue name
✔
✔
Prints pending I/O operations for the queue
name. If given the gfd or kaio queue name, a
queue for each CPU VP is displayed. If
queue name is omitted, I/O statistics for all
queues are displayed.
-g iov
✔
✔
Prints asynchronous I/O statistics by
virtual processor.
-g lmx
✔
✔
Prints all locked mutexes.
-g mem pool name |
session id
✔
✔
Prints memory statistics for a pool. Session
pools are named with the session number. If
no argument is provided, information
about all pools is displayed.
-g mgm
✔
-g nbm
✔
Prints Memory Grant Manager resource
information.
✔
Prints block bit map for the nonresident
segments, one bit per 8-kilobyte block. Bit
set indicates block free.
(3 of 6)
3-106
Informix Administrator’s Reference
onstat: Monitor Database Server Operation
onstat -g Option
IDS
XPS
Topic or Function
-g nsc client id
✔
✔
Prints shared-memory status by client id. If
client id is omitted, all client status areas are
displayed.
This command prints the same status data
as the nss command.
-g nsd
✔
✔
Prints network shared-memory data for
poll threads.
-g nss session id
✔
✔
Prints network shared-memory status by
session id. If session id is omitted, all session
status areas are displayed.
This command prints the same status data
as the nsc command.
-g nta
✔
✔
Prints combined network statistics from -g
ntd, -g ntm, -g ntt, and -g ntu.
-g ntd
✔
✔
Prints network statistics by service.
-g ntm
✔
✔
Prints network mail statistics.
-g ntt
✔
✔
Prints network user times.
-g ntu
✔
✔
Prints network user statistics.
-g pos
✔
✔
Prints $INFORMIXDIR/etc/
.infos.DBSERVERNAME file for UNIX
and %INFORMIXDIR%\etc\
.infos.DBSERVERNAME for Windows NT.
-g ppf partition
number | 0
✔
✔
Prints partition profile for partition number;
0 prints profiles for all partitions.
If TBLSPACE_STATS configuration
parameter is set to 0, displays:
Partition profiles disabled .
-g prc
✔
✔
Prints information about SPL routine cache.
-g qst
✔
✔
Prints queue statistics.
-g rbm
✔
✔
Prints block bit map for the resident
segment (communication message area).
(4 of 6)
Utilities 3-107
onstat: Monitor Database Server Operation
onstat -g Option
IDS
XPS
Topic or Function
-g rea
✔
✔
Prints ready threads.
✔
Prints Resource Grant Manager information. Issue from coserver 1 only. Can be
used with the xctl utility.
-g rgm
-g sch
✔
✔
Prints the number of semaphore operations, spins, and busy waits for each virtual
processor.
-g seg
✔
✔
Prints shared-memory-segment statistics.
This option shows how many segments are
attached and their sizes.
-g ses session id
✔
✔
Prints session information by session id. If
session id is missing, a one-line summary of
each session prints.
Can be used with the xctl utility. (XPS)
-g sle
✔
✔
Prints all sleeping threads.
-g spi
✔
✔
Prints spin locks that virtual processors
have spun more than 10,000 times to
acquire. These spin locks are called
longspins. The total number of longspins is
printed in the heading of the glo command.
Excessive longspins might indicate an
overloaded system, too many virtual
processors for a given computer or node, or
an internal problem. To reduce longspins,
reduce the number of virtual processors
(generally class CPU), reduce the load on
the computer, or use the no-age or processor
affinity features.
-g sql session id
✔
✔
Prints SQL information by session id. If
session id is omitted, a one-line summary for
each session prints.
Can be used with the xctl utility. (XPS)
-g stk tid
✔
✔
Dumps stack of thread specified by thread
ID. This option is not supported on all
platforms and is not always accurate.
(5 of 6)
3-108
Informix Administrator’s Reference
onstat: Monitor Database Server Operation
onstat -g Option
IDS
XPS
Topic or Function
-g sts
✔
✔
Prints maximum and current stack use per
thread.
-g tpf tid
✔
✔
Prints thread profile for tid; 0 prints profiles
for all threads.
-g ufr pool name |
session id
✔
✔
Prints allocated fragments by use.
-g wai
✔
✔
Prints waiting threads; all threads waiting
on mutex or condition, or yielding.
-g wmx
✔
✔
Prints all mutexes with waiters.
-g wst
✔
✔
Prints wait statistics.
-g xmf
✔
Prints communication information
between coservers. Can be used with the
xctl utility.
-g xmp
✔
Prints information about the query
segments and SQL operators that are
currently executing on a coserver. Issue
from the connection coserver only. Can be
used with xctl utility.
-g xqp qryid
✔
Prints information about a specific query
plan. Issue from the connection coserver
only.
-g xqs qryid
✔
Prints query statistics for an active plan.
Issue from the connection coserver only.
Can be used with the xctl utility.
(6 of 6)
Utilities 3-109
onstat: Monitor Database Server Operation
The onstat -i Option
Use the -i option to put onstat in interactive mode. In interactive mode, you
can enter multiple onstat options per session, but only one at a time. An
onstat prompt appears and allows you to enter an option.
In interactive mode, do not precede the option with a dash.
Two additional options, r seconds and rz seconds, are available in interactive
mode. The r seconds option is similar to the current onstat -r seconds option,
which repeatedly generates a display. If an administrator executes r seconds
at the interactive-mode prompt, the prompt changes to reflect the specified
interval in seconds and reappears, waiting for the next command. In the
following example, the display generated by the next command repeats
every three seconds:
onstat> r 3
onstat[3]>
The rz seconds option enables you to repeat the next command as specified
and set all profile counters to 0 between each execution.
To terminate interactive mode, press CTRL-D.
To terminate a repeating sequence, press CTRL-C.
3-110
Informix Administrator’s Reference
onstat: Monitor Database Server Operation
The onstat -k Option
Use the -k option to display information about active locks. You can interpret
output from this option as follows:
address
is the address of the lock in the lock table. If a user thread is
waiting for this lock, the address of the lock appears in the
wait field of the onstat -u (users) output.
wtlist
is the first entry in the list of user threads that is waiting for
the lock, if there is one.
owner
is the shared-memory address of the thread that is holding
the lock. This address corresponds to the address in the
address field of onstat -u (users) output.
lklist
is the next lock in a linked list of locks held by the owner just
listed.
type
uses the following codes to indicate the type of lock:
tblsnum (IDS)
HDR
Header
B
Bytes
S
Shared
X
Exclusive
I
Intent
U
Update
IX
Intent-exclusive
IS
Intent-shared
SIX
Shared, intent-exclusive
is the tblspace number of the locked resource.
lockid (XPS)
Utilities 3-111
onstat: Monitor Database Server Operation
rowid
key#/bsiz
is the row identification number. The rowid provides the
following lock information:
■
If the rowid equals zero, the lock is a table lock.
■
If the rowid ends in two zeros, the lock is a page
lock.
■
If the rowid is six digits or fewer and does not end
in zero, the lock is probably a row lock.
■
If the rowid is more than six digits, the lock is
probably an index key-value lock.
is the index key number, or the number of bytes locked for a
VARCHAR lock.
The maximum number of locks available is specified as LOCKS in the
ONCONFIG file.
The onstat -K Option
Use the -K option to display information about byte-range locks held.
3-112
Informix Administrator’s Reference
onstat: Monitor Database Server Operation
The onstat -l Option
Use the -l option to display information about physical and logical logs. You
can interpret output from this option as follows. The first section of the
display describes the physical-log configuration:
buffer
is the number of the physical-log buffer.
bufused
is the number of pages of the physical-log buffer that are used.
bufsize
is the size of each physical-log buffer in pages.
numpages
is the number of pages written to the physical log.
numwrits
is the number of writes to disk.
pages/io
is calculated as numpages/numwrits. This value indicates how
effectively physical-log writes are being buffered.
phybegin
is the physical page number of the beginning of the log.
physize
is the size of the physical log in pages.
phypos
is the current position in the log where the next log-record
write is to occur.
phyused
is the number of pages used in the log.
%used
is the percent of pages used.
The second section of the onstat -l display describes the logical-log
configuration:
buffer
is the number of the logical-log buffer.
bufused
is the number of pages used in the logical-log buffer.
bufsize
is the size of each logical-log buffer in pages.
numrecs
is the number of records written.
numpages
is the number of pages written.
Utilities 3-113
onstat: Monitor Database Server Operation
numwrits
is the number of writes to the logical log.
recs/pages
is calculated as numrecs/numpages. You cannot affect this
value. Different types of operations generate different types
(and sizes) of records.
pages/io
is calculated as numpages/numwrits. You can affect this value
by changing the size of the logical-log buffer (specified as
LOGBUFF in the ONCONFIG file) or by changing the logging
mode of the database (from buffered to unbuffered, or vice
versa).
The following fields are repeated for each logical-log file:
3-114
address
is the address of the log-file descriptor.
number
is logid number for the logical-log file.
flags
provides the status of each log as follows:
A
Newly added
B
Backed up
C
Current logical-log file
F
Free, available for use
L
The most recent checkpoint record
U
Used
uniqid
is the unique ID number of the log.
begin
is the beginning page of the log file.
size
is the size of the log in pages.
used
is the number of pages used.
%used
is the percent of pages used.
Informix Administrator’s Reference
onstat: Monitor Database Server Operation
The onstat -m Option
Use the -m option to display the 20 most-recent lines of the system message
log.
Output from this option lists the full pathname of the message-log file and
the 20 file entries. A date-and-time header separates the entries for each day.
A time stamp prefaces single entries within each day. The name of the
message log is specified as MSGPATH in the ONCONFIG file.
IDS
The onstat -O Option
Use the -O option of the onstat utility to display information about the
Optical Subsystem memory cache and staging-area blobspace. You can
interpret output from this option as follows. The totals shown in the display
accumulate from session to session. The database server resets the totals to 0
only when you execute onstat -z.
The first section of the display provides the following information on systemcache totals:
size
is the size that the OPCACHEMAX configuration parameter
specifies.
alloc
is the number of 1-kilobyte allocations to the cache.
avail
describes how much of alloc (in kilobytes) is not used.
number
is the number of simple large objects that the database server
successfully put in the cache without overflowing.
kbytes
is the number of kilobytes of TEXT or BYTE data that the database
server put in the cache without overflowing.
number
is the number of simple large objects that the database server
wrote to the staging-area blobspace.
kbytes
is the number of kilobytes of TEXT or BYTE data that the database
server wrote to the staging-area blobspace.
Utilities 3-115
onstat: Monitor Database Server Operation
Although the size output indicates the amount of memory that is specified in
the configuration parameter OPCACHEMAX, the database server does not
allocate memory to OPCACHEMAX until necessary. Therefore, the alloc
output reflects only the number of 1-kilobyte allocations of the largest simple
large object that has been processed. When the values in the alloc and avail
output are equal to each other, the cache is empty.
The second section of the display describes the following user-cache totals
information:
SID
is the session ID for the user.
user
is the user ID of the client.
size
is the size specified in the INFORMIXOPCACHE environment
variable, if it is set. If you do not set the INFORMIXOPCACHE
environment variable, the database server uses the size that you
specify in the configuration parameter OPCACHEMAX.
number
is the number of simple large objects that the database server put
into cache without overflowing.
kbytes
is the number of kilobytes of TEXT or BYTE data that the database
server put in the cache without overflowing.
number
is the number of simple large objects that the database server
wrote to the staging-area blobspace.
kbytes
is the number of kilobytes of TEXT or BYTE data that the database
server wrote to the staging-area blobspace.
The last line of the display lists the total number of sessions that are using the
cache.
3-116
Informix Administrator’s Reference
onstat: Monitor Database Server Operation
The onstat -p Option
Use the -p option to display profile counts either since you started the
database server or since you ran onstat with the -z option.
The first portion of the display describes reads and writes.
Reads and writes are tabulated in three categories: from disk, from buffers,
and number of pages (read or written).
The first %cached field is a measure of the number of reads from buffers
compared to reads from disk. The second %cached field is a measure of the
number of writes to buffers compared to writes to disk.
The database server buffers information and writes to the disk in pages. For
this reason, the number of disk writes displayed as dskwrits is usually less
than the number of writes that an individual user executes:
dskreads
is the number of actual reads from disk.
pagreads
is the number of pages read.
bufreads
is the number of reads from shared memory.
%cached
is the percent of reads cached, calculated as follows:
100 * (bufreads - dskreads) / bufreads
If bufreads exceeds the maximum integer (or long) value, its
internal representation becomes a negative number, but the
value appears as 0.0.
dskwrits
is the actual number of physical writes to disk. This number
includes the writes for the physical and logical logs reported in
onstat -l.
pagwrits
is the number of pages written.
bufwrits
is the number of writes to shared memory.
%cached
is the percent of writes cached, calculated as follows:
100 * (bufwrits - dskwrits) / bufwrits
If dskwrits exceeds bufwrits, the value appears as 0.0.
Utilities 3-117
onstat: Monitor Database Server Operation
The next portion of the -p display tabulates the number of times different
ISAM calls were executed. The calls occur at the lowest level of operation and
do not necessarily correspond one-to-one with SQL statement execution. A
single query might generate multiple ISAM calls. These statistics are gathered
across the database server and cannot be used to monitor activity on a single
database unless only one database is active or only one database exists:
isamtot
is the total number of calls.
open
increments when a tblspace is opened.
start
increments the pointer within an index.
read
increments when the read function is called.
write
increments with each write call.
rewrite
increments when an update occurs.
delete
increments when a row is deleted.
commit
increments each time that an iscommit() call is made. No oneto-one correspondence exists between this value and the
number of explicit COMMIT WORK statements that are
executed.
rollbk
increments when a transaction is rolled back.
The third portion of the -p display tracks the number of times that a resource
was requested when none was available:
3-118
ovlock
is the number of times that the database server attempted to
exceed the maximum number of locks (specified as LOCKS in
the ONCONFIG file).
ovuserthread
is the number of times that a user attempted to exceed the
maximum number of user threads.
ovbuff
is the number of times that the database server could not find
a free shared-memory buffer. When no buffers are free, the
database server writes a dirty buffer to disk and then tries to
find a free buffer.
Informix Administrator’s Reference
onstat: Monitor Database Server Operation
usercpu
is the total user CPU time that all user threads use, expressed
in seconds. This entry is updated every 15 seconds.
syscpu
is the total system CPU time that all user threads use, expressed
in seconds. This entry is updated every 15 seconds.
numckpts
is the number of checkpoints since the boot time.
flushes
is the number of times that the buffer pool has been flushed to
the disk.
The next portion of the -p display contains miscellaneous information, as
follows:
bufwaits
increments each time that a user thread must wait for a buffer.
lokwaits
increments each time that a user thread must wait for a lock.
lockreqs
increments each time that a lock is requested.
deadlks
increments each time that a potential deadlock is detected and
prevented.
dltouts
increments each time that the distributed deadlock time-out
value is exceeded while a user thread is waiting for a lock.
ckpwaits
is the number of checkpoint waits.
compress
increments each time that a data page is compressed.
seqscans
increments for each sequential scan.
The last portion of the -p display contains the following information:
ixda-RA
is the count of read-aheads that go from index leaves to data
pages.
idx-RA
is the count of read-aheads that traverse index leaves.
Utilities 3-119
onstat: Monitor Database Server Operation
da-RA
is the count of data-path-only scans.
RA-pgsused
indicates the number of pages used that the database server
read ahead. If this number is significantly less than the total
number of pages read ahead, the read-ahead parameters
might be set too high.
lchwaits
increments when a thread waits to gain access to a
shared-memory resource.
The onstat -P Option
Use the -P option to display for all partitions the partition number and the
pages in the buffer pool that belong to the partition.
3-120
partnum
is the partition number
total
is the total number of partitions
btree
is the number of B-tree pages in the partition
data
is the number of data pages in the partition
other
is the number of other pages in the partition
resident
is the number of resident pages in the partition
dirty
is the number of dirty pages in the partition
Informix Administrator’s Reference
onstat: Monitor Database Server Operation
The onstat -R Option
Use the -R option to display detailed information about the LRU queues,
FLRU queues, and MLRU queues. For an in-depth discussion of the three
types of queues, see LRU queues in the shared-memory chapter of the Administrator’s Guide.
For each queue, onstat -R lists the number of buffers in the queue and the
number and percentage of buffers that have been modified. You can interpret
output from this option as follows:
#
shows the queue number. Each LRU queue is composed of two
subqueues: an FLRU queue and a MLRU queue. (For a
definition of FLRU and MLRU queues, see LRU queues in the
shared-memory chapter of the Administrator’s Guide.) Thus,
queues 0 and 1 belong to the first LRU queue, queues 2 and 3
belong to the second LRU queue, and so on.
f/m
identifies queue type. This field has four possible values:
f
Free LRU queue
In this context, free means not modified. Although
nearly all the buffers in an LRU queue are available
for use, the database server attempts to use buffers
from the FLRU queue rather than the MLRU queue.
(A modified buffer must be written to disk before the
database server can use the buffer.)
F
Free LRU with fewest elements
The database server uses this estimate to determine
where to put unmodified (free) buffers next.
m
MLRU queue
M
MLRU queue that a flusher is cleaning
Utilities 3-121
onstat: Monitor Database Server Operation
IDS
length
tracks the length of the queue measured in buffers.
% of
shows the percent of LRU queue that this subqueue composes.
For example, suppose that an LRU queue has 50 buffers, with
30 of those buffers in the MLRU queue and 20 in the FLRU
queue. The % of column would list percents of 60.00 and 40.00,
respectively.
pair total
provides the total number of buffers in this LRU queue.
The -R option also lists the priority levels. ♦
Summary information follows the individual LRU queue information. You
can interpret the summary information as follows:
3-122
dirty
is the total number of buffers that have been modified in all
LRU queues.
queued
is the total number of buffers in LRU queues.
total
is the total number of buffers.
hash buckets
is the number of hash buckets.
buffer size
is the size of each buffer.
start clean
is the value of LRU_MAX_DIRTY.
stop at
is the value of LRU_MIN_DIRTY.
Informix Administrator’s Reference
onstat: Monitor Database Server Operation
The onstat -s Option
Use the -s option to display general latch information. You can interpret
output from this option as follows:
name
address
identifies the resource that the latch controls with the
following abbreviations:
archive
Storage-space backup
bf
Buffers
bh
Hash buffers
chunks
Chunk table
ckpt
Checkpoints
dbspace
Dbspace table
flushctl
Page-flusher control
flushr
Page cleaners
locks
Lock table
loglog
Logical log
LRU
LRU queues
physb1
First physical-log buffer
physb2
Second physical-log buffer
physlog
Physical log
pt
Tblspace tblspace
tblsps
Tblspace table
users
User table
is the address of the latch. This address appears in the -u
(users) output wait field if a thread is waiting for the latch.
Utilities 3-123
onstat: Monitor Database Server Operation
3-124
lock
indicates if the latch is locked and set. The codes that indicate
the lock status (1 or 0) are computer dependent.
wait
indicates if any user thread is waiting for the latch.
userthread
is the shared-memory address of the owner of the latch. In
contrast to the user fields of other onstat options, this field
does not contain the rstcb address because not all threads that
own latches are user threads. Instead this field contains the
thread-control block address, which all threads have. To obtain
the rstcb address from the tcb address, examine the output of
the onstat -g ath option, which lists both addresses for each
user thread.
Informix Administrator’s Reference
onstat: Monitor Database Server Operation
The onstat -t Option
Use the -t option to display tblspace information for active tblspaces,
including whether tblspaces are memory resident. You can interpret output
from this option as follows:
n
is a counter of open tblspaces.
address
is the address of the tblspace in the shared-memory tblspace
table.
flgs
uses the following flag bits to describe the flag:
0x01
Busy
0x02
Dirty (modified pages that have not been flushed
to disk)
ucnt
is the usage count, which indicates the number of user threads
currently accessing the tblspace.
tblnum
is the tblspace number expressed as a hexadecimal value. The
integer equivalent appears as the partnum value in the
systables system catalog table.
lockid
is the table ID. (XPS)
physaddr
is the physical address (on disk) of the tblspace.
npages
is the number of pages allocated to the tblspace.
nused
is the number of used pages in the tblspace.
npdata
is the number of data pages used.
nrows
is the number of data rows used.
nextns
is the number of noncontiguous extents allocated. This
number is not the same as the number of times that a next
extent has been allocated.
resident
indicates whether tblspace is memory-resident; 1 = yes,
0 = no. (IDS)
The -t option also lists the number of active tblspaces, the number of available
tblspaces, and the number of available hash buckets.
Utilities 3-125
onstat: Monitor Database Server Operation
The onstat -u Option
Use the -u option to print a profile of user activity. The -u option provides the
following output for each user thread.
address
is the shared-memory address of the user thread (in the user
table). Compare this address with the addresses displayed in
the -s output (latches); the -b, -B, and -X output (buffers); and
the -k output (locks) to learn what resources this thread is
holding or waiting for.
flags
provides the status of the session.
The flag codes for position 1:
B
Waiting for a buffer
C
Waiting for a checkpoint
G
Waiting for a write of the logical-log buffer
L
Waiting for a lock
S
Waiting for mutex
T
Waiting for a transaction
Y
Waiting for condition
X
Waiting for a transaction cleanup (rollback)
DEFUNCT The thread has incurred a serious assertion failure,
and has been suspended to allow other threads to
continue their work. If this status flag appears, refer
to Appendix C, “Thread Suspension,” for
instructions.
The flag code for position 2:
*
Transaction active during an I/O failure
The flag code for position 3:
A
3-126
Informix Administrator’s Reference
A dbspace backup thread
onstat: Monitor Database Server Operation
For other values that appear here, see the third position of flag
codes for the -x option.
The flag code for position 4:
P
Primary thread for a session
The flag codes for position 5:
R
Reading
X
Thread in critical section (IDS)
Transaction is XA prepared. The database server (in
an X/Open DTP environment) is prepared to commit
or is currently in the process of committing. (XPS)
The flag codes for position 7:
B
A B-tree cleaner thread
C
Terminated user thread waiting for cleanup
D
A daemon thread
F
A page-cleaner thread
M
Special ON-Monitor (monitor) thread (IDS, UNIX)
sessid
is the session identification number. During operations such as
parallel sorting and parallel index building, a session might
have many user threads associated with it. For this reason, the
session ID identifies each unique session.
user
is the user login name (derived from the operating system).
tty
indicates the tty that the user is using (derived from the
operating system).
wait
if the user thread is waiting for a specific latch or lock, this field
displays the address of the resource. Use this address to map to
information provided in the -s (latch) or -k (lock) output.
tout
is the number of seconds left in the current wait. If the value is
0, the user thread is not waiting for a latch or lock. If the value
is -1, the user thread is in an indefinite wait.
Utilities 3-127
onstat: Monitor Database Server Operation
locks
is the number of locks that the user thread is holding. (The -k
output should include a listing for each lock held.)
nreads
is the number of disk reads that the user thread has executed.
nwrites
is the number of write calls that the user thread has executed.
All write calls are writes to the shared-memory buffer cache.
Figure 3-3 shows output from onstat -u. The last line of onstat -u output
displays the maximum number of concurrent user threads that were
allocated since you initialized the database server. For example, the last line
of a sample onstat -u output is as follows:
4 active, 128 total, 17 maximum concurrent
The last part of the line, 17 maximum concurrent, indicates that the
maximum number of user threads that were running concurrently since you
initialized the database server is 17.
Userthreads
address flags
sessid
user
tty
80eb8c
---P--D 0
informix 80ef18
---P--F 0
informix 80f2a4
---P--B 3
informix 80f630
---P--D 0
informix 4 active, 128 total, 17 maximum concurrent
wait
0
0
0
0
tout
0
0
0
0
locks
0
0
0
0
nreads
33
0
0
0
nwrites
19
0
0
0
Figure 3-3
Output from
onstat -u
The output also indicates the number of active users and the maximum
number of users allowed.
3-128
Informix Administrator’s Reference
onstat: Monitor Database Server Operation
The onstat -x Option
Use the -x option to display transaction information on the database server.
The transaction information is required only in the following situations:
IDS
■
X/Open environment
■
Database server participation in distributed queries (formerly called
INFORMIX-STAR) ♦
You can interpret output from onstat -x as follows:
address
is the shared-memory address of the transaction structure.
flags
The flag codes for position 1:
A
User thread attached to the transaction
S
TP/XA suspended transaction (IDS)
C
TP/XA waiting for rollback (IDS)
The flag codes for position 3:
B
Begin work
P
Distributed query prepared for commit (IDS)
X
TP/XA prepared for commit (IDS)
C
Committing or committed
R
Rolling back or rolled back
H
Heuristically rolling back or rolled back
The flag codes for position 5:
G
Global transaction
C
Distributed query coordinator (IDS)
S
Distributed query subordinate (IDS)
B
Both distributed query coordinator and subordinate
(IDS)
Utilities 3-129
onstat: Monitor Database Server Operation
userthread
is the user that owns the transaction (rstcb address).
locks
is the number of locks that the transaction holds.
log begin
is the log in which begin work was logged.
isolation
is the isolation level.
retries
is the attempts to start a recovery thread for the distributed
query. (IDS)
coordinator
is the transaction coordinator when this transaction is a
subordinate.
Figure 3-4 shows output from onstat -x. The last line of the onstat -x output
displays the maximum number of concurrent transactions since you
initialized the database server. For example, the last line of onstat -u output
is as follows:
11 active, 128 total, 6 maximum concurrent
The last part of the line, 6 maximum concurrent, indicates that the maximum
number of transactions that were running concurrently since you initialized
the database server is 6.
Transactions
address flags
40a7e4
A---40a938
A---40aa8c
A---40abe0
A---11 active, 128
3-130
userthread locks
406464
0
4067c4
0
406b24
0
40a124
0
total, 6 maximum
log begin isolation
0
COMMIT
0
COMMIT
0
COMMIT
0
COMMIT
concurrent
Informix Administrator’s Reference
retrys coordinator
0
0
0
0
Figure 3-4
Output from
onstat -x
onstat: Monitor Database Server Operation
The onstat -X Option
Use the -X option to obtain precise information about the threads that are
sharing and waiting for buffers.
For each buffer in use, the -X option displays general buffer information that
is also available with either the -b or -B option. For an explanation of these
fields, refer to onstat -b on page 3-95.
Unique to the -X option are the sharers and waiter fields. More than one
thread can share data in a buffer. The sharers field lists the addresses of all
user threads that share each buffer. During an update operation, a thread
places an exclusive lock on a buffer, and no sharing occurs. In this situation,
the waiter field lists the addresses of all user threads that are waiting for the
buffer.
The onstat -b and -B options contain a waitlist field that displays the address
of the first user thread that is waiting for the buffer. The -X option provides a
complete list of addresses for all waiting threads.
The maximum number of shared buffers is specified as BUFFERS in the
ONCONFIG file.
The onstat -z Option
Use the -z option to set the profile counts to 0.
If you use the -z option to reset and monitor the count of some fields, be
aware that profile counts are incremented for all activity that occurs in any
database that the database server manages. Any user can reset the profile
counts and thus interfere with monitoring that another user is conducting.
Utilities 3-131
ontape: Log, Back Up, and Restore
IDS
ontape: Log, Back Up, and Restore
The ontape utility lets you perform several different tasks. Alternatively, you
can use ON-Bar or ON-Archive to perform these tasks. For information about
ON-Bar, see the Backup and Restore Guide. For information about ON-Archive,
see the Archive and Backup Guide.
The ontape utility lets you perform the following tasks:
■
Back up data that the database server manages
■
Change database-logging status
■
Back up logical-log files
■
Start continuous logical-log file backups
■
Restore data from an archive tape
■
Use data replication
On UNIX, you must be logged in as user root or user informix to execute
ontape. On Windows NT, you must be a member of the Informix-Admin
group.
3-132
Informix Administrator’s Reference
ontape: Log, Back Up, and Restore
Syntax
ontape
Back Up Database Server
see ABG
Change DatabaseLogging Status
see ABG
Back Up Logical-Log
Files
see ABG
Start Continuous
Logical-Log Backups
see ABG
Restore Data
from Backup
see ABG
Prepare for
Data Replication
p. 3-134
ABG refers to the Archive and Backup Guide. Syntax for ontape options other
than -t and -l appears in that manual.
Things to Consider
If more than one tape is needed during data replication, ontape prompts for
each additional tape. Do not run ontape in background mode because you
might need to provide input from the terminal or window.
Utilities 3-133
ontape: Log, Back Up, and Restore
Exit Codes
The ontape utility has two exit codes:
0
indicates a normal exit from ontape.
1
indicates an exceptional condition.
Prepare for Data Replication
Prepare for Data
Replication
-p
-l
Element
-l
-p
Purpose
Directs ontape to perform a logical restore
on all the storage spaces that have just
been physically restored on the database
server in a data-replication pair.
Directs ontape to perform a physical
restore of a database server.
Key Considerations
Additional Information: This option rolls forward
logical-log records from the last checkpoint up to
the last available logical-log record on disk.
Additional Information: Use this option to
replicate data before you initiate the
data-replication feature.
Use the -p and -l options to replicate data initially in a pair of database
servers that use data replication. For information on starting highavailability data replication for the first time, see the chapter on using highavailability data replication in the Administrator’s Guide.
3-134
Informix Administrator’s Reference
onutil: Check, Define, and Modify Storage Objects
XPS
onutil: Check, Define, and Modify Storage Objects
This section contains the following topics:
■
Overview of onutil commands
■
How to invoke onutil
■
Syntax for individual onutil commands
Overview of onutil Commands
The onutil command-line utility modifies storage objects, checks the
integrity of certain objects, and often generates a diagnostic display. The
onutil utility performs many checks in parallel, utilizing the parallelprocessing capabilities of Extended Parallel Server.
The onutil utility accepts commands that allow you to create, alter, and
delete cogroups and dbslices. You also can use onutil commands to configure
dbspaces, logical logs, and logical logslices:
■
Cogroups
■
Dbslices
■
Dbspaces
■
Logical logs
■
Logical logslices
The onutil utility lets you check and display the following database characteristics if a connection to the database server is available:
■
The root reserved pages of each coserver
■
Chunks and extents of each coserver
■
Data rows of a table
■
Index keys
■
Index keys with rowids
■
Tblspace reports
■
Tblspace-allocation reports
■
Content of specified pages
Utilities 3-135
onutil: Check, Define, and Modify Storage Objects
■
System catalog tables of a database
The onutil utility can perform the following functions when the database
server is off-line:
■
Check and display the root reserved pages on one coserver
■
Dump a specified page
Important: The onutil utility runs with PDQ set to 0 regardless of the current
setting of the PDQPRIORITY environment variable.
How to Invoke onutil
Before you invoke onutil, note the following items:
■
To execute the onutil CHECK options, you must be user informix or
root on UNIX.
■
You can invoke certain onutil commands in off-line mode. To start
onutil in off-line mode, use the -o option.
onutil -o
You can execute the onutil command in the following input modes:
■
Input from a file
■
Interactive input
■
Single command
Important: Although onutil commands resemble SQL, you cannot use them in
queries, and onutil cannot use standard SQL statements. Neither DB-Access nor any
other SQL utility or application supports them. Only onutil supports them.
Running onutil with Input from a File
To invoke the onutil command with a file as input, enter the onutil command
followed by the name of the input file.
onutil filename
onutil -i filename
3-136
Informix Administrator’s Reference
onutil: Check, Define, and Modify Storage Objects
The onutil command executes each command as it reads the command from
the input file. As each command completes successfully, onutil sends a
completion message to the standard output. If any error occurs while onutil
is executing a command that is contained in an input file, onutil sends an
error message to the standard output and halts by default. If you invoke
onutil with the -i option, processing continues after errors are detected.
Running onutil with Interactive Input
To invoke onutil for interactive input, enter the onutil command with no
arguments. The onutil command collects input lines until you either include
a semicolon to indicate that you have entered a complete onutil command or
type quit or the end-of-file character (typically CTRL-D) to exit.
Every new line starts with a prompt that consists of the line number and the
> symbol. The line numbers help you locate the position of syntax errors. You
can enter any number of commands during a single invocation of onutil.
As each command completes successfully, onutil sends a completion
message to the standard output. If a syntax error or internal database server
error occurs during interactive operations, onutil displays an error message
and prompts for a new command.
The following example shows onutil running with interactive input:
% onutil
1> CREATE DBSPACE acctgdbsp_1
2> CHUNK "/dev/bdbs_1" SIZE 1500;
DBspace successfully added.
3> QUIT;
%
Warning: The onutil utility cannot check objects that are named “IN,” “WITH,” and
“DATABASE,” because they are onutil keywords. Before you invoke onutil, rename
any objects that contain these keywords. For example, if your database is named
with, rename the database before you check it with onutil.
Running onutil as a Single Command
To invoke onutil for a single command, enter the onutil command with the
option at the command prompt. The following example shows how you can
run a single command without bringing up the onutil command interface:
onutil CHECK DATA IN database stores_demo
Utilities 3-137
onutil: Check, Define, and Modify Storage Objects
Warning: If you run onutil from the command line, you must escape the double
quotes around the filename; otherwise, the UNIX shell returns an error.
Using the onutil CHECK Options
On Extended Parallel Server, use the onutil CHECK options because the
oncheck utility is not supported. The sysmaster database must be built
before you invoke onutil CHECK commands. The onutil utility supports the
following commands for monitoring database server status:
Command
Reference
CHECK CATALOGS
See page 3-170.
CHECK DATA
See page 3-171.
CHECK INDEX
See page 3-174.
CHECK INDEX WITH DATA
See page 3-176.
CHECK INFO
See page 3-178.
CHECK LOGS
See page 3-181.
CHECK RESERVED
See page 3-183.
CHECK SPACE
See page 3-186.
DISPLAY PAGE
See page 3-217.
Data Display and Error Reporting Options
The onutil CHECK commands have two data-display options:
■
DISPLAY
■
SAVE
The DISPLAY keyword displays output on the terminal for the client. The
output also is stored in DUMPDIR while the command is running, then those
files are displayed to the terminal and deleted. If errors are generated in case
of a failed check, errors are placed in DUMPDIR.
3-138
Informix Administrator’s Reference
onutil: Check, Define, and Modify Storage Objects
If onutil encounters errors, the name of the file that contains diagnostic information is displayed on the terminal for the client. The diagnostic file resides
on the coserver where the error is detected and can be found in the directory
that the DUMPDIR configuration parameter indicates.
The SAVE [IN filename] clause collects the data in files but does not display the
output on the terminal for the client. The filename can contain a path relative
to the location where you run onutil, or it can be an absolute path.
Locking with onutil CHECK Options
The database server places a shared lock on tables when the onutil CHECK
command checks system catalog tables or when you execute the onutil
CHECK INDEX WITH DATA command. The database places a shared-intent
lock for onutil CHECK options that check table data or indexes. A sharedintent lock allows other users to select, insert, update and delete rows, but no
user can delete the table during the locking operation.
Because data modification can occur with a shared-intent lock, onutil must
distinguish between real corruption and temporary data inconsistencies. (An
example of a temporary data inconsistency is the ever-changing structure of
a B-tree index.) The onutil CHECK utility uses time stamps to find data inconsistencies. If onutil CHECK reports an inconsistency while it checks a
database table or index, Informix recommends that you rerun the onutil
CHECK command with the LOCK option. The LOCK option places a share lock
on the table while the check is performed. Then, if the onutil CHECK...LOCK
command reports data inconsistency, repair the data.
Using the onutil ALTER, CREATE, and DROP Commands
The onutil utility supports the following commands for creating, modifying,
and dropping database server storage objects:
■
ALTER DBSLICE ADD DBSPACE
Utilities 3-139
onutil: Check, Define, and Modify Storage Objects
■
ALTER DBSPACE
❑
ADD CHUNK
❑
DROP CHUNK
❑
CHANGE STATUS OFFLINE/ONLINE CHUNK
❑
START MIRRORING
❑
STOP MIRRORING
■
ALTER LOGSLICE ADD LOG
■
CREATE COGROUP
■
CREATE DBSLICE
■
CREATE DBSPACE
■
CREATE LOGICAL LOG
■
CREATE LOGICAL LOGSLICE
■
DROP COGROUP
■
DROP DBSLICE
■
DROP DBSPACE
■
DROP LOGICAL LOG
■
DROP LOGSLICE
Identifiers in onutil Commands
An identifier names a storage object such as a dbspace. The onutil commands
use identifiers for the following objects:
3-140
■
Cogroup name (cogroup_name and cogroup_range_identifier)
■
Coserver name (coserver_name, coserver_list, and
coserver_range_identifier)
■
Dbslice name (dbslice_name)
■
Dbspace name (dbspace_name and dbspace_list)
■
Generated dbspace name (derived_dbspace_identifier)
■
Index name (index_name)
■
Logslice name (logslice_name)
■
Pathname (pathname_format)
Informix Administrator’s Reference
onutil: Check, Define, and Modify Storage Objects
A simple identifier is a string of at most 18 characters. The first character of
an identifier must be a letter. The remaining characters can be any combination of letters, digits, or underscores.
Cogroup Name
You define the cogroup name in the onutil CREATE COGROUP command. The
default cogroup name is cogroup_all which includes all the coservers on the
system.
Cogroup Range Identifier
A cogroup_range_identifier specifies one or more cogroup names to be created,
checked, or dropped. Use cogroup_name or cogroup_range_identifier in the
following onutil commands.
Command
Reference
ALTER DBSLICE ADD DBSPACE
See page 3-150.
CREATE COGROUP
See page 3-188.
CREATE DBSLICE
See page 3-194.
DROP COGROUP
See page 3-220.
Cogroup range identifiers can include embedded formatting characters of
the following form:
%r(first..last)
These formatting characters have the following meaning:
%r(first..last)
are formatting characters that are replaced by integer
values in the range that first and last specify to produce
a list of coserver names.
Utilities 3-141
onutil: Check, Define, and Modify Storage Objects
For example, the following onutil command contains a cogroup range
identifier for cogroups eds.1_acctg and eds.2_acctg:
% onutil
1> CREATE COGROUP acctg_cogroup
2> FROM eds.%r(1..2)_acctg;
Coserver Name
The database server automatically generates the coserver_name. A coserver
name has the following format:
dbservername.coserver_number
dbservername
is the value that you specify in the DBSERVERNAME
configuration parameter.
coserver_number
is the integer that you specify in each COSERVER
configuration parameter.
For more information about these configuration parameters, see
“DBSERVERNAME” on page 1-38 and “COSERVER” on page 1-33.
Use a coserver name in the following onutil commands.
3-142
Command
Reference
ALTER DBSLICE ADD DBSPACE
See page 3-150.
CHECK DATA
See page 3-171.
CHECK INFO
See page 3-178.
CHECK RESERVED
See page 3-183.
CHECK SPACE
See page 3-186.
CREATE COGROUP
See page 3-188.
CREATE DBSLICE
See page 3-194.
CREATE DBSPACE
See page 3-207.
DROP LOGICAL LOG
See page 3-224.
Informix Administrator’s Reference
onutil: Check, Define, and Modify Storage Objects
Coserver List
The coserver_list specifies one or more coserver names to define as members
of a cogroup.
Syntax
Coserver_List
"
,
"
prefix
.
suffix
%c
%n
%o
%r
Element
Purpose
prefix
The alphabetic portion of the
generated cogroup name that
precedes the formatting
character
%c
%n
%o
(
first
..
last
)
Restrictions
Each coserver name that is
matched by the combination of
the prefix, formatting character,
and suffix must not exceed 18
characters.
A formatting character that
The coserver number is the
onutil replaces with the coserver value that you specified in the
number for each coserver in the COSERVER configuration
list of coservers
parameter for this coserver.
A formatting character that
The host name is the value that
onutil replaces with the host
you specified in the NODE
name of the node for each
configuration parameter for this
coserver in the generated list of coserver.
coservers
A formatting character that
None.
onutil replaces with the ordinal
number of each coserver in the
generated list of coservers
Syntax
See “Identifiers in
onutil Commands”
on page 3-140.
See “Identifiers in
onutil Commands”
on page 3-140.
See “Identifiers in
onutil Commands”
on page 3-140.
See “Identifiers in
onutil Commands”
on page 3-140.
(1 of 2)
Utilities 3-143
onutil: Check, Define, and Modify Storage Objects
Element
Purpose
Restrictions
%r
A formatting character that
indicates a range of successive
integer values bounded by first
and last inclusively
The starting integer value to
substitute in a coserver name
Numbers within the range that See “Identifiers in
fall outside of the ordinal range onutil Commands”
of existing coservers are ignored. on page 3-140.
first
last
suffix
This value must be a smaller
integer than last.
Syntax
This value must be
an unsigned integer.
When last is in a FROM clause, it
must be one of the values that is
specified in the COSERVER
configuration parameter.
The ending integer value to
This value must be equal to or
This value must be
substitute for the coserver name larger than first.
an unsigned integer.
When last is in a FROM clause, it
must be one of the values that is
specified in the COSERVER
configuration parameter.
The alphabetic portion of the
The combination of the prefix,
See “Identifiers in
generated cogroup name that
formatting character, and suffix onutil Commands”
follows the formatting character must not exceed 18 characters.
on page 3-140.
(2 of 2)
Usage
Use the coserver_list identifier to list coservers that can be included in a range.
Use a coserver list identifier in the same onutil commands that use the
coserver range identifier on page 3-143. For a description of a coserver name,
see “Coserver Name” on page 3-142.
For example, to include coservers eds.1, eds.3, and eds.7, you can list several
coserver names. The following onutil command creates cogroups
acctg_cogroup and sales_cogroup from a list of coservers:
% onutil
1> CREATE COGROUP acctg_cogroup
2> CREATE COGROUP sales_cogroup
3> FROM eds.1, eds.3, eds.7;
3-144
Informix Administrator’s Reference
onutil: Check, Define, and Modify Storage Objects
Coserver Range Identifier
A coserver_range_identifier specifies one or more coserver names to define as
members of a cogroup. For a description of a coserver name, see “Coserver
Name” on page 3-142.
Use a coserver range identifier in the following onutil commands.
Command
Reference
ALTER DBSLICE ADD DBSPACE
See page 3-150.
CHECK DATA
See page 3-171.
CHECK INFO
See page 3-178.
CHECK RESERVED
See page 3-183.
CHECK SPACE
See page 3-186.
CREATE COGROUP
See page 3-188.
CREATE DBSLICE
See page 3-194.
DROP COGROUP
See page 3-220.
Coserver range identifiers can include embedded formatting characters of
the following form:
%r(first..last)
These formatting characters have the following meaning:
%r(first..last) are formatting characters that are replaced by integer values in
the range that first and last specify to produce a list of coserver
names.
For example, the following onutil command contains a coserver range
identifier for coserver names eds.1 through eds.8:
% onutil
1> CREATE COGROUP acctg_cogroup
2> FROM eds.%r(1..8);
Utilities 3-145
onutil: Check, Define, and Modify Storage Objects
Dbslice Name
You define the dbslice name in the onutil CREATE DBSLICE command. The
dbslice name can be up to 18 characters.
Use a dbslice name in the following onutil commands.
Command
Reference
ALTER DBSLICE ADD DBSPACE
See page 3-150.
CREATE DBSLICE
See page 3-194.
CREATE LOGICAL LOGSLICE
See page 3-215.
DROP DBSLICE
See page 3-222.
Dbspace Name
You define the dbspace name when you create the dbspace with the onutil
CREATE DBSPACE command. The dbspace name can be up to 18 characters.
Derived Dbspace Identifier
A derived_dbspace_identifier is generated for a dbspace that is part of a dbslice.
A derived_dbspace_identifier has the same syntax as other identifiers except it
can contain at most one period. The period is not valid in other identifiers.
A number follows the period. This number is called the ordinal of the
dbspace. The ordinal number indicates the placement of the dbspace within
a dbslice, based on the order in which the dbspaces were created. When you
create more than one dbspace in a dbslice, each dbspace contains a different
ordinal number.
For example, if acctg_dbsp is the name of a dbslice, the onutil CREATE
DBSLICE command creates the following derived dbspace identifiers:
acctg_dbsp.1
acctg_dbsp.2
3-146
Informix Administrator’s Reference
onutil: Check, Define, and Modify Storage Objects
Use a derived_dbspace_identifier in the following onutil commands.
Command
Reference
ALTER DBSLICE ADD DBSPACE
See page 3-150.
ALTER DBSPACE
See page 3-159.
CHECK DATA
See page 3-171.
CHECK INFO
See page 3-178.
CREATE DBSLICE
See page 3-194.
CREATE LOGICAL LOG
See page 3-212.
DISPLAY PAGE
See page 3-217.
DROP DBSPACE
See page 3-223.
Index Name
An index_name is generated for an index or indexes of a table or a database. It
has the same syntax as other identifiers.
Use an index_name in the following onutil commands.
Command
Reference
CHECK INDEX
See page 3-174.
CHECK INDEX WITH DATA
See page 3-176.
Logslice Name
You define the logslice name in the onutil CREATE LOGICAL LOGSLICE
command. The logslice name can be up to 18 characters.
Utilities 3-147
onutil: Check, Define, and Modify Storage Objects
Use a logslice name in the following onutil commands.
Command
Reference
ALTER LOGICAL LOGSLICE
See page 3-167.
CREATE LOGICAL LOGSLICE
See page 3-215.
DROP LOGSLICE
See page 3-226.
Pathname Format
Use a pathname_format variable to generate a pathname for a chunk when you
create a dbslice for root dbspaces, mirrors for root dbspaces, physical-log
dbspaces, and dbspaces for database tables, or add dbspaces to a dbslice.
When you create or alter a dbslice, you can use a pathname format. You can
use the following embedded formatting characters for pathname formats:
%c
%n
%o
%r(first..last)
These embedded formatting characters have the following meanings:
3-148
%c
is a formatting character that is replaced with the coserver number of
the coserver on which a dbspace is to be created. The coserver number
is the value that you specified on the COSERVER configuration
parameter for this coserver. If the number is less than 10, the number
does not have a leading zero.
%n
is a formatting character that is replaced with the host name of the
node for the coserver on which a dbspace is to be created. The host
name is the value that you specified in the NODE configuration
parameter for this coserver.
%o
is a formatting character that is replaced with the ordinal number of a
dbspace within a dbslice.
Informix Administrator’s Reference
onutil: Check, Define, and Modify Storage Objects
When you create a dbslice from multiple dbspaces on each coserver, you can
use the following embedded formatting characters for pathname formats:
%r(first..last) are formatting characters that are replaced by integer values in
the range that first and last specify to produce a list of coserver
names.
For more details on the use of pathname formats and the onutil CREATE
DBSLICE command, refer to “CREATE DBSLICE” on page 3-194. For information about what a dbslice is, refer to the chapter on where data is stored in
the Administrator’s Guide.
You can also use the %c and %n formatting characters in the following
situations:
■
In conjunction with the ROOTSLICE configuration parameter
To use a pathname format to create root dbspaces on multiple
coservers, specify the pathname format in the ROOTPATH configuration parameter. For more information, refer to “ROOTPATH” on
page 1-128.
■
In the MIRRORPATH configuration parameter
To use a pathname format to create mirrors for root dbspaces on
multiple coservers, specify the pathname format in the MIRRORPATH
configuration parameter. For more information, refer to
“MIRRORPATH” on page 1-92.
■
In conjunction with the PHYSSLICE configuration parameter
To use a pathname format to assign dbspaces for physical logs on
multiple coservers, specify the pathname format in the PHYSDBS
configuration parameter. For more information, refer to “PHYSDBS”
on page 1-118.
The xctl onstat -d command displays the generated value of the pathname
format when you display dbspaces and chunks that are part of a dbslice. For
more information about monitoring chunks, refer to monitoring the database
server for disabling I/O errors in the chapter on managing disk space in the
Administrator’s Guide.
Utilities 3-149
ALTER DBSLICE ADD DBSPACE
ALTER DBSLICE ADD DBSPACE
Use the onutil ALTER DBSLICE ADD DBSPACE command to add dbspaces to
a dbslice. You can either add dbspaces to a dbslice on the coservers where
they were created or expand a dbslice to another coserver.
The onutil ALTER DBSLICE ADD DBSPACE command does not move or
redefine user data. After you alter the dbslice, you can store new tables in
either the new or old dbspaces.
These new dbspaces are not automatically visible to the existing tables in the
dbslice. Refragment the existing tables to enable them to use the new
dbspaces in the dbslice. To refragment existing tables, use the ALTER
FRAGMENT command, described in the Informix Guide to SQL: Syntax.
Syntax
,
ALTER DBSLICE
dbslice_name
ADD DBSPACE
Dbslice
Component
FROM
Dbslice
Component
Coserver
Component
p. 3-151
CHUNK
Pathname
Definition
p. 3-152
SIZE size
KBYTES
MBYTES
GBYTES
MIRROR
3-150
Informix Administrator’s Reference
Pathname
Definition
p. 3-152
ALTER DBSLICE ADD DBSPACE
Element
dbslice_name
Purpose
The name of the dbslice to alter
size
The size of the initial chunk of
each new dbspace
Restrictions
The dbslice must exist.
Syntax
See “Dbslice Name”
on page 3-146.
Value must be greater than 0.
Unsigned integer;
Size must not exceed
default unit is
4 gigabytes. Can specify units of kilobytes.
kilobytes, megabytes, or
gigabytes.
Coserver Component
Coserver
Component
COGROUP
cogroup_name
coserver_name
coserver_range_identifier
Element
cogroup_name
Purpose
The name of a cogroup in the
database server
The name of a coserver that the
database server automatically
generates. A coserver name has
the following format:
dbserername.coserver_number
coserver_range_ The range of coservers in the
identifier
dbslice. Coserver range identifiers can include embedded
formatting characters of the
following form: %r(first..last)
Restrictions
The cogroup name must exist
when you execute the
command. Name must be
unique within a database
server.
coserver_name
Syntax
See “Cogroup Name”
on page 3-141.
See “Coserver Name”
on page 3-142.
These formatting characters
are replaced by integer values
in the range that first and last
specify to produce a list of
coserver names.
See “Coserver Range
Identifier” on
page 3-145.
Utilities 3-151
ALTER DBSLICE ADD DBSPACE
Pathname Definition
Pathname
Definition
Pathname
Format
" pathname "
OFFSET offset
Pathname
Format
"
prefix
"
pathname_fragment
%c
%n
%o
1
%r
(
first
,, last
)
,
Element
first
last
Purpose
Restrictions
The starting value of the integer The value of first must be equal
to substitute for each path
to or less than the value of last.
Syntax
Unsigned integer
When first is in the pathname, its
value can be any integer that
makes each generated pathname
unique.
The ending value of the integer The value of last must be equal to Unsigned integer
to substitute in each path
or larger than first.
When last is in the pathname, its
value can be any integer that
makes each generated pathname
unique.
(1 of 3)
3-152
Informix Administrator’s Reference
ALTER DBSLICE ADD DBSPACE
Element
offset
Purpose
The offset, in kilobytes, into the
file or raw device to reach the
chunk of each dbspace
pathname
Pathname must
conform to the rules
specific to your
operating system.
The pathname can optionally
See “Pathname
contain formatting characters.
Format” on
page 3-148.
The portion of the directory
The directory name must corre- The directory name
name pathname that precedes the spond to files that exist on the
must conform to the
formatting character
applicable coservers.
rules specific to your
operating system.
The portion of the generated
The generated pathnames must Pathname must
pathname that follows the
correspond to files that exist on conform to the rules
formatting characters
the applicable coservers. You can specific to your
intersperse the formatting
operating system.
characters in between parts of
See “Pathname
the pathname.
Format” on
page 3-148.
A formatting character that is
If the number is less than 10, the See “Generating
replaced with the number of the number does not have a leading Pathnames with
coserver on which a dbspace is zero.
Coserver Numbers”
to be created. The number is the
on page 3-200.
value that you specified in the
COSERVER configuration
parameter for this coserver.
A formatting character that is
The host name is the value that See “Generating
replaced with the host name of you specified in the NODE
Pathnames with
the node for the coserver on
configuration parameter for this Node Names” on
which a dbspace is to be created. coserver.
page 3-201.
prefix
pathname_
fragment
%c
%n
Restrictions
Value must be greater than or
equal to 0. See specifying an
offset in the chapter on
managing disk space in the
Administrator’s Guide.
The file or raw device of the first The chunk must be a file or raw
chunk in the dbspace on each
device. Use a full pathname.
node
Syntax
Unsigned integer
(2 of 3)
Utilities 3-153
ALTER DBSLICE ADD DBSPACE
Element
%o
Purpose
A formatting character that is
replaced with the ordinal
number of a dbspace within a
dbslice
%r(first..last)
Restrictions
The ordinal number starts
numbering at 1 plus the old
dbspace count of the dbslice.
Syntax
See “Generating
Pathnames with
Dbspace Ordinal
Numbers” on
page 3-201.
Formatting characters that are
You can specify the %r(first..last) See “Generating
replaced by successive integer
formatting characters only once Pathnames for
values in the range that first and in a pathname format.
Multiple Dbspaces
last specify
per Coserver” on
page 3-202.
(3 of 3)
Usage
Use the onutil ALTER DBSLICE ADD DBSPACE command to add dbspaces to
a dbslice on one or more coservers. The new dbspaces do not need to be the
same size as the old dbspaces in the dbslice. The database server must be in
on-line or quiescent mode when you alter a dbslice.
Before you alter the dbslice, use the touch command to allocate storage for
the chunk files. Use any chunk name that you want. The database server
derives the dbspace names from the dbslice name and a dbspace identifier.
For more details, see “Derived Dbspace Identifier” on page 3-146.
The new dbspaces in the dbslice are the same type as the original dbspaces in
the dbslice. If you alter a dbslice that contains mirrored dbspaces, the new
dbspaces are also mirrored. If you alter a temporary dbslice, the new
dbspaces are also temporary dbspaces.
Altering a Simple Dbslice
The following example shows the onutil ALTER DBSLICE ADD DBSPACE
command that adds a dbspace to the dbslice dbsl on coserver eds.1. The
dbslice must exist.
% onutil
1> ALTER DBSLICE dbsl ADD DBSPACE
2> FROM COGROUP eds.1
3> CHUNK "/dev/dbsl_more" SIZE 2048;
3-154
Informix Administrator’s Reference
ALTER DBSLICE ADD DBSPACE
Using Formatting Characters in a Pathname
When you alter a dbslice and add more than one dbspace to each coserver,
use embedded formatting characters in the pathname to generate uniform
chunk names for the dbspaces that make up a dbslice. The pathname specification with the embedded formatting characters is referred to as a
pathname_format. A pathname format generates unique chunk names for all
of the dbspaces in a dbslice.
You can embed the following formatting characters within a pathname
format. The onutil utility substitutes values stored internally for the %c, %n,
and %o formatting characters:
■
Use the %c formatting character to generate a pathname with the
coserver number embedded in it.
■
Use the %n formatting character to generate a pathname with the
host name of the node, or node name, embedded in it.
■
Use the %o formatting character to generate a pathname with the
dbspace ordinal number embedded in it. The database server
automatically generates the dbspace ordinal number when you add
dbspaces to a dbslice.The ordinal number indicates the order in
which the dbspaces were created.
■
Use the %r(first..last) formatting characters to generate unique
pathnames or chunk names for each dbspace on a coserver. You can
create multiple uniform dbspaces per coserver within the same
dbslice.
■
The following rules describe how to combine the formatting
characters:
❑
You can combine the %r(first..last) formatting characters with
any number of %c, %n, and %o formatting characters in a single
dbslice component.
❑
You can specify multiple instances of the %c, %n, and %o
formatting characters in a single dbslice component.
❑
You can specify the %r(first..last) formatting characters only once
in a pathname format.
Utilities 3-155
ALTER DBSLICE ADD DBSPACE
Adding Dbspaces on a New Coserver to a Dbslice
The following example shows the onutil CREATE COGROUP command to
create a cogroup for three coservers and the onutil CREATE DBSLICE
command to create a dbslice that contains six dbspaces numbered dbsl.1
through dbsl.6:
% onutil
1> CREATE COGROUP c123 FROM eds.%r(1..3)
Cogroup successfully created.
2> CREATE DBSLICE dbsl FROM COGROUP c123
3> CHUNK "/dev/dbspaces/dbsl_123.%r(1..2)" SIZE 1024;
The database server creates the following dbspaces on the three coservers.
The %r(first..last) formatting characters tell the database server to create two
dbspace chunks on coservers eds.1 through eds.3.
Coserver
Dbspace Name
Pathname of Primary Chunk
eds.1
eds.1
eds.2
eds.2
eds.3
eds.3
dbsl.1
dbsl.2
dbsl.3
dbsl.4
dbsl.5
dbsl.6
/dev/dbspaces/dbsl_123.1
/dev/dbspaces/dbsl_123.2
/dev/dbspaces/dbsl_123.1
/dev/dbspaces/dbsl_123.2
/dev/dbspaces/dbsl_123.1
/dev/dbspaces/dbsl_123.2
Then you add a new coserver, eds.4, to the system and want to expand the
dbslice to that coserver. The following example shows the onutil ALTER
DBSLICE ADD DBSPACE command to add dbspaces dbsl.7 and dbsl.8 to
coserver eds.4. The new dbspaces can be either the same size as the old
dbspaces in the dbslice or a different size.
% onutil
1> ALTER DBSLICE dbsl ADD DBSPACE FROM
2> COGROUP eds.4
3> CHUNK "/dev/dbspaces/dbsl_4.%r(1..2)" SIZE 1024;
The range identifier %r(1..2) tells the database server to create two dbspaces
on coserver eds.4 and automatically numbers them.
3-156
eds.1
eds.2
eds.3
eds.4
dbsl.1
dbsl.2
dbsl.3
dbsl.4
dbsl.5
dbsl.6
dbsl.7
dbsl.8
Informix Administrator’s Reference
ALTER DBSLICE ADD DBSPACE
Tip: To expand a dbslice to two or more coservers, you can specify either a
coserver_range_identifier or a cogroup composed of the new coservers in the onutil
ALTER DBSLICE ADD DBSPACE command.
Adding Dbspaces to a Dbslice on All Coservers
Now you want to add more dbspaces to the dbslice on all four coservers. The
following example shows the onutil ALTER DBSLICE ADD DBSPACE
command to add dbspaces dbsl.9 through dbsl.12 to all four coservers. This
time, use cogroup_all to include all the coservers on the database server.
% onutil
1> ALTER DBSLICE dbsl ADD DBSPACE FROM
2> COGROUP cogroup_all
3> CHUNK "/dev/dbspaces/dbsl_1234" SIZE 1024;
The database server creates the additional dbspaces on the four coservers.
eds.1
eds.2
eds.3
eds.4
dbsl.1
dbsl.2
dbsl.9
dbsl.3
dbsl.4
dbsl.10
dbsl.5
dbsl.6
dbsl.11
dbsl.7
dbsl.8
dbsl.12
Adding Mirrored Dbspaces to a Dbslice
Suppose you have a database server that is using mirroring with two
coservers. The following example shows the onutil CREATE DBSLICE
command to create mirrored dbspaces on each coserver:
% onutil
1> CREATE DBSLICE dbsl FROM COGROUP cogroup_all
2> CHUNK "/disk3/dbspace/dbsl.%c" SIZE 500 MBYTES
3> MIRROR "/disk4/dbspace/dbsl_mir.%c";
The database server creates the mirrored dbspaces on the coservers.
Coserver
Dbspace
Primary Chunk
Mirror Chunk
eds.1
eds.2
dbsl.1
dbsl.2
/disk3/dbspace/dbsl.1
/disk3/dbspace/dbsl.2
/disk4/dbspace/dbsl_mir.1
/disk4/dbspace/dbsl_mir.2
Utilities 3-157
ALTER DBSLICE ADD DBSPACE
The following example shows the onutil ALTER DBSLICE ADD DBSPACE
command with the MIRROR option to add mirrored dbspaces to dbslice dbsl
on each coserver:
% onutil
1> ALTER DBSLICE dbsl ADD DBSPACE
2> FROM COGROUP cogroup_all
3> CHUNK "/disk3/dbspace/dbsl2.%c" SIZE 1000 MBYTES
3> MIRROR "/disk4/dbspace/dbsl_mir2.%c";
The database server adds mirrored dbspaces to the dbslice on both coservers.
3-158
Coserver
Dbspace
Primary Chunk
Mirror Chunk
eds.1
eds.2
eds.1
eds.2
dbsl.1
dbsl.2
dbsl.3
dbsl.4
/disk3/dbspace/dbsl.1
/disk3/dbspace/dbsl.2
/disk3/dbspace/dbsl2.1
/disk3/dbspace/dbsl2.2
/disk4/dbspace/dbsl_mir.1
/disk4/dbspace/dbsl_mir.2
/disk4/dbspace/dbsl_mir2.1
/disk4/dbspace/dbsl_mir2.2
Informix Administrator’s Reference
ALTER DBSPACE
ALTER DBSPACE
The onutil ALTER DBSPACE command lets you perform the following actions:
■
Add a chunk
■
Drop a chunk
■
Start mirroring
■
Stop mirroring
■
Change chunk status to on-line or off-line
Syntax
ALTER DBSPACE
dbspace_identifier
ADD CHUNK Clause p. 3-160
dbspace_name
DROP CHUNK Clause p. 3-163
START MIRRORING Clause p. 3-164
STOP MIRRORING Clause p. 3-166
CHANGE STATUS Clause p. 3-162
Element
dbspace_
identifier
Purpose
The generated name of the
dbspace that you want to
alter
Restrictions
This element must be an existing
dbspace that was generated when
you created a dbslice. Name must be
of the form:
Syntax
See “Derived Dbspace
Identifier” on
page 3-146.
slicename.ordinal
The value for slicename must be the
same as the dbslice name that you
used when you created the dbslice
dbspace_
name
Name of the dbspace that
you want to alter
The value for ordinal must be an
unsigned integer.
The dbspace name must exist.
See “Identifiers in onutil
Commands” on
page 3-140.
Utilities 3-159
ALTER DBSPACE
Usage
The database server must be in on-line or quiescent mode when you use the
onutil ALTER DBSPACE command.
Add a Chunk
ADD CHUNK Clause
Chunk Definition
ADD CHUNK
Mirror Definition
Chunk Definition
"pathname "
SIZE size
OFFSET offset
KBYTES
MBYTES
GBYTES
Mirror Definition
MIRROR
"pathname "
OFFSET offset
Element
pathname
offset
size
3-160
Purpose
The file or raw device for the
dbspace chunk that you are
adding
Restrictions
When you specify a pathname, use a
full pathname. If you use a relative
pathname, it must be relative to the
directory that was the current
directory when you initialized the
database server.
The offset, in kilobytes, into
Value must be greater than 0. See
the file or raw device to reach specifying an offset in the chapter on
the chunk
managing disk space in the Administrator’s Guide.
The chunk size of the new
Value must be greater than 0. Size
dbspace
must not exceed 4 gigabytes.
Informix Administrator’s Reference
Syntax
Pathname must
conform to the
operating-systemspecific rules for
pathnames.
Unsigned integer.
Unsigned integer;
default size unit is
kilobytes.
ALTER DBSPACE
Usage
Use the onutil ALTER DBSPACE command with the ADD CHUNK clause to
add a chunk to an existing dbspace. You can use the following keywords.
Keyword
Description
CHUNK
Specifies the file or raw device for the chunk that you want to add.
MIRROR
Specifies the file or raw device for the chunk that performs the
mirroring. Use the MIRROR keyword when you want to mirror the
new chunk.
Adding a Chunk to a Dbspace
The following example shows how to use onutil ALTER DBSPACE to add a
1000-kilobyte chunk, test_chunk, to the root dbspace:
% onutil
1> ALTER DBSPACE rootdbs
2> ADD CHUNK "/ix/mywork/test_chunk"
3> OFFSET 0 SIZE 1000;
Chunk successfully added.
Utilities 3-161
ALTER DBSPACE
Change Status of a Mirrored Chunk
Change Status
Clause
(
OFFLINE
)
CHUNK
" pathname "
OFFSET offset
ONLINE
Element
offset
pathname
Purpose
The offset, in kilobytes, into
the file or raw device to
reach the chunk
The pathname of the chunk.
Restrictions
Value must be greater than or equal to
0. See the chapter on managing disk
space in the Administrator’s Guide.
The chunk must be an existing file or
raw device. Use a full pathname.
Syntax
Unsigned integer.
Pathname must
conform to the
operating-systemspecific rules for
pathnames.
Usage
Use the onutil ALTER DBSPACE command with the OFFLINE or ONLINE
clause to change the status of an existing chunk. You can use the following
keywords.
3-162
Keyword
Description
OFFLINE
Takes the chunk down.
ONLINE
Restores the chunk and brings it on-line.
Informix Administrator’s Reference
ALTER DBSPACE
Taking a Mirrored Chunk Off-line
You can only change the status of a chunk in a mirrored pair. The following
example shows how to use onutil ALTER DBSPACE to take a mirrored chunk
off-line. For more information, refer to the chapter on using mirroring in the
Administrator’s Guide.
% onutil
1> ALTER DBSPACE rootdbs OFFLINE
2> CHUNK "/ix/mywork/mirr_chunk";
Drop a Chunk
DROP CHUNK Clause
DROP CHUNK
" pathname "
OFFSET offset
Element
offset
pathname
Purpose
The offset, in kilobytes, into
the file or raw device to
reach the chunk
The file or raw device for the
chunk that you are
dropping
Restrictions
Value must be greater than or equal to
0. See the chapter on managing disk
space in the Administrator’s Guide.
The chunk must be an existing file or
raw device. Use a full pathname.
Syntax
Unsigned integer.
Pathname must
conform to the
operating-systemspecific rules for
pathnames.
Usage
Use the onutil ALTER DBSPACE command with the DROP CHUNK clause to
drop a chunk. If you drop a chunk that is mirrored, the mirrored chunk is also
dropped.
Utilities 3-163
ALTER DBSPACE
Dropping a Chunk from a Dbspace
The following example shows how to use onutil ALTER DBSPACE to drop a
chunk, test_chunk, from the root dbspace:
% onutil
1> ALTER DBSPACE rootdbs
2> DROP CHUNK "/ix/mywork/test_chunk"
3> OFFSET 0
Chunk successfully dropped.
The chunk must be empty before you can drop it. You must free all pages
other than overhead pages. If any pages remain allocated to nonoverhead
entities, onutil returns the following error:
Chunk is not empty.
You cannot drop the initial chunk of a dbspace. Use the chunk column of xctl
onstat -d to determine the initial chunk of a dbspace. For more information,
see “The onstat -d Option” on page 3-98.
Start Mirroring
START MIRRORING Clause
START MIRRORING
Path Definition
Path Definition
,
CHUNK
" pathname "
MIRROR
OFFSET offset
3-164
Informix Administrator’s Reference
" pathname "
OFFSET offset
ALTER DBSPACE
Element
offset
pathname
Purpose
The offset, in kilobytes, into
the file or raw device to
reach the chunk
The file or raw device for the
chunk
Restrictions
Value must be greater than 0. See the
chapter on managing disk space in the
Administrator’s Guide.
The chunk that you want to mirror
must be an existing file or raw device.
You can use a full pathname or a
relative pathname. However, if you
use a relative pathname, it must be
relative to the directory that was the
current directory when you initialized
the database server.
Syntax
Unsigned integer.
Pathname must
conform to the
operating-systemspecific rules for
pathnames.
Usage
Use the ALTER DBSPACE onutil command with the START MIRRORING clause
to mirror an existing dbspace. You can use the following keywords.
Keyword
Description
CHUNK
Specifies the file or raw device of the initial chunk of the dbspace
that you want to mirror.
MIRROR
Specifies the file or raw device of the initial chunk of the dbspace
that performs the mirroring. Use the MIRROR keyword when you
want to mirror the new chunk.
Enabling Mirroring for a Chunk
Before you can enable mirroring, set the MIRROR parameter to 1 in the
ONCONFIG file and restart the database server. Also, allocate disk space for
the mirrored chunk. The following example shows how to use onutil ALTER
DBSPACE to start mirroring for the root dbspace:
% onutil
1> ALTER DBSPACE rootdbs START MIRRORING
2> CHUNK "/ix/mywork/root_chunk.1"
3> MIRROR "/ix/mywork/mirr_chunk";
Utilities 3-165
ALTER DBSPACE
Stop Mirroring
STOP MIRRORING Clause
STOP MIRRORING
Element
dbspace_
identifier
Purpose
The generated name of the
dbspace for which you want
to end mirroring
Restrictions
Element must be an existing dbspace
that was generated when you created
a dbslice. Name must be of the form:
Syntax
See “Derived Dbspace
Identifier” on
page 3-146.
slicename.ordinal
The slicename value must be the same
as the dbslice name that you used
when you created the dbslice.
dbspace_
name
Name of the dbspace for
which you want to end
mirroring
The ordinal value must be an
unsigned integer.
See ending mirroring in the chapter
on using mirroring in the Administrator’s Guide.
See “Identifiers in onutil
Commands” on
page 3-140.
Usage
Use the onutil ALTER DBSPACE command with the STOP MIRRORING clause
to end mirroring of an existing dbspace.
3-166
Informix Administrator’s Reference
ALTER LOGSLICE ADD LOGS
ALTER LOGSLICE ADD LOGS
The onutil ALTER LOGSLICE ADD LOGS command allows you to add logicallog files to a logslice.
Syntax
LOGSLICE
ALTER
LOGICAL
Element
logslice_name
LOGICAL
logslice_name
LOGS
ADD
LOGICAL
Purpose
Name of the logslice
Restrictions
Syntax
The name must identify See “Logslice Name” on
an existing logslice.
page 3-147.
Optional keyword that does None.
not change the command.
Utilities 3-167
ALTER LOGSLICE ADD LOGS
Usage
The database server must be in quiescent mode when you alter a logslice.
Use the onutil ALTER LOGSLICE ADD LOGS command with the onutil ALTER
DBSLICE command, which adds new dbspaces to a specific dbslice. If this
dbslice contains a logslice, use the onutil ALTER LOGSLICE command to add
logical logs to the new dbspaces in dbslice, thus extending the number of
logical logs in this logslice. Each dbspace that was added to the dbslice since
the logslice was last created or altered gets a new log file.
The database server automatically figures the size of the new log files in the
logslice. One log file is put into every dbspace in this dbslice.
When to Add Log Files to a Logslice
If you add more dbspaces to a dbslice but do not change the number of
coservers represented in the dbslice, you do not need to add more log files to
the logslice.
If you add new coservers to the database server, you should add log files to
the logslice for the dbspaces on the new coservers. If you add existing
coservers to a dbslice, you might want to add log files to the logslice.
Procedure for Altering a Logslice
Before you can use the onutil ALTER LOGSLICE ADD LOGS command, you
must already have created a logslice. (A given dbslice can have more than
one logslice.)
To alter a logslice
3-168
1.
Alter this dbslice. (When you alter a dbslice, you are adding
dbspaces to the coservers represented in this dbslice).
2.
Ensure that the new dbspaces in the dbslice are large enough to hold
a log file.
3.
Place the database server in quiescent mode.
4.
Now you can alter the logslice (add log files to it).
Informix Administrator’s Reference
ALTER LOGSLICE ADD LOGS
Adding Log Files to a Logslice
This example shows a dbslice dbsl that contains six dbspaces on three
coservers, eds.1 through eds.3. Coserver eds.4 does not contain any dbspaces
in the dbslice. The onutil CREATE LOGICAL LOGSLICE command places two
512-kilobyte logical logs on each coserver.
% onutil
1> CREATE LOGICAL LOGSLICE mylogslice
2> IN DBSLICE dbsl SIZE 512;
Then you alter dbslice dbsl by adding three dbspaces to coserver eds.4 and
one dbspace each to coservers eds.1 through eds.3. The database server
creates additional dbspaces on the four coservers.
eds.1
eds.2
eds.3
eds.4
dbsl.1
dbsl.2
dbsl.9
dbsl.3
dbsl.4
dbsl.10
dbsl.5
dbsl.6
dbsl.11
dbsl.7
dbsl.8
dbsl.12
Then you use the onutil ALTER LOGSLICE ADD LOGS command to add log
files to the six new dbspaces in the dbslice. This command adds one log file
each to coservers eds.1 through eds.3 and three log files to coserver eds.4 for
a total of three log files on each coserver. The logslice mylogslice now
contains a total of twelve 512-kilobyte log files.
% onutil
1> ALTER LOGSLICE mylogslice ADD LOGS;
If the database server cannot accommodate more logical logs, increase the
LOGSMAX and LOGFILES values in the ONCONFIG file and restart the
database server.
The space allocated for a logical-log file must be contiguous. The database
server does not allow you to add a log file to a dbspace without adequate
contiguous space.
Utilities 3-169
CHECK CATALOGS
CHECK CATALOGS
This command checks the internal integrity of the system catalog tables for a
database.
Syntax
CHECK CATALOGS
database_name
Element
database_name
Purpose
The name of the database
where the system catalog
tables reside
Restrictions
The database must exist.
You cannot check databases
on remote database servers.
Syntax
See Database Name in the
Informix Guide to SQL:
Syntax.
Usage
Use the onutil CHECK CATALOGS command to check the internal integrity of
that system catalog tables of a database.
For example, you can check the system catalog tables of a database with this
onutil command:
% onutil
1> CHECK CATALOGS sysmaster;
2> CHECK CATALOGS;
3-170
Informix Administrator’s Reference
CHECK DATA
CHECK DATA
The onutil CHECK DATA command checks pages and rows of a table. With
the DISPLAY clause, this command also displays the information. The WITH
BLOBS clause forces a check of all simple large objects (TEXT or BYTE data) in
the target tables.
Syntax
CHECK DATA
WITH BLOBS
TABLE
IN DATABASE
database
COSERVER
Coserver_List
p. 3-143
TABLE_FRAG
IN TABLESPACE
partnum
REPAIR
LOCK
pagenum
PAGE
DISPLAY
SAVE
IN filename
TABLE
IN TABLE
database
table_name
:
owner .
TABLE_FRAG
IN TABLE
database
:
table_name
,
dbspace_name
owner .
Utilities 3-171
CHECK DATA
Element
database
Purpose
The name of the database
where the table resides
partnum
The tblspace number that you
want to check for consistency
pagenum
An integer value that you use
to indicate a particular page
in a tblspace
The relative or absolute path
and name of the file in which
onutil stores the command
output
The name of the owner of a
table
filename
owner
table_name
The name of the table that you
want to check
Restrictions
The database must exist. You
cannot check databases on
remote database servers.
Value must be an integer
between 0 and 208,666,624,
inclusive.
Value must be an unsigned
integer between 0 and
16,777,215, inclusive.
If you run the onutil
command from the command
line, escape the double quotes
around the filename.
Owner that you specify must
be current owner of table.
Owner is mandatory for ANSI
databases.
Table must exist.
dbspace_name The name of the dbspace that The dbspace must exist.
you want to check
Syntax
See Database Name in the
Informix Guide to SQL:
Syntax.
Unsigned integer.
Unsigned integer.
Use the operating-system
rules for the filename.
The user name must
conform to the conventions
of your operating system.
See “Identifiers in onutil
Commands” on page 3-140.
See the chapter on where
data is stored in the Administrator’s Guide.
Usage
Use the onutil CHECK DATA command to check the consistency of all pages
of a table fragment or a single page of data. The onutil CHECK DATA
command checks entries in the bit-map page against the pages to verify
mapping.
Use the LOCK option of onutil CHECK DATA to place a shared lock on the
data being checked while the check is in progress. Use the REPAIR option to
repair any inconsistent indexes that CHECK DATA encounters.
A specific coserver owns and manages each dbspace. The physical disk on
which the dbspace resides belongs to the node on which the coserver
executes. This coserver is referred to as the home coserver.
3-172
Informix Administrator’s Reference
CHECK DATA
To examine only a table fragment
1.
Obtain the tblspace number for each fragment in a fragmented table.
You can use the following SQL statement:
SELECT partn FROM sysfragments,systables WHERE
systables.tabid = sysfragments.tabid
AND systables.tabname = tablename;
2.
Run the CHECK DATA command with the TABLESPACE clause, using
the tblspace number for the fragment that you want to examine.
$onutil
> CHECK DATA IN TABLESPACE 196626;
You can specify a single page to check for consistency when you specify the
PAGE clause. Use the DISPLAY clause to display a hexadecimal dump of the
specified page.
The following example shows other ways to check the consistency of a table:
$onutil
> CHECK DATA IN TABLE mydb:myname.mytable, myfrags1 PAGE 5;
> CHECK DATA IN TABLE mydb:myname.mytable COSERVER svr.2;
> CHECK DATA WITH BLOBS IN DATABASE mydb;
Messages
If onutil CHECK DATA finds an inconsistency, a message similar to the
following example appears:
BAD PAGE 20001c:pg_addr 20001c != bp-> bf_pagenum 200045
If onutil CHECK DATA finds no inconsistencies, onutil displays a header,
similar to the following example, for each table that it checks:
TBLSPACE data check for stores_demo:informix.customer
If the onutil CHECK DATA command specifies a table fragment that is not
managed by the coserver to which the onutil client is connected, a message
similar to the following example appears:
Error opening TBLspace acctg_table.
ISAM error: TBLspace does not exist
Utilities 3-173
CHECK INDEX
CHECK INDEX
The onutil CHECK INDEX command checks the ordering of key values and
the consistency of horizontal and vertical node links for B-tree indexes and
bitmaps that are associated with the specified table. With the DISPLAY clause,
onutil CHECK INDEX also displays the key values for the B-tree indexes and
bitmaps of the specified table as it checks them.
Syntax
CHECK INDEX
IN DATABASE
database
IN TABLESPACE
partnum
TABLE
INDEX
LOCK
DISPLAY
SAVE
IN
filename
TABLE
IN TABLE
database
:
table_name
owner
.
INDEX
database
#
index_name
owner
3-174
Informix Administrator’s Reference
.
CHECK INDEX
Element
database
partnum
filename
database
owner
Purpose
Restrictions
The name of the database where The database must exist.
the index resides
You cannot check databases on
remote database servers.
The table or index partition
Value must be an integer
number that you want to check between 0 and 208,666,624,
for consistency
inclusive.
The relative or absolute path and If you run the onutil command
name of the file in which onutil from the command line, escape
stores the command output
the double quotes around the
filename.
The name of the database where The database must exist.
the table or index resides
You cannot check databases on
remote database servers.
The name of the owner of a table Owner that you specify must be
current owner of table. Owner is
mandatory for ANSI databases.
table_name
The name of the table that you
want to check
Table must exist.
index_name
The name of the index that you
want to check
The index must exist.
Syntax
See Database Name
in the Informix Guide
to SQL: Syntax.
Unsigned integer.
Use the operatingsystem rules for the
filename.
See Database Name
in the Informix Guide
to SQL: Syntax.
The user name must
conform to the
conventions of your
operating system.
See “Identifiers in
onutil Commands”
on page 3-140.
See “Index Name”
on page 3-147.
Usage
Use the onutil CHECK INDEX command to check the integrity of a B-tree
index and display the contents of all nodes.
The LOCK option locks the table in share mode, so no other users can insert,
update, or delete rows in the table while the check occurs.
For example, you can check the index of a table with these onutil commands:
% onutil
1> CHECK INDEX IN DATABASE mydb;
2> CHECK INDEX IN TABLE mydb:myname.mytable;
3> CHECK INDEX IN TABLESPACE 11111 DISPLAY;
Another way to check the index of a table follows:
1> CHECK INDEX mydb#myname.myindex
Utilities 3-175
CHECK INDEX KEYS WITH DATA
CHECK INDEX KEYS WITH DATA
The onutil CHECK INDEX WITH DATA command checks the ordering of key
values and the consistency of horizontal and vertical node links for B-tree
indexes and bitmaps that are associated with the specified table. This
command also checks that the key value tied to a rowid in an index is the
same as the key value in the row.
Syntax
INDEX
CHECK INDEX WITH DATA
IN DATABASE database
TABLE
LOCK
DISPLAY
SAVE
IN
filename
TABLE
IN TABLE
database
:
table_name
owner
.
INDEX
database
#
index_name
owner
3-176
Informix Administrator’s Reference
.
CHECK INDEX KEYS WITH DATA
Element
database
filename
database
owner
table_name
index_name
Purpose
The name of the database
where the index resides
Restrictions
The database must exist.
You cannot check databases
on remote database servers.
The name of the file in which If you run the onutil
onutil stores the command
command from the
output
command line, escape the
double quotes around the
filename.
The name of the database
The database must exist.
where the table resides
You cannot check databases
on remote database servers.
The name of the owner of a Owner that you specify must
table
be current owner of table.
Owner is mandatory for
ANSI databases.
The name of the table that
Table must exist.
you want to check
Syntax
See Database Name in the
Informix Guide to SQL: Syntax.
The name of the index that
you want to check
See Object Name in the
Informix Guide to SQL: Syntax.
The index must exist.
Use the operating-system
rules for the filename.
See Database Name in the
Informix Guide to SQL: Syntax.
The user name must conform
to the conventions of your
operating system.
See “Identifiers in onutil
Commands” on page 3-140.
Usage
Use the onutil CHECK INDEX WITH DATA command to check the internal
integrity of a B-tree index and cross-check the indexed data entities.
The LOCK option locks the table in share mode, so no other users can insert,
update, or delete rows in the table while the check occurs.
For example, you can use the following onutil command to check the B-tree
index of a table:
% onutil
1> CHECK INDEX WITH DATA IN DATABASE mydb;
2> CHECK INDEX WITH DATA IN TABLE mydb:myname.mytable;
Utilities 3-177
CHECK INFO
CHECK INFO
The onutil CHECK INFO command checks space usage for a table. With the
DISPLAY clause, this command also displays the information.
Syntax
TABLE_FRAG
CHECK
TABLE
INFO
ALLOCATION
LOCK
IN TABLESPACE
partnum
IN DATABASE
database
REPAIR
DISPLAY
SAVE
IN
filename
TABLE_FRAG
IN TABLE
database
table
:
,
owner .
dbspace
TABLE
IN TABLE
database
:
table
owner .
3-178
Informix Administrator’s Reference
Coserver_List
p. 3-143
CHECK INFO
Element
partnum
database
filename
owner
table
dbspace
Purpose
A number that identifies the
tblspace that you want to check
for consistency
The name of the database where
the table resides
Restrictions
Value must be an integer
between 0 and 208,666,624,
inclusive.
The database must exist. You
cannot check databases on
remote database servers.
The relative or absolute path and If you run the onutil command
name of the file in which onutil from the command line, escape
stores the command output
the double quotes around the
filename.
The name of the owner of the
The owner that you specify must
table
be the current owner of the table.
Owner is mandatory for ANSI
databases.
The name of the table that you
Table must exist.
want to check for consistency
The name of a dbspace that
Dbspace must exist and contain
contains a fragment you want to the fragment that you want to
check for consistency
check for consistency.
Syntax
Unsigned integer.
See the Informix
Guide to SQL: Syntax.
Use the operatingsystem rules for the
filename.
The user name must
conform to the
conventions of your
operating system.
See “Identifiers in
onutil Commands”
on page 3-140.
See “Identifiers in
onutil Commands”
on page 3-140.
Usage
Use the onutil CHECK INFO command to display space usage for a table
fragment. The space usage includes the maximum row size, the number of
keys, the number of extents, the extent sizes, the pages allocated and used per
extent, the current serial value, and the date that the table was created. The
Extents fields list the physical address for the tblspace entry for the table and
the address of the first page of the first extent.
To obtain a list of all the fragments in a table, query the systabnames table in
the sysmaster database or systables system catalog table. The value in the
partnum column in this systabnames table or systables system catalog table
is the value that you specify in the partnum element in the TABLESPACE
clause.
Utilities 3-179
CHECK INFO
Use the ALLOCATION clause to display index-specific information and pageallocation information by page type, as the following example shows:
$onutil
> CHECK INFO IN TABLESPACE 1111;
> CHECK ALLOCATION INFO IN DATABASE mydb;
The LOCK option locks the table in share mode, so no other users can insert,
update, or delete rows in the table while the check occurs. The REPAIR option
repairs any inconsistencies the CHECK INFO command finds.
The command also displays the current lock level for the table. A table can
have table-level locking (instead of page-level or row-level locking). If tablelevel locking is set, the onutil CHECK [ALLOCATION] INFO command
displays the following message:
Page locking at RSAM level
Table locking at SQL level
If coarse-grain locking is set for an index, the onutil CHECK ALLOCATION
INFO IN TABLE tabname DISPLAY or onutil CHECK INFO command displays
this extra line in the section on what flags are set:
coarse-grain locking
Messages
If the onutil CHECK INFO command specifies a table fragment that is not
managed by the coserver to which the onutil client is connected, a message
similar to the following example appears:
Error opening TBLspace acctg_table.
ISAM error: TBLspace does not exist
3-180
Informix Administrator’s Reference
CHECK LOGS
CHECK LOGS
The onutil CHECK LOGS command checks consistency of pages in the
physical and logical logs. With the DISPLAY clause, this command also
displays information about the logs.
Syntax
CHECK
LOGS
Coserver_List
p. 3-143
UNIQID lognbr
DISPLAY
SAVE
IN
Element
lognbr
filename
Purpose
The logical-log uniqid.
filename
Restrictions
Value must be a valid used logicallog uniqid.
The relative or absolute path and If you run the onutil command from
name of the file in which onutil the command line, put backslashes in
stores the command output
front of the double quotes around the
filename.
Syntax
Unsigned integer.
Use the operatingsystem rules for the
filename.
Usage
Use the onutil CHECK LOGS command to check pages from the physical and
logical log. You can run CHECK LOGS when the database server is offline or
online.
Utilities 3-181
CHECK LOGS
To check an individual logical log, use the UNIQID clause. Determine the
unique ID of the logical log that you want to check with the xctl onstat -l
command and place it after the UNIQID keyword.
The following examples show different options of the CHECK LOGS
statement:
$onutil
> CHECK LOGS DISPLAY;
> CHECK LOGS UNIQID 4 SAVE IN "myfile";
> CHECK LOGS COSERVER ifmx.2;
3-182
Informix Administrator’s Reference
CHECK RESERVED
CHECK RESERVED
The onutil CHECK RESERVED command checks each of the root dbspace
reserved pages for several conditions. You can use this command when the
database is off-line. With the DISPLAY clause, this command displays
reserved-page information on your terminal.
Syntax
CHECK RESERVED
Database On-Line
Database Off-Line
Database On-Line
PAGE
Page_List
p. 3-184
Coserver_List
p. 3-143
COSERVER
DISPLAY
SAVE
IN
filename
Database Off-Line
COSERVER coserver_name
PAGE
Page_List
p. 3-184
DISPLAY
SAVE
IN
filename
Utilities 3-183
CHECK RESERVED
Element
coserver_name
Purpose
Restrictions
The name of a coserver that Name must have the following
the database server
format:
automatically generates
dbservername.number
Syntax
See “Coserver Name”
on page 3-142.
The dbservername must be the
same value that the
DBSERVERNAME configuration
parameter specifies.
filename
The number must be one of the
integers that the COSERVER
configuration parameter specifies.
The relative or absolute
If you run the onutil command
Use the operatingpath and name of the file in from the command line, escape the system rules for the
which onutil stores the
double quotes around the
filename.
command output
filename.
Page List
Page_List
,
ARCH
CHUNK
CKPT
CONFIG
DBSP
MCHUNK
PCHUNK
PZERO
SAFEWRITE
decimal_number
hexadecimal_number
3-184
Informix Administrator’s Reference
CHECK RESERVED
Element
decimal_number
hexadecimal_number
Purpose
The page number that you
want to check
The page number that you
want to check
Restrictions
Syntax
Value must be greater than 0. Unsigned decimal.
Value must be greater than 0. Unsigned
hexadecimal.
Usage
Use the onutil CHECK RESERVED command to check the integrity of the root
reserved pages and display the contents of these pages.
For example, you can check the reserved pages with the following onutil
command:
% onutil
1> CHECK RESERVED COSERVER svr.2 DISPLAY;
For an off-line check of coserver svr.2, use the following syntax:
% onutil -o
1> CHECK RESERVED COSERVER svr.2 DISPLAY;
Important: For an off-line check, you must specify a single coserver name. You can
check only a single coserver that is local to the computer from which you are
executing onutil.
If you run onutil CHECK RESERVED from the command line, you must escape
the double quotes around the filename; otherwise, the UNIX shell returns an
error:
% onutil CHECK RESERVED SAVE IN \“myfile\”
For more details about onutil CHECK RESERVED, refer to monitoring configuration information in the chapter on installing and configuring the database
server in the Administrator’s Guide.
Utilities 3-185
CHECK SPACE
CHECK SPACE
The onutil CHECK SPACE command checks each chunk free list and corresponding free space and each tblspace extent. This command also checks
overlapping extents. With the DISPLAY clause, this command also displays
the chunk and tblspace extent information as it checks the chunk free list and
corresponding free space and each tblspace extent.
Syntax
CHECK SPACE
COSERVER
Coserver_List
p. 3-143
DISPLAY
SAVE
IN
Element
filename
Purpose
The name of the file in
which onutil stores the
command output
filename
Restrictions
Syntax
If you run the onutil command from Use the operating-system
the command line, escape the
rules for the filename.
double quotes around the filename.
Usage
Use the onutil CHECK SPACE to check the extent layout of a space and to
check overlapping extents.
3-186
Informix Administrator’s Reference
CHECK SPACE
For example, you can check the index of a table with the following onutil
command:
% onutil
1> CHECK SPACE;
2> CHECK SPACE COSERVER svr.2 DISPLAY:
Utilities 3-187
CREATE COGROUP
CREATE COGROUP
Cogroups help you administer a large number of coservers. You can group
coservers into subsets to use for specific applications, system administration,
and database administration.
Extended Parallel Server automatically defines a special system cogroup,
cogroup_all, to represent all the coservers specified in your ONCONFIG
configuration file that are initialized.
Syntax
,
cogroup_name
CREATE COGROUP
Coserver_Range_
Identifier
FROM
Cogroup_Range_
Identifier
coserver_name
Cogroup_Range_
Identifier
prefix
prefix
Formatting Characters
Formatting Characters
suffix
Coserver_Range_
Identifier
.
dbservername
Formatting Characters
Formatting Characters
%r
3-188
Informix Administrator’s Reference
(
first
..
last
)
CREATE COGROUP
Element
cogroup_name
coserver_name
Purpose
The name of the new
cogroup in the database
server
The name of a coserver
that the database server
automatically generates
Restrictions
Name must be unique within a
database server.
Syntax
See “Cogroup Name” on
page 3-141.
Name must have the following
format:
See “Coserver Name” on
page 3-142.
dbservername.number
The dbservername must be the
same value that the
DBSERVERNAME configuration
parameter specifies.
prefix
suffix
dbservername
The number must be one of the
integers that the COSERVER
configuration parameter
specifies.
The alphabetic portion of The combination of the prefix,
the generated cogroup
formatting character, and suffix
name that precedes the
must not exceed 18 characters.
formatting character
The alphabetic portion of The combination of the prefix,
the generated cogroup
formatting character, and suffix
name that follows the
must not exceed 18 characters.
formatting character
The name of the database You must use the same value that
server
the DBSERVERNAME configuration parameter specifies.
See “Pathname Format”
on page 3-148 and
“Coserver List” on
page 3-143.
See “Identifiers in onutil
Commands” on
page 3-140 and “Coserver
List” on page 3-143.
See “DBSERVERNAME”
on page 1-38.
(1 of 2)
Utilities 3-189
CREATE COGROUP
Element
first
last
Purpose
The starting integer value
to substitute in a cogroup
or coserver name
Restrictions
Syntax
The value of first must be equal to This value must be an
or less than last.
unsigned integer.
When first is in the COGROUP
clause, its value can be any
integer that makes the cogroup
name unique.
When last is in a FROM clause, it
must be one of the values that the
COSERVER configuration
parameter specifies.
The ending integer value The value of last must be equal to This value must be an
to substitute for the
or larger than first.
unsigned integer.
cogroup or coserver
When last is in the COGROUP
name
clause, its value can be any
integer that makes the cogroup
name unique.
When last is in a FROM clause, it
must be one of the values that the
COSERVER configuration
parameter specifies.
(2 of 2)
Usage
You must create a cogroup before you can create a dbslice. Use the onutil
CREATE COGROUP command to create a new group of coservers in your
database server. Cogroups make managing coservers simpler. Instead of
specifying a long list of coservers in onutil commands, you specify a cogroup
name.
The following examples assume that your ONCONFIG file contains the
configuration parameters shown in Figure 3-5 on page 3-191, an excerpt of a
sample ONCONFIG file that configures an Extended Parallel Server database
server and 16 coservers.
3-190
Informix Administrator’s Reference
CREATE COGROUP
DBSERVERNAME eds
ROOTSLICE
ROOTPATH
ROOTOFFSET
ROOTSIZE
rootdbs
/work/dbspaces/rootdbs_%c
0
40000
MIRRORSLICE
MIRRORPATH
MIRROROFFSET
MIRROR
mirror
/work/dbspaces/mirror_%c
0
1 # 1 = yes
PHYSSLICE
PHYSDBS
PHYSSIZE
rootdbs
physdbs_%c
8000
LOGFILES
LOGSIZE
...
COSERVER
NODE
...
END
...
COSERVER
NODE
...
END
3
1000
Figure 3-5
Excerpt of Sample
ONCONFIG File
1
NODE1
16
NODE16
Creating the New Cogroup
When you create a cogroup, you can specify the cogroup name with either an
identifier or a cogroup range identifier. For more details on identifiers and
cogroup range identifiers, see “Identifiers in onutil Commands” on
page 3-140 and “Coserver List” on page 3-143.
The following example shows an onutil CREATE COGROUP command in
which an identifier names the new cogroup:
% onutil
1> CREATE COGROUP acctg_cogroup_east
2> FROM eds.1, eds.2, eds.3, eds.4, eds.5, eds.6;
Utilities 3-191
CREATE COGROUP
The following example shows a CREATE COGROUP command in which a
cogroup range identifier names the new cogroup:
% onutil
1> CREATE COGROUP cg%r(1..2)
2> FROM eds.%r(13..16);
To produce a list of cogroup names, the %r formatting character in the
COGROUP clause is iteratively substituted with the integer values that the
range list specifies.
This example creates the following cogroups:
■
The cg1 cogroup consists of coservers eds.13 and eds.14.
■
The cg2 cogroup consists of coservers eds.15 and eds.16.
To produce a list of coserver names, the %r formatting character in the FROM
clause is iteratively substituted with the integer values that the range list
specifies.
Important: The number of coserver values in the FROM clause must be a multiple of
the number of cogroup values in COGROUP.
Specifying Coservers for the New Cogroup
You can create a cogroup from:
■
a list of coserver names.
■
a coserver range identifier.
■
a combination of coserver names and coserver range identifier.
Creating a Cogroup from a List of Coserver Names
The following example shows the onutil CREATE COGROUP command to
create a cogroup from coserver names for the first six coservers shown in
“Excerpt of Sample ONCONFIG File” on page 3-191:
% onutil
1> create cogroup acctg_cogroup_east
2> from eds.1, eds.2, eds.3, eds.4, eds.5, eds.6;
3-192
Informix Administrator’s Reference
CREATE COGROUP
Creating a Cogroup from a Coserver Range Identifier
The following example shows the CREATE COGROUP command to create a
cogroup from a coserver range identifier for the next six coservers:
% onutil
1> CREATE COGROUP acctg_cogroup_west
2> FROM eds.%r(7..12);
To produce a list of coserver names, the %r formatting character is iteratively
substituted with the integer values that the range list specifies.
Creating a Cogroup from a Combination of Coserver Names and Coserver
Range Identifiers
The following example shows the CREATE COGROUP command to create a
cogroup from a combination of coserver names and coserver range identifier:
% onutil
1> CREATE COGROUP acctg_cogroup_west
2> FROM eds.5, eds.%r(7..12);
References
For more information, see coserver groups in the chapter that introduces the
database server in the Administrator’s Guide. For more information about
configuring coservers, refer to the chapter on configuration parameters in the
Administrator’s Guide.
Utilities 3-193
CREATE DBSLICE
CREATE DBSLICE
Use the onutil CREATE DBSLICE command to create a set of dbspaces that are
managed as a single storage object across multiple coservers.
Syntax
,
CREATE
DBSLICE dbslice_name
Dbslice
Component
FROM
TEMP
Dbslice
Component
COGROUP cogroup_name
CHUNK
Pathname
Definition
p. 3-195
SIZE size
KBYTES
MBYTES
GBYTES
MIRROR
3-194
Informix Administrator’s Reference
Pathname
Definition
p. 3-195
CREATE DBSLICE
Element
cogroup_name
Purpose
The name of a cogroup or
coserver in the database server
Restrictions
The cogroup name must exist
when you execute the command.
Name must be unique within a
database server.
The name of the dbslice to create Name must be unique within a
database server.
dbslice_name
size
Syntax
See “Identifiers in
onutil Commands”
on page 3-140.
See “Identifiers in
onutil Commands”
on page 3-140.
Value must be greater than 0.
Unsigned integer;
Size must not exceed
default unit is
4 gigabytes. Can specify units of kilobytes.
kilobytes, megabytes, or
gigabytes.
The size of the initial chunk of
each new dbspace
Pathname Definition
Pathname
Definition
Pathname
Format
" pathname "
OFFSET offset
Pathname
Format
"
prefix
"
pathname_fragment
%c
%n
%o
1
%r
(
first
..
last
)
.
Utilities 3-195
CREATE DBSLICE
Element
first
Purpose
Restrictions
The starting value of the integer The value of first must be equal
to substitute for each path
to or less than the value of last.
Syntax
Unsigned integer
When first is in the pathname, its
value can be any integer that
makes each generated pathname
unique.
The ending value of the integer The value of last must be equal to Unsigned integer
to substitute in each path
or larger than first.
last
When last is in the pathname, its
value can be any integer that
makes each generated pathname
unique.
The offset, in kilobytes, into the Value must be greater than or
file or raw device to reach the
equal to 0. See specifying an
chunk of each dbspace
offset in the chapter on
managing disk space in the
Administrator’s Guide.
The file or raw device of the first The chunk must be a file or raw
chunk in the dbspace on each
device. Use a full pathname.
node
The pathname can optionally
offset
pathname
prefix
The portion of the directory
name that precedes the
formatting character
pathname_
fragment
The portion of the generated
pathname that follows the
formatting characters
Unsigned integer
Pathname must
conform to the rules
specific to your
contains formatting characters. operating system.
See “Pathname
Format” on
page 3-148.
The generated directory names The directory name
must correspond to directories must conform to the
that exist on the applicable
rules specific to your
coservers.
operating system.
The generated pathnames must Pathname must
correspond to files that exist on conform to the rules
the applicable coservers. You can specific to your
intersperse the formatting
operating system.
characters in between parts of
See “Pathname
the pathname.
Format” on
page 3-148.
(1 of 2)
3-196
Informix Administrator’s Reference
CREATE DBSLICE
Element
%c
%n
%o
%r(first..last)
Purpose
A formatting character that is
replaced with the number of the
coserver on which a dbspace is
to be created
The number is the value that you
specified in the COSERVER
configuration parameter for this
coserver.
A formatting character that is
replaced with the host name of
the node for the coserver on
which a dbspace is to be created
A formatting character that is
replaced with the ordinal
number of a dbspace within a
dbslice
Restrictions
If the number is less than 10, the
number does not have a leading
zero.
Syntax
See “Generating
Pathnames with
Coserver Numbers”
on page 3-200.
The host name is the value that
you specified in the NODE
configuration parameter for this
coserver.
The ordinal numbering starts at
1.
See “Generating
Pathnames with
Node Names” on
page 3-201.
See “Generating
Pathnames with
Dbspace Ordinal
Numbers” on
page 3-201.
Formatting characters that are
You can specify the %r(first..last) See “Generating
replaced by successive integer
formatting characters only once Pathnames for
values in the range that first and in a pathname format.
Multiple Dbspaces
last specify
per Coserver” on
page 3-202.
(2 of 2)
Usage
Use the onutil CREATE DBSLICE command to create groups of dbspaces that
you manage as a single logical storage unit. The database server must be in
on-line or quiescent mode when you create a dbslice.
Specifying Uniform Dbspaces in a Dbslice
When you create a dbslice, the database server creates uniform dbspaces
across one or more existing cogroups.
Utilities 3-197
CREATE DBSLICE
Each dbslice component in the FROM clause specifies the dbspaces to create
for a dbslice. You must specify the cogroup, pathname, and size in each
dbslice component. The following example shows the onutil CREATE
DBSLICE command that creates a dbspace on each coserver in cogroup_all:
% onutil
1> CREATE DBSLICE dbsl
2> FROM cogroup cogroup_all
3> CHUNK "/dev/dbsl_all"
4> OFFSET 1024 SIZE 1024;
This example assumes that your ONCONFIG file defines 16 coservers, as
shown in Figure 3-5 on page 3-191. Therefore, cogroup_all consists of
coservers eds.1 to eds.16.
This example creates the following dbspaces on all 16 coservers.
Coserver
Dbspace Identifier
Pathname of Primary Chunk
Offset
eds.1
eds.2
eds.3
...
eds.16
dbsl.1
dbsl.2
dbsl.3
/dev/dbsl_all
/dev/dbsl_all
/dev/dbsl_all
1024
1024
1024
dbsl.16
/dev/dbsl_all
1024
The database server derives the names of the dbspaces from the name of the
dbslice. These derived names are referred to as derived_dbspace_identifiers. For
more details on derived_dbspace_identifiers, refer to “Derived Dbspace
Identifier” on page 3-146.
A derived_dbspace_identifier contains a period and a number at the end of the
dbspace name. The number is called the ordinal of the dbspace within the
dbslice. The ordinal indicates the order in which the dbspaces were created.
Generating Pathnames Without Formatting Characters
This example assumes that one coserver exists on each node. In this case, you
can use a regular pathname, rather than a pathname format when you create
a dbslice with one dbspace per coserver.
3-198
Informix Administrator’s Reference
CREATE DBSLICE
The following examples show the onutil CREATE COGROUP command to
create a cogroup for eight coservers and the onutil CREATE DBSLICE
command to create a dbslice for this cogroup:
% onutil
1> CREATE COGROUP acctg_cogroup
2> FROM eds.%r(1..8);
Cogroup successfully created.
3> CREATE DBSLICE acctg_sl
4> FROM COGROUP acctg_cogroup
5> CHUNK "/dev/dbsl_acctg"
6> OFFSET 1024 SIZE 1024;
This example generates the following dbspace names (also referred to as
dbspace identifiers) and pathnames for the first chunk of each dbspace
created on the corresponding coserver.
Coserver
Dbspace Identifier
Pathname of Primary Chunk
Offset
eds.1
eds.2
eds.3
eds.4
eds.5
eds.6
eds.7
eds.8
acctg_sl.1
acctg_sl.2
acctg_sl.3
acctg_sl.4
acctg_sl.5
acctg_sl.6
acctg_sl.7
acctg_sl.8
/dev/dbsl_acctg
/dev/dbsl_acctg
/dev/dbsl_acctg
/dev/dbsl_acctg
/dev/dbsl_acctg
/dev/dbsl_acctg
/dev/dbsl_acctg
/dev/dbsl_acctg
1024
1024
1024
1024
1024
1024
1024
1024
Specifying Uniform Chunk Names in a Dbslice
When you create a dbslice, you can use embedded formatting characters in
the pathname to generate uniform chunk names for the dbspaces that make
up a dbslice. The pathname specification with the embedded formatting
characters is referred to as a pathname_format. A pathname format generates
unique chunk names for all of the dbspaces in a dbslice.
You can embed the following formatting characters within a pathname
format:
%c
%n
%o
%r(first..last)
Utilities 3-199
CREATE DBSLICE
The onutil utility substitutes values stored internally for the %c, %n, and %o
formatting characters.
Creating a Dbslice from Multiple Dbspaces on Each Coserver
When you intend to create a dbslice with multiple dbspaces on each coserver,
you can use the following methods to specify unique pathnames for each
dbspace on a coserver:
■
Use the %r(first..last) formatting characters in the pathname.
■
Use multiple dbslice components in the FROM clause.
Generating Pathnames with Coserver Numbers
Use the %c formatting character to generate a pathname with the coserver
number embedded in it. The coserver number is the number that the
COSERVER configuration parameter in your ONCONFIG file specifies.
The following example shows the onutil CREATE COGROUP command to
create a cogroup for eight coservers and the onutil CREATE DBSLICE
command with the %c formatting character embedded in the pathname:
% onutil
1> CREATE COGROUP acctg_cogroup
2> FROM eds.%r(9..16);
Cogroup successfully created.
3> CREATE DBSLICE acctg_sl
4> FROM COGROUP acctg_cogroup
5> CHUNK "/dev/dbsl.%c.acctgdbsp"
6> OFFSET 1024 SIZE 1024;
This example assumes the coserver numbers in the ONCONFIG file shown in
Figure 3-5 on page 3-191, and it generates the following pathnames.
3-200
Coserver
Dbspace Identifier
Pathname of Primary Chunk
Offset
eds.9
eds.10
eds.11
...
eds.16
acctg_sl.1
acctg_sl.2
acctg_sl.3
/dev/dbsl.9.acctgdbsp
/dev/dbsl.10.acctgdbsp
/dev/dbsl.11.acctgdbsp
1024
1024
1024
acctg_sl.8
/dev/dbsl.16.acctgdbsp
1024
Informix Administrator’s Reference
CREATE DBSLICE
Generating Pathnames with Node Names
Use the %n formatting character to generate a pathname with the host name
of the node, or node name, embedded in it. The node name is the value that
the NODE configuration parameter in your ONCONFIG file specifies.
The following example shows the onutil CREATE COGROUP command to
create a cogroup for eight coservers and the onutil CREATE DBSLICE
command with the %n formatting character embedded in the pathname:
% onutil
1> CREATE COGROUP acctg_cogroup
2> FROM eds.%r(1..8);
Cogroup successfully created.
3> CREATE DBSLICE acctg_sl
4> FROM COGROUP acctg_cogroup
5> CHUNK "/dev/dbsl.%n.acctgdbsp"
6> OFFSET 1024 SIZE 1024;
This example assumes the coserver numbers in the ONCONFIG file shown in
Figure 3-5 on page 3-191, and it generates the following pathnames.
Coserver
Dbspace Identifier
Pathname of Primary Chunk
Offset
eds.1
eds.2
eds.3
...
eds.8
acctg_sl.1
acctg_sl.2
acctg_sl.3
/dev/dbsl.node1.acctgdbsp
/dev/dbsl.node2.acctgdbsp
/dev/dbsl.node3.acctgdbsp
1024
1024
1024
acctg_sl.8
/dev/dbsl.node8.acctgdbsp
1024
Generating Pathnames with Dbspace Ordinal Numbers
Use the %o formatting character to generate a pathname with the dbspace
ordinal number embedded in it. The database server automatically generates
the dbspace ordinal number when you create a dbslice. The ordinal number
indicates the order in which the dbspaces were created. The ordinal number
starts at 1 and increments to the total number of dbspaces in the dbslice.
Utilities 3-201
CREATE DBSLICE
The following example shows the onutil CREATE COGROUP command to
create a cogroup for eight coservers and the onutil CREATE DBSLICE
command with the %o formatting character embedded in the pathname:
% onutil
1> CREATE COGROUP acctg_cogroup
2> FROM eds.%r(9..16);
Cogroup successfully created.
3> CREATE DBSLICE acctg_sl
4> FROM COGROUP acctg_cogroup
5> CHUNK "/dev/dbsl.%o.acctgdbsp"
6> OFFSET 1024 SIZE 1024;
The preceding example assumes the coserver numbers in the ONCONFIG file
shown in Figure 3-5 on page 3-191. Therefore, the preceding example
generates the following pathnames.
Coserver
Dbspace Identifier
Pathname of Primary Chunk
Offset
eds.9
eds.10
eds.11
...
eds.16
acctg_sl.1
acctg_sl.2
acctg_sl.3
/dev/dbsl.1.acctgdbsp
/dev/dbsl.2.acctgdbsp
/dev/dbsl.3.acctgdbsp
1024
1024
1024
acctg_sl.8
/dev/dbsl.8.acctgdbsp
1024
Generating Pathnames for Multiple Dbspaces per Coserver
You can create multiple uniform dbspaces per coserver within the same
dbslice. Use the %r(first..last) formatting characters to generate unique
pathnames for each dbspace on a coserver.
The following example shows the onutil CREATE DBSLICE command to
create three dbspaces on each coserver within the acctg_cogroup cogroup
created in the previous example:
% onutil
1> CREATE DBSLICE acctg_sl
2> FROM COGROUP acctg_cogroup
3> CHUNK "/dev/dbsl_acctg.%r(1..3)"
4> OFFSET 1024 SIZE 1024;
3-202
Informix Administrator’s Reference
CREATE DBSLICE
The database server creates the following dbspaces on the eight coservers.
Coserver
Dbspace Identifier
Pathname of Primary Chunk
Offset
eds.9
eds.9
eds.9
eds.10
eds.10
eds.10
...
eds.16
eds.16
eds.16
acctg_sl.1
acctg_sl.2
acctg_sl.3
acctg_sl.4
acctg_sl.5
acctg_sl.6
/dev/dbsl_acctg.1
/dev/dbsl_acctg.2
/dev/dbsl_acctg.3
/dev/dbsl_acctg.1
/dev/dbsl_acctg.2
/dev/dbsl_acctg.3
1024
1024
1024
1024
1024
1024
acctg_sl.22
acctg_sl.23
acctg_sl.24
/dev/dbsl_acctg.1
/dev/dbsl_acctg.2
/dev/dbsl_acctg.3
1024
1024
1024
Generating Pathnames with a Combination of Formatting Characters
The following rules describe how to combine the formatting characters:
■
You can combine the %r(first..last) formatting characters with any
number of %c, %n, and %o formatting characters in a single dbslice
component.
■
You can specify multiple instances of the %c, %n, and %o formatting
characters in a single dbslice component.
■
You can specify the %r(first..last) formatting characters only once in a
pathname format.
Creating Two Dbspaces on Each Coserver for Cogroup acct_cogroup
The following example shows the onutil CREATE COGROUP command to
create a cogroup for eight coservers and the onutil CREATE DBSLICE
command to create two dbspaces on each coserver for this cogroup:
% onutil
1> CREATE COGROUP acctg_cogroup
2> FROM eds.%r(1..8);
Cogroup successfully created.
3> CREATE DBSLICE acctg_sl
4> FROM cogroup acctg_cogroup
5> CHUNK "/dev/dbsl_acctg.%n.%r(1..2)"
6> SIZE 1024;
Utilities 3-203
CREATE DBSLICE
The database server creates the following dbspaces on the eight coservers.
Coserver
Dbspace Identifier
Pathname of Primary Chunk
Offset
eds.1
eds.1
eds.2
eds.2
...
eds.8
eds.8
acctg_sl.1
acctg_sl.2
acctg_sl.3
acctg_sl.4
/dev/dbsl_acctg.node1.1
/dev/dbsl_acctg.node1.2
/dev/dbsl_acctg.node2.1
/dev/dbsl_acctg.node2.2
1024
1024
1024
1024
acctg_sl.15
acctg_sl.16
/dev/dbsl_acctg.node8.1
/dev/dbsl_acctg.node8.2
1024
1024
Creating Three Dbspaces on Each Coserver in Different Directories
You might want to spread the dbspaces among different drives to improve
performance and parallel I/O. The following example shows the onutil
CREATE DBSLICE command to create a dbslice that contains dbspaces in three
different directories on each coserver. The cogroup, workgroup, contains
three coservers.
% onutil
1> CREATE DBSLICE slice5
2> FROM cogroup workgroup
3> CHUNK "/work%r(3..5)/dbspaces/slice5.%c"
4> SIZE 200 MBYTES;
In the chunk names, the formatting character %c is replaced with the coserver
number. The %r formatting character expands into the following directory
names on each coserver: work3, work4, and work5.
The database server creates the following dbspaces on the three coservers.
3-204
Coserver
Dbspace Name
Pathname of Primary Chunk
eds.1
eds.1
eds.1
eds.2
eds.2
eds.2
eds.3
eds.3
eds.3
slice5.1
slice5.2
slice5.3
slice5.4
slice5.5
slice5.6
slice5.7
slice5.8
slice5.9
/work3/dbspaces/slice5.1
/work4/dbspaces/slice5.1
/work5/dbspaces/slice5.1
/work3/dbspaces/slice5.2
/work4/dbspaces/slice5.2
/work5/dbspaces/slice5.2
/work3/dbspaces/slice5.3
/work4/dbspaces/slice5.3
/work5/dbspaces/slice5.3
Informix Administrator’s Reference
CREATE DBSLICE
Specifying Nonuniform Dbspaces in a Dbslice
You can create nonuniform dbslices when you use multiple dbslice components in the FROM clause of the onutil CREATE DBSLICE command.
The following examples show the onutil CREATE COGROUP command to
create a cogroup for eight coservers and the onutil CREATE DBSLICE
command to create a nonuniform dbslice for this cogroup and the default
cogroup_all that contains sixteen coservers:
% onutil
1> CREATE COGROUP acctg_cogroup
2> FROM eds.%r(1..8);
Cogroup successfully created.
3> CREATE DBSLICE dbsl
4> FROM COGROUP acctg_cogroup
5> CHUNK "/dev/dbsl_acctg"
6> SIZE 2056,
7> COGROUP cogroup_all
8> CHUNK "/dev/dbsl_all"
9> OFFSET 1024 SIZE 1024;
This example assumes the coserver numbers in the ONCONFIG file shown in
Figure 3-5 on page 3-191 and generates the following dbspace names and
pathnames.
Coserver
Dbspace Name
Chunk
Offset
eds.1
eds.2
...
eds.8
eds.9
eds.10
...
eds.16
dbsl.1
dbsl.2
/dev/dbsl_acctg
/dev/dbsl_acctg
0
0
dbsl.8
dbsl.9
dbsl.10
/dev/dbsl_acctg
/dev/dbsl_all
/dev/dbsl_all
0
1024
1024
dbsl.16
/dev/dbsl_all
1024
Mirroring Dbspaces in a Dbslice
You can mirror chunks in your dbslice when you use the MIRROR option in
the onutil CREATE DBSLICE command. Specify mirror chunk pathnames in
the same way as for a primary chunk, including the use of formatting
characters.
Utilities 3-205
CREATE DBSLICE
The following example shows the onutil CREATE DBSLICE command to
create mirror dbspaces on each coserver in the acctg_cogroup cogroup:
% onutil
1> CREATE DBSLICE acctg_sl
2> FROM COGROUP acctg_cogroup
3> CHUNK "/dev/dbsl_acctg.%r(1..2)"
4> OFFSET 1024 SIZE 1024
5> MIRROR "/dev/mirr_dbsl_acctg.%r(1..2)";
The database server creates the following dbspaces on the eight coservers.
Coserver
Dbspace Identifier
Primary or Mirror Chunk
Offset
eds.1
eds.1
eds.1
eds.1
eds.2
eds.2
eds.2
eds.2
...
eds.8
eds.8
eds.8
eds.8
acctg_sl.1
/dev/dbsl_acctg.1
/dev/mirr_dbsl_acctg.1
/dev/dbsl_acctg.2
/dev/mirr_dbsl_acctg.2
/dev/dbsl_acctg.1
/dev/mirr_dbsl_acctg.1
/dev/dbsl_acctg.2
/dev/mirr_dbsl_acctg.2
1024
0
1024
0
1024
0
1024
0
/dev/dbsl_acctg.1
/dev/mirr_dbsl_acctg.1
/dev/dbsl_acctg.2
/dev/mirr_dbsl_acctg.2
1024
0
1024
0
acctg_sl.2
acctg_sl.3
acctg_sl.4
acctg_sl.15
acctg_sl.16
Defining Temporary Dbspaces in a Dbslice
To create temporary dbspaces on each coserver, specify the TEMP keyword in
the onutil CREATE DBSLICE command. Some SQL queries create and access
large temporary files.
You cannot mirror a temporary dbslice.
For more information, see creating dbslices in the chapter on managing disk
space in the Administrator’s Guide.
3-206
Informix Administrator’s Reference
CREATE DBSPACE
Modifying a Dbspace Within a Dbslice
To modify individual dbspaces that were generated when you created a
dbslice, use the onutil ALTER DBSPACE command. For more information
about how to use this command, refer to “ALTER DBSPACE” on page 3-159.
Adding Dbspaces to a Dbslice
To add dbspaces to a dbslice, use the onutil ALTER DBSLICE ADD DBSPACE
command. For more information, see “ALTER DBSLICE ADD DBSPACE” on
page 3-150.
CREATE DBSPACE
Use the onutil CREATE DBSPACE command to create a new dbspace or
temporary dbspace.
Syntax
Utilities 3-207
CREATE DBSPACE
CREATE
DBSPACE dbspace_name
Chunk
Definition
TEMP
Mirror
Definition
COSERVER
coserver_number
coserver_name
Chunk
Definition
CHUNK
" pathname "
SIZE size
OFFSET offset
KBYTES
MBYTES
GBYTES
Mirror
Definition
MIRROR
" pathname "
OFFSET offset
3-208
Informix Administrator’s Reference
CREATE DBSPACE
Element
dbspace_name
Purpose
The dbspace to create
coserver_
name
Name of the coserver on
which the dbspace is to
reside
Restrictions
For the restrictions, see creating a
dbspace in the chapter on managing
disk space in the Administrator’s Guide.
The coserver name must have the
following format:
dbservername.coserver_number
Syntax
See “Dbspace Name”
on page 3-146.
See “Coserver
Name” on
page 3-142.
The value for dbservername must be the
same value that the DBSERVERNAME
configuration parameter specifies.
coserver_
number
pathname
offset
size
The value for coserver_number must be
one of the integers that the COSERVER
configuration parameter specifies.
The number of the
The coserver number must be one of the Unsigned integer.
coserver on which the
integers that the COSERVER configudbspace is to reside
ration parameter specifies.
The file or raw device of
The chunk must be an existing file or
Pathname must
the first chunk of the new raw device. Use a full pathname.
conform to the rules
dbspace
specific to your
operating system.
The offset, in kilobytes,
Value must be greater than 0. See
Unsigned integer.
into the file or raw device allocating raw disk space on UNIX in
to reach the chunk
the chapter on managing disk space in
the Administrator’s Guide.
The size of the initial
Value must be greater than 0. Size must Unsigned integer;
chunk of the new dbspace not exceed 4 gigabytes.
default size unit is
kilobytes.
Utilities 3-209
CREATE DBSPACE
Usage
Use the onutil CREATE DBSPACE command to create a new dbspace or
temporary dbspace on a coserver. The database server must be in on-line or
quiescent mode when you create a dbspace or temporary dbspace.
When you create separate dbspaces without using a dbslice, a specific
coserver owns and manages each dbspace. The physical disk on which the
dbspace resides belongs to the node on which the coserver executes. This
coserver is referred to as the home coserver.
Keyword
Description
DBSPACE
Specifies the name of the new dbspace.
CHUNK
Specifies the file or raw device of the chunk that you want to add.
Use the SIZE option in the chunk definition, followed by a size in
either kilobytes, megabytes, or gigabytes, to specify a size for the
new dbspace.
MIRROR
Specifies the file or raw device of the chunk that performs the
mirroring. Use the MIRROR keyword when you want to mirror the
new chunk.
Defining a Temporary Dbspace
You can create a temporary dbspace on a coserver when you specify the
TEMP keyword in the onutil CREATE DBSPACE command.
You cannot mirror a temporary dbslice.
For more information about what a temporary dbspace is, refer to the chapter
on where data is stored in the Administrator’s Guide.
3-210
Informix Administrator’s Reference
CREATE DBSPACE
Using the Coserver Option
When you do not specify the COSERVER option, the database server assigns
the dbspace to coserver number 1.
The following example shows the onutil CREATE DBSPACE command to
create a dbspace that coserver eds.2 owns:
% onutil
1> CREATE DBSPACE acctg_dbsp
2> CHUNK "/work/dbspaces/dbs_0"
3> OFFSET 0 size 1500
4> COSERVER eds.2;
Utilities 3-211
CREATE LOGICAL LOG
CREATE LOGICAL LOG
The onutil CREATE LOGICAL LOG command allows you to add a logical-log
file.
Syntax
LOG
CREATE
dbspace_identifier
dbspace_name
LOGICAL
SIZE size
KBYTES
MBYTES
GBYTES
3-212
DBSPACE
Informix Administrator’s Reference
CREATE LOGICAL LOG
Element
dbspace_name
dbspace_identifier
Purpose
Name of the dbspace
where the logical-log
file resides
Restrictions
The space that is allocated for a logicallog file must be contiguous. The
database server does not allow you to
add a log file to a dbspace without
adequate contiguous space.
Syntax
See “Dbspace
Name” on
page 3-146.
You cannot add a log file during a
backup.
Generated name of the The dbspace identifier must be an
See “Derived
dbspace where the
existing dbspace that was generated
Dbspace Identifier”
logical log resides
when you created a dbslice. The name on page 3-146.
must be of the form:
The database server
generates the name
slicename.ordinal
when you create a
The value for slicename must be the same
dbslice.
as the dbslice name that you used when
you created the dbslice.
size
The size of the new
logical-log file
The ordinal value must be an unsigned
integer.
Value must be greater than or equal to Unsigned integer;
the minimum of 200 kilobytes. If you do the default unit is
not specify a SIZE clause, the size of the kilobytes.
log file is taken from the value of the
LOGSIZE parameter in the ONCONFIG
file when database server disk space
was initialized. (See changing LOGSIZE
or LOGFILES in the chapter on
managing logical-log files in the
Administrator’s Guide.)
Utilities 3-213
CREATE LOGICAL LOG
Usage
The database server must be in quiescent mode when you add a logical-log
file. Use the onutil CREATE LOGICAL LOG command to add a new logical-log
file. You can use the following keywords.
Keyword
Description
LOGICAL
Does not change the command. This keyword is optional.
DBSPACE
Specifies the name of the dbspace in which the new logical log resides.
SIZE
Specifies the size of the new logical-log file in kilobytes, megabytes, or
gigabytes.
The following example shows how to add a logical log to the root dbspace. If
you receive an error message that states that the maximum number of logical
logs has been exceeded, use the LOGSMAX parameter to increase the
maximum number of logical logs and reinitialize the shared memory.
% onutil
1> CREATE LOG DBSPACE rootdbs
2> SIZE 1400;
Logical log successfully added.
To monitor the logical-log status, use the onstat -l command. For more information, see “The onstat -l Option” on page 3-113.
3-214
Informix Administrator’s Reference
CREATE LOGICAL LOGSLICE
CREATE LOGICAL LOGSLICE
The onutil CREATE LOGICAL LOGSLICE command allows you to add a
logslice.
Syntax
CREATE
LOGSLICE
logslice_name
IN DBSLICE
dbslice_name
LOGICAL
SIZE size
KBYTES
MBYTES
GBYTES
Element
logslice_name
Purpose
Name of the
logslice
Restrictions
The name must identify an existing logslice.
dbslice_name
The name of the
dbslice where the
logical logslice
resides
The size of each
new logical-log file
The name must identify an existing dbslice.
One log file is put into every dbspace of this
dbslice.
size
Syntax
See “Identifiers in
onutil Commands”
on page 3-140.
See “Identifiers in
onutil Commands”
on page 3-140.
Value must be greater than or equal to 200
Unsigned integer;
kilobytes. If you do not specify a SIZE clause, the default unit is
the size of the files in the logslice is taken from kilobytes.
the value of the LOGSIZE parameter in the
ONCONFIG file when database server disk
space was initialized. (See changing LOGSIZE,
LOGFILES, or LOGSMAX in the chapter on
managing logical-log files in the Administrator’s
Guide.)
Utilities 3-215
CREATE LOGICAL LOGSLICE
Usage
Use the onutil CREATE LOGICAL LOGSLICE command to add a new logical
logslice. A logslice enables you to manage logical logs across multiple
coservers. For more information, see managing logical-log files on a coserver
in the chapter on logical logs in the Administrator’s Guide.
The database server must be in quiescent mode before you can add a logical
logslice. Specify the keywords and options as follows.
Keyword
Description
LOGICAL
Does not change the command. This keyword is optional.
IN DBSLICE
Specifies the name of the dbslice in which the new logical logslice
resides.
SIZE
Specifies the size of each log file of the logslice in kilobytes,
megabytes, or gigabytes.
The space allocated for a logical-log file must be contiguous. The database
server does not allow you to add a log file to a dbspace without adequate
contiguous space.
You cannot add a logslice during a backup (whether the database server is
quiescent or on-line).
The following example shows the onutil CREATE LOGSLICE command to
create a logical logslice:
% onutil
1> CREATE LOGSLICE logslice3 IN DBSLICE dbslice2
2> SIZE 20 MBYTES;
Adding More Logs to a Logslice
After you alter a dbslice that contains a logslice, you can add new logical-log
files to the logslice. Thus, each new dbspace in the dbslice gets its own log file.
For more information, see “ALTER LOGSLICE ADD LOGS” on page 3-167.
3-216
Informix Administrator’s Reference
DISPLAY PAGE
DISPLAY PAGE
The onutil DISPLAY PAGE command displays contents of a single logical page
on the user’s terminal.
Syntax
pagenum
DISPLAY PAGE
pagenum
TABLE
IN TABLESPACE
:
chunk_number
pagenum
partnum
offset
INDEX
COUNT nbr
SAVE
IN filename
HEADER
HEX
TABLE
IN TABLE
database
:
table_name
,
owner .
dbspace_name
INDEX
IN INDEX
database
#
index_name
owner .
,
dbspace_name
Utilities 3-217
DISPLAY PAGE
Element
pagenum
Purpose
An integer value that you use
to indicate a particular page
in a tblspace
The tblspace number that you
want to display
partnum
chunk_number
offset
nbr
filename
database
owner
dbspace_name
table_name
index_name
Restrictions
Value must be an unsigned
integer between 0 and
16,777,215, inclusive.
Value must be an integer
between 0 and 208,666,624,
inclusive.
The number of the chunk that The chunk number must exist.
you want to display
The number of pages into the
chunk where you want to
start the display
The number of pages that you
want to display
The filename that you want to
contain the output of the
onutil command.
The name of the database
The database must exist.
where the table resides
You cannot check databases on
remote database servers.
The name of the owner of a
Owner that you specify must be
table
current owner of table. Owner is
mandatory for ANSI databases.
The name of the dbspace
where the page resides
The name of the table that
you want to display
The dbspace must exist.
The name of the index that
you want to display
The index must exist.
Table must exist.
Syntax
Unsigned integer.
Unsigned integer.
Unsigned integer.
Unsigned integer.
Unsigned integer.
See the Informix Guide to
SQL: Syntax.
The user name must
conform to the conventions of your operating
system.
See “Dbspace Name” on
page 3-146.
See “Identifiers in onutil
Commands” on
page 3-140.
See Object Name in the
Informix Guide to SQL:
Syntax.
Usage
The onutil DISPLAY PAGE and DISPLAY PAGE IN TABLESPACE commands
display the contents of a single page on the terminal.
You use the onutil DISPLAY PAGE pagenum IN TABLESPACE or onutil DISPLAY
PAGE chunk_number:offset command in off-line mode.
3-218
Informix Administrator’s Reference
DISPLAY PAGE
The DISPLAY PAGE command, when run without the HEX keyword, displays
the page header whether it recognizes the page type. It attempts to display
the body of the page in the appropriate format. If it does not recognize the
page type, it does not print anything after the header. Use the HEX keyword
to display the entire page in hexadecimal format with an ASCII translation of
each byte on the right side.
The following example shows the onutil DISPLAY PAGE command to display
page information in tblspace 1111:
% onutil
1> DISPLAY PAGE 0xF IN TABLESPACE 0x10001;
You can use the onutil DISPLAY PAGE and DISPLAY PAGE IN TABLESPACE
commands in off-line mode. You must specify a local single coserver name,
as in the following example:
% onutil
1> DISPLAY PAGE 5:4 COSERVER eds.3;
Utilities 3-219
DROP COGROUP
DROP COGROUP
Use the onutil DROP COGROUP command to drop one or more cogroups.
Syntax
cogroup_name
DROP COGROUP
Cogroup_Range_
Identifier
Cogroup_Range_
Identifier
prefix
prefix
Formatting Characters
Formatting Characters
Formatting Characters
%r
3-220
Informix Administrator’s Reference
(
first
..
last
)
suffix
DROP COGROUP
Element
cogroup_name
Purpose
The name of a coserver or
cogroup in the database server
Restrictions
Name must be unique within a
database server.
prefix
The alphabetic portion of the
generated cogroup name that
precedes the formatting
character
The combination of the prefix,
formatting character, and suffix
must not exceed 18 characters.
suffix
The alphabetic portion of the
The combination of the prefix,
generated cogroup name that
formatting character, and suffix
follows the formatting character must not exceed 18 characters.
first
The starting value of the integer
to substitute for the coserver
name
The ending value of the integer
to substitute for the coserver
name
last
The value of first must be equal
to or less than the value of last.
Syntax
See “Cogroup
Name” on
page 3-141.
See “Identifiers in
onutil Commands”
on page 3-140 and
“Coserver List” on
page 3-143.
See “Identifiers in
onutil Commands”
on page 3-140 and
“Coserver List” on
page 3-143.
Unsigned integer.
The value of last must be equal to Unsigned integer.
or larger than first.
Usage
Use the onutil DROP COGROUP command to delete one or more cogroups. If
you specify a cogroup range identifier, the database server drops the list of
cogroups that the cogroup range identifier represents.
Utilities 3-221
DROP DBSLICE
DROP DBSLICE
The onutil DROP DBSLICE command allows you to drop a dbslice.
Syntax
DROP DBSLICE
Element
dbslice_name
Purpose
Name of the dbslice to
drop
dbslice_name
Restrictions
The dbslice name must have been
created with the onutil CREATE
DBSLICE command. All derived
dbspaces in the dbslice must be empty.
Syntax
See “Dbslice Name”
on page 3-146.
Usage
Use the onutil DROP DBSLICE command to drop dbspaces that belong to a
dbslice. The database server must be in on-line or quiescent mode when you
drop a dbslice.
3-222
Informix Administrator’s Reference
DROP DBSPACE
DROP DBSPACE
The onutil DROP DBSPACE command allows you to drop a dbspace.
Syntax
dbspace_identifier
DROP DBSPACE
dbspace_name
Element
dbspace_identifier
Purpose
The generated names
of the dbspaces that
you want to drop
Restrictions
The value must be an existing dbspace
that was generated when you created
a dbslice. Name must be of the form:
Syntax
See “Derived
Dbspace Identifier”
on page 3-146.
slicename.ordinal
The value of slicename must be the
same as the dbslice name that you
used when you created the dbslice.
dbspace_name
Name of the dbspace
that you want to drop
The value of ordinal must be an
unsigned integer.
None.
See “Dbspace Name”
on page 3-146.
Usage
Use the onutil DROP DBSPACE command to drop a dbspace or a temporary
dbspace. The database server must be in on-line or quiescent mode when you
drop a dbspace or temporary dbspace.
Utilities 3-223
DROP LOGICAL LOG
DROP LOGICAL LOG
The onutil DROP LOGICAL LOG command allows you to drop a logical-log
file.
Syntax
LOG logid
DROP
LOGICAL
COSERVER
coserver_number
coserver_name
Element
logid
Purpose
Name of the logicallog file to drop
coserver_name
Name of the coserver
from which to drop
the logical log
Restrictions
Syntax
The database server requires a
Unsigned integer.
minimum of three logical-log files at
all times. The database server must
be in quiescent mode when you drop a
logical log.
You can drop only log files that have
status of Free (F) or newly Added (A).
To view the status of the logical logs,
use xctl onstat -l.
The coserver name must have the
See “Coserver Name”
following format:
on page 3-142.
dbservername.coserver_number
The value of dbservername must be the
same as the value in the
DBSERVERNAME configuration
parameter.
The value of coserver_number must be
one of the integers that the COSERVER
configuration parameter specifies.
coserver_number The number of the
The coserver number must be one of
coserver on which the the integers that the COSERVER
dbspace is to reside
configuration parameter specifies.
3-224
Informix Administrator’s Reference
Unsigned integer.
DROP LOGICAL LOG
Usage
The onutil DROP LOGICAL LOG statement to drop a logical-log file is one of
the steps in the procedure for moving logical-log files to another dbspace.
The database server must be in quiescent mode when you drop a logical-log
file.
Use the LOG clause, followed by a logid to specify which logical-log file you
want to drop. (You can obtain the logid of a logical log from the number field
of xctl onstat -l.) After your configuration reflects the desired number of log
files, create a level-0 backup of the root dbspace. For information about how
to create a level-0 backup, see the Backup and Restore Guide.
A specific coserver owns and manages each dbspace. This coserver is
referred to as the home coserver. You can specify the home coserver with the
COSERVER option.
When you do not specify the COSERVER option, the database server drops the
logical log from coserver number 1.
Utilities 3-225
DROP LOGSLICE
DROP LOGSLICE
The onutil DROP LOGSLICE command allows you to drop a logical logslice.
Syntax
LOGSLICE
DROP
logslice_name
LOGICAL
Element
logslice_name
Purpose
Name of an existing
logslice to drop
Restrictions
The keyword LOGICAL is optional
and does not change the command.
Syntax
See “Logslice Name”
on page 3-147.
Usage
Use the onutil DROP LOGSLICE command to drop a logical logslice. The
database server must be in quiescent mode when you drop a logslice.
3-226
Informix Administrator’s Reference
xctl: Execute Utilities Across Coservers
xctl: Execute Utilities Across Coservers
XPS
The xctl utility lets you execute database server utilities on one or more
coservers and execute operating-system commands on one or more nodes.
You can invoke the xctl utility on any node in your platform or from any
computer that can initiate commands remotely on your platform.
Syntax
command
xctl
-Xs
c-opts
-b
-i
-ddirectory
,
-e
env_var_name
-C
-c
coserver_num
,
start_num
-
end_num
Utilities 3-227
xctl: Execute Utilities Across Coservers
Element
-Xs
-b
-i
-ddirectory
-e en_var_name
-C
Purpose
Specifies a substitution character that stands for the coserver number. Replace s with a
substitution character that can be used in arguments to command. Informix recommends = or . as substitution characters. For details, see “Specifying Coservers” on
page 3-230. You might need to use an escape character before some special characters
to prevent interpretation by a particular operating-system shell.
Indicates that the command or operation is to be performed in the background on each
applicable node.
Indicates that xctl is to print a message command or that operation is to be performed
interactively; xctl asks for confirmation before it routes the command to each node.
Specifies the name of the directory on each applicable node in which to perform the
command; directory must be a valid pathname on the target node or nodes. Do not type
a space between -d and the directory name.
Specifies an environment variable to export to each node. The variable must be defined
in the environment of the user that performs the xctl command, and it must conform to
the naming conventions for the target nodes.
Indicates that the command is to be executed for every coserver. This option is
equivalent to the following xctl command:
xctl -b -X= command -yX=
-c coserver_num
start_num end_num
command
c-opts
The command is performed on the nodes assigned to each coserver. Use this option
only with the oninit command.
Specifies the coserver number of a single coserver or a range of coserver numbers. The
indicated command is performed on the nodes assigned to the indicated coservers.
Each coserver number must be listed in the ONCONFIG file. You can specify a list of
coserver numbers. The list can include a range of coserver numbers.
Specifies a database server utility or operating-system command. Typical database
server utilities to use with xctl are as follows: oninit, onlog, onmode, and onstat.
Usage
The xctl utility uses the NODE parameter in each coserver-specific section of
your configuration file to execute database server utilities on one or more
coservers. For more information, refer to setting the coserver-specific parameters in the chapter on configuration parameters in the Administrator’s Guide.
Important: To use the xctl utility, you must ensure that all coserver nodes are listed
in the sqlhosts connectivity file.
You can specify several options in the xctl command. You can specify these
options in any order:
3-228
Informix Administrator’s Reference
xctl: Execute Utilities Across Coservers
■
Working directory
■
Environment variables
■
Coserver numbers
■
Interactive or background processing
■
Wait time for coserver initialization
Specifying the Working Directory
The working directory is where the remote command executes. If you use the
-b option and the command creates any output, a file called
stdout.coserver_num is created in the working directory.
If you use the -b option and the command creates any error messages, a file
called stderr.coserver_num is created in the working directory.
File
Purpose
stdout.coserver_num
For output and completion messages
stderr.coserver_num
For error messages
The remote command executes in the home directory of the user by default.
You can use the -d option to specify the remote directory where you want to
execute the command.
You can use the -d option to specify a working directory on each node. If you
use the -d option without a directory argument, xctl obtains the name of the
current working directory.
Setting Environment Variables
You must set INFORMIXDIR and ONCONFIG before you execute xctl. When
you execute xctl, the environment variables INFORMIXDIR, ONCONFIG,
LANG, and PATH are copied to the environment of the remote command. Use
the -e option to copy additional environment variables to the remote
environment.
Utilities 3-229
xctl: Execute Utilities Across Coservers
Specifying Coservers
By default, xctl executes the specified command-line utility once on the node
assigned to each coserver that your ONCONFIG file defines. The -Xs option
replaces any instance of s in the cmd-opts list with the coserver number of each
coserver in turn. The first -Xs option indicates that any instance of s is to be
replaced in the cmd-opts list.
The following examples show operations that you would want to execute on
every coserver:
■
Start all of the coservers that your ONCONFIG configuration file
defines.
■
Shut down the database server.
xctl -C -b oninit
xctl onmode -ky
The -c option allows you to specify a subset of coservers. The nodes that
correspond to those coservers perform the command. You can specify
individual coserver numbers or a range of coserver numbers. For example, to
display the status of dbspaces and chunks on coservers with coserver
numbers 12 through 15, enter the following command:
xctl -c 12-15 onstat -d
Selecting Interactive or Background Processing
You can select which type of processing to use when you enter the xctl
command.
Background Processing
The -b option starts each command in the background, and xctl exits without
waiting for the commands to finish.
Important: You must use the -b option when you start more than one coserver.
The following example shows the start-up command in the background if
you have defined a large number of coservers in your ONCONFIG configuration file:
xctl -b -X= oninit -yX=
3-230
Informix Administrator’s Reference
xctl: Execute Utilities Across Coservers
Interactive Processing
The -i option displays each remote command as that commands starts. When
you enter the end-of-file character (usually CTRL-D), you end execution only
for the remote command that is currently running.
Any output that the remote commands generate is preceded by a message
that identifies which coserver produced the output.
Execution on Multiple Nodes
The xctl command uses remote access to initiate execution of commands on
remote nodes. The remote command executes with the same login and group
IDs as the initiating user.
Important: You must ensure that database server administrators have remote-login
access on every node that supports a coserver.
If initial communication between xctl and any node stalls for more than 20
seconds, the node is assumed to have failed, and xctl goes on to the next
node. The xctl command returns a nonzero result code when it exits.
Utilities 3-231
Chapter
ON-Monitor
In This Chapter .
.
.
.
.
4
.
.
.
.
.
.
.
.
4-3
Using ON-Monitor . . . . . . . . . . . . .
Navigating ON-Monitor and Using Help . . . .
Executing Shell Commands Within ON-Monitor .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4-3
4-4
4-4
ON-Monitor Screen Options
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4-5
Setting Configuration Parameters in ON-Monitor .
.
.
.
.
.
.
.
4-12
4-2
Informix Administrator’s Reference
IDS
UNIX
In This Chapter
This section provides a quick reference for the ON-Monitor screens. You can
use it to determine the purpose and use of a specific screen or option.
Using ON-Monitor
To start ON-Monitor, execute the following command from the operatingsystem prompt:
% onmonitor
If you are logged in as user informix or user root, the main menu appears.
All users other than informix and root have access only to the Status menu.
The ON-Monitor main menu displays six additional menus, the Force-Ckpt
option, and the Exit option. The six additional menus are as follows:
■
Status menu
■
Parameters menu
■
Dbspaces menu
■
Mode menu
■
Archive menu
■
Logical-Logs menu
The main menu, the six additional menus, and the Force-Ckpt option are
shown on the following pages (Figure 4-1 on page 4-5 through Figure 4-7 on
page 4-11).
ON-Monitor
4-3
Navigating ON-Monitor and Using Help
Navigating ON-Monitor and Using Help
All menus and screens in ON-Monitor function in the same way. For menus,
use the arrow keys or SPACEBAR to scroll to the option that you want to
execute and press RETURN, or press the first capitalized letter of the option
(usually the first letter). When you move from one option to the next by
pressing SPACEBAR or an arrow key, the option explanation (line 2 of the
menu) changes.
If you want general instructions for a specific screen, press CTRL-W. If you
need help to determine what you should enter in a field on the screen, use the
TAB key to highlight the field and press CTRL-F or F2.
Some of the menus display ellipses (...) on the far right or left side. The
ellipses indicate that you can move in the direction of the dots, using the
arrow keys or SPACEBAR, to view other options.
Executing Shell Commands Within ON-Monitor
To execute a shell command from within ON-Monitor, type an exclamation
point (!) followed by the command. For example, to list the files in the
current directory, type the following command:
!ls
4-4
Informix Administrator’s Reference
ON-Monitor Screen Options
ON-Monitor Screen Options
The following pages show the options that are available from the
ON-Monitor menus and describe what the options do.
Figure 4-1
Status Menu
Status
Parameters
Dbspaces
Mode
Force-Ckpt
Archive
Logical-Logs
Profile
Use the Profile option to display database server performance statistics.
Userthreads
Use the Userthreads option to display the status of active user threads.
Spaces
Use the Spaces option to display status information about database server storage
spaces or each chunk that is part of a storage space.
Databases
Use the Databases option to display the name, owner, and logging status of the first
100 databases.
Logs
Use the Logs option to display status information about the physical-log buffer, the
physical log, the logical-log buffer, and the logical-log files.
Archive
Use the Archive option to display a list of all archive tapes and logical log files that
would be needed if a data restore using ontape were required now.
data-Replication
Use the data-Replication option to display data-replication status and configuration.
Output
Use the Output option to store the output of any other status information in a specified
file.
Configuration
Use the Configuration option to create a copy of the current database server configuration to a specified file.
Exit
Exit
ON-Monitor
4-5
ON-Monitor Screen Options
Figure 4-2
Parameters Menu
Status
Parameters
Dbspaces
Force-Ckpt
Archive
Logical-Logs
Initialize
Use the Initialize option to initialize database server disk space or to modify
database server disk-space parameters.
SharedMemory
Use the Shared-Memory option to initialize database server shared-memory or
to modify database server shared-memory parameters.
perFormance
Use the perFormance option to specify the number of virtual processors for each
VP class.
data-Replication
Use the data-Replication option to specify the data-replication parameters.
diaGnostics
Use the diaGnostics option to specify values for the diagnostics parameters.
pdQ
Use the pdQ option to change parameters for parallel database queries.
Add-Log
Use the Add-Log option to add a logical-log file to a database server dbspace.
Drop-Log
Use the Drop-Log option to drop a logical-log file from a database server
dbspace.
Physical-Log
Use the Physical-Log option to change the size or the location of the database
server physical log.
Exit
4-6
Mode
Informix Administrator’s Reference
Exit
ON-Monitor Screen Options
Figure 4-3
Dbspaces Menu
Status
Parameters
Dbspaces
Mode
Force-Ckpt
Archive
Logical-Logs
Exit
Create
Use the Create option to create a dbspace.
BLOBSpace
Use the BLOBSpace option to create a blobspace.
Mirror
Use the Mirror option to add mirroring to an existing storage space or to end
mirroring for a storage space.
Drop
Use the Drop option to drop a storage space from the database server
configuration.
Info
Use the Info option to see the identification number, location, and fullness of
each chunk assigned to a storage space.
Add_chunk
Use the Add_chunk option to add a chunk to a storage space.
datasKip
Use the datasKip option to change the database parameter.
Status
Use the Status option to change the status of a chunk in a mirrored pair.
Exit
ON-Monitor
4-7
ON-Monitor Screen Options
Figure 4-4
Mode Menu
Status
Parameters
Dbspaces
Mode
Informix Administrator’s Reference
Archive
Logical-Logs
Exit
Startup
Use the Startup option to initialize shared memory and take the
database server to quiescent mode.
On-Line
Use the On-Line option to take the database server from
quiescent to on-line mode.
GracefulShutdown
Use the Graceful-Shutdown option to take the database server
from on-line to quiescent mode. Users can complete their
ImmediateShutdown
Use the Immediate-Shutdown option to take the database
server from on-line to quiescent mode in 10 seconds.
TakeOffline
Use the Take-Offline option to detach shared memory and
immediately take the database server to off-line mode.
AddProc
Use the Add-Proc option to add virtual processors.
DropProc
Use the Drop-Proc option to drop virtual processors.
deCisionsupport
Use the deCision-support option to set decision-support
parameters dynamically.
Exit
4-8
Force-Ckpt
ON-Monitor Screen Options
Figure 4-5
Force-Ckpt Option
Status
Parameters
Dbspaces
Mode
Force-Ckpt
Archive
Logical-Logs
Exit
Use the Force-Ckpt option to see the time of the mostrecent checkpoint or to force the database server to
execute a checkpoint.
ON-Monitor
4-9
ON-Monitor Screen Options
Figure 4-6
Archive Menu
Status
Parameters
Dbspaces
Mode
Force-Ckpt
Archive
Use the Tape-Parameters option to modify the parameters of the ontape
archive tape device.
TapeParameters
Exit
4-10
Informix Administrator’s Reference
Logical-Logs
Exit
ON-Monitor Screen Options
Figure 4-7
Logical-Logs Menu
Status
Parameters
Dbspaces
Mode
Force-Ckpt
Archive
Logical-Logs
Use the Databases option to modify the logging status of a database.
Databases
Use the Tape-Parameters option to modify the parameters of the ontape
logical-log backup tape device.
TapeParameters
Exit
Exit
ON-Monitor
4-11
Setting Configuration Parameters in ON-Monitor
Setting Configuration Parameters in ON-Monitor
Each ON-Monitor parameters screen is represented here by a pair of
examples (Figure 4-8 through Figure 4-18). The first example in each pair
shows the ON-Monitor screen. The second example in each pair shows which
parameters from the ONCONFIG configuration file correspond to the parameters screen.
INITIALIZATION: Make desired changes and press ESC to record changes.
Press Interrupt to abort changes. Press F2 or CTRL-F for field-level help.
DISK PARAMETERS
Page Size
[
2] Kbytes
Mirror [N]
Tape Dev.
Block Size
Log Tape Dev.
Block Size
Stage Blob
[/dev/tapedev
[
16] Kbytes
[/dev/tapedev
[
16] Kbytes
[
]
Root Name
Primary Path
[rootdbs
[/dev/cynsrv_root
Mirror Path
[
Total Tape Size [
]
10240] Kbytes
]
10240] Kbytes
Root Size [
Kbytes
Total Tape Size [
]
Root Offset
Phy. Log Size [
1000] Kbytes
Mirror Offset
Log. Log Size
Number of Logical
20000]
]
[
0]
]
[
0]
[
500]
Logs [ 6 ]
Kbytes
Kbytes
Kbytes
INITIALIZATION: Make desired changes and press ESC to record changes.
Press Interrupt to abort changes. Press F2 or CTRL-F for field-level help.
DISK PARAMETERS
Page Size
{not in ONCONFIG}
Mirror {MIRROR}
Tape Dev.
Block Size
Log Tape Dev.
Block Size
Stage Blob
{TAPEDEV}
{TAPEBLK}
{LTAPEDEV}
{LTAPEBLK}
{STAGEBLOB}
Root Name
Primary Path
{ROOTNAME}
{ROOTPATH}
Mirror Path
{MIRRORPATH}
Total
Tape Size {TAPESIZE}
Total
Tape Size {LTAPESIZE}
Root Size {ROOTSIZE}
Root Offset {ROOTOFFSET}
Phy. Log Size {PHYSFILE}
4-12
Informix Administrator’s Reference
Figure 4-8
INITIALIZATION
Screen
Mirror Offset {MIRROROFFSET}
Log. Log Size {LOGSIZE}
Number of Logical Logs {LOGFILES}
Figure 4-9
INITIALIZATION
Screen with
Parameter Names
Setting Configuration Parameters in ON-Monitor
SHARED MEMORY: Make desired changes and press ESC to record changes.
Press Interrupt to abort changes. Press F2 or CTRL-F for field-level help.
SHARED MEMORY PARAMETERS
Server Number
[
0]
Server Name [a_server
]
Server Aliases [
]
Dbspace Temp
[
]
Deadlock Timeout
(Secs) [ 60]
Number of Page Cleaners
[
1]
Forced Residency
[N]
Stack Size (Kbytes)
[ 32]
Non Res. SegSize
(Kbytes) [8000]
Optical Cache Size (Kbytes)[
0]
Physical Log Buffer Size [
Logical Log Buffer Size [
Max # of Logical Logs
Max # of Locks
[
Max # of Buffers
[
Resident Shared memory size
32] Kbytes
32] Kbytes
[
6]
2000]
200]
[
Figure 4-10
Shared Memory
Screen
Dbspace Down Option
[0]
Preserve Log for Log Backup [N]
Transaction Timeout
[ 300]
Long TX HWM
[ 50]
Long TX HWM Exclusive
[ 60]
Index Page Fill Factor
[ 90]
Add SegSize (Kbytes) [
8192]
Total Memory(Kbytes) [
0]
864] Kbytes
Page Size [
2] Kbytes
Enter a unique value to be associated with this version of Dynamic Server.
SHARED MEMORY: Make desired changes and press ESC to record changes.
Press Interrupt to abort changes. Press F2 or CTRL-F for field-level help.
SHARED MEMORY PARAMETERS
Server Number
{SERVERNUM}
Server Name
{DBSERVERNAME}
Server Aliases
{DBSERVERALIASES}
Dbspace Temp
{DBSPACETEMP}
Deadlock Timeout
{DEADLOCK_TIMEOUT}
Number of Page Cleaners {CLEANERS}
Forced Residency
{RESIDENCY}
Stack Size (Kbytes)
{STACKSIZE}
Non Res. SegSize
{SHMVIRTSIZE}
Optical Cache Size {OPCACHEMAX}
Figure 4-11
SHARED MEMORY
Screen with
Parameter Names
Physical Log Buffer Size {PHYSBUFF}
Dbspace Down Option
{ONDBSPDOWN}
Logical Log Buffer Size{LOGBUFF} Preserve Log for Log Backup{LBU PRESERVE}
Max # of Logical Logs
{LOGSMAX}
Transaction Timeout
{TXTIMEOUT}
Max # of Locks
{LOCKS}
Long TX HWM
{LTXHWM}
Max # of Buffers
{BUFFERS}
Long TX HWM Exclusive
{LTXEHWM}
Index Page Fill Factor {FILLFACTOR}
Add SegSize
{SHMADD}
Total Memory
{SHMTOTAL}
Resident Shared memory size
[
] Kbyte
Page Size {not in ONCONFIG}
Enter a unique value to be associated with this version of Dynamic Server.
ON-Monitor
4-13
Setting Configuration Parameters in ON-Monitor
PERFORMANCE: Make desired changes and press ESC to record changes.
Press Interrupt to abort changes. Press F2 or CTRL-F for field-level help.
PERFORMANCE TUNING PARAMETERS
Multiprocessor Machine
Num Procs to Affinity
Proc num to start with
CPU VPs
AIO VPs
Single CPU VP
Use OS Time
Disable Priority Aging
Off-Line Recovery Threads
On-Line Recovery Threads
Num of LRUS queues
[
[
[N]
0]
0]
[
[
1]
2]
[N]
[N]
[N]
[ 10]
[ 1]
[ 8]
LRU Max Dirty
LRU Min Dirty
Checkpoint Interval
Num of Read Ahead Pages
Read Ahead Threshold
[ 60]
[ 50]
[ 300]
[ 4]
[ 2]
NETTYPE settings:
Protocol Threads
[
] [
]
[
] [
]
[
] [
]
[
] [
]
VP-class
[
]
[
]
[
]
[
]
Users
[
]
[
]
[
]
[
]
Figure 4-12
PERFORMANCE
Screen
Are you running on a multiprocessor machine?
PERFORMANCE: Make desired changes and press ESC to record changes.
Press Interrupt to abort changes. Press F2 or CTRL-F for field-level help.
PERFORMANCE TUNING PARAMETERS
{MULTIPROCESSOR}
{AFF_NPROCS}
{AFF_SPROC}
{NUMCPUVPS}
{NUMAIOVPS}
{SINGLE_CPU_VP}
{USE_OS_TIME}
{NOAGE}
{OFF_RECVRY_THREADS}
{ON_RECVRY_THREADS}
{LRUS}
{LRU_MAX_DIRTY}
{LRU_MIN_DIRTY}
{CKPTINTVL}
{RA_PAGES}
{RA_THRESHOLD}
NETTYPE settings:
(NETTYPE values are assembled
from the responses in these
blanks)
Are you running on a multiprocessor machine?
4-14
Informix Administrator’s Reference
Figure 4-13
PERFORMANCE
Screen with
Parameter Names
Setting Configuration Parameters in ON-Monitor
DATA REPLICATION: Make desired changes and press ESC to record changes.
Press Interrupt to abort changes. Press F2 or CTRL-F for field-level help.
DATA REPLICATION PARAMETERS
Interval
Timeout
Auto
Lost & Found
[ 30]
[ 30]
[0]
[/usr/informix/etc/dr.lostfound
]
DATA REPLICATION: Make desired changes and press ESC to record changes.
Press Interrupt to abort changes. Press F2 or CTRL-F for field-level help.
DATA REPLICATION PARAMETERS
Interval
Timeout
Auto
Lost & Found
Figure 4-15
DATA REPLICATION
Screen with
Parameter Names
{DRINTERVAL}
{DRTIMEOUT}
{DRAUTO}
{DRLOSTFOUND}
DIAGNOSTICS: Make desired changes and press ESC to record changes.
Press Interrupt to abort changes. Press F2 or CTRL-F for field-level help.
DIAGNOSTIC PARAMETERS
Message Log
[/usr/informix/server.log
Console Msgs. [/dev/console
Alarm Program [
Dump
Dump
Dump
Dump
Dump
Figure 4-14
DATA REPLICATION
Screen
Shared Memory
Gcore
Core
Count
Directory
[Y]
[N]
[N]
[
1]
[/tmp
Figure 4-16
DIAGNOSTICS
Screen
]
]
]
]
ON-Monitor
4-15
Setting Configuration Parameters in ON-Monitor
DIAGNOSTICS: Make desired changes and press ESC to record changes.
Press Interrupt to abort changes. Press F2 or CTRL-F for field-level help.
DIAGNOSTIC PARAMETERS
Message Log
Console Msgs.
Alarm Program
{MSGPATH}
{CONSOLE}
{ALARMPROGRAM}
Dump
Dump
Dump
Dump
Dump
{DUMPSHMEM}
{DUMPGCORE}
{DUMPCORE}
{DUMPCNT}
{DUMPDIR}
Shared Memory
Gcore
Core
Count
Directory
PDQ: Make desired changes and press ESC to record changes.
Press Interrupt to abort changes. Press F2 or CTRL-F for field-level help.
PARALLEL DATABASE QUERIES PARAMETERS
Maximum Priority
Decision Support Queries
Decision Support Memory (Kbytes)
Maximum Decision Support Scans
Dataskip
Optimizer Hint
[100]
[
[
[
[
[2]
4-16
Informix Administrator’s Reference
Figure 4-18
PDQ Screen
]
]
3]
]
PDQ: Make desired changes and press ESC to record changes.
Press Interrupt to abort changes. Press F2 or CTRL-F for field-level help.
PARALLEL DATABASE QUERIES PARAMETERS
Maximum Priority
Decision Support Queries
Decision Support Memory (Kbytes)
Maximum Decision Support Scans
Dataskip
Optimizer Hint
Figure 4-17
DIAGNOSTICS
Screen with
Parameter Names
{MAX_PDQPRIORITY}
{DS_MAX_QUERIES}
{DS_TOTAL_MEMORY}
{DS_MAX_SCANS}
{DATASKIP}
{OPTCOMPIND}
Figure 4-19
PDQ Screen with
Parameter Names
Chapter
Message-Log Messages
In This Chapter .
.
.
.
.
.
.
.
.
.
.
.
.
.
5-3
How the Messages Are Ordered in This Chapter
.
.
.
.
.
.
.
.
5-4
How to View These Messages .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5-4
Message Categories
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5-5
Messages: A-B
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5-6
Messages: C .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5-8
Messages: D-E-F .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5-16
Messages: G-H-I .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5-20
Messages: J-K-L-M .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5-23
Messages: N-O-P
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5-29
Messages: Q-R-S .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5-37
Messages: T-U-V.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5-43
Messages: W-X-Y-Z .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5-47
Messages: Symbols .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5-48
Violations Table Messages .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5-50
Truncate Table Messages .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5-54
.
.
.
.
.
.
.
5
5-2
Informix Administrator’s Reference
In This Chapter
This chapter contains nonnumbered messages that are printed in the
message log for the database server. It lists the nonnumbered messages that
can appear in the message log and provides explanatory notes for the
messages. If numbered messages appear, see Informix Error Messages in
Answers OnLine to look up their explanations and corrective actions.
Of the messages included here, a few might require you to contact Informix
Technical Support staff. Such messages are rarely, if ever, seen at customer
locations.
For information on what the message log is, the location of the file where the
database server sends the messages, and some guidance on how and when
you might want to read it, see the chapter on overview of database server
administration.
For information on the unnumbered ON-Bar messages, see Informix Error
Messages in Answers OnLine. For error messages that pertain to ON-Archive,
see your Archive and Backup Guide.
Message-Log Messages 5-3
How the Messages Are Ordered in This Chapter
How the Messages Are Ordered in This Chapter
Database server message-log messages are arranged in this chapter in
alphabetical order, sorted with the following additional rules:
■
The time stamp that precedes each message is ignored.
■
Letter case is ignored in alphabetization.
■
Spaces are ignored.
■
Quotation marks are ignored.
■
The word the is ignored if it is the first word in the message.
■
Messages that begin with numbers or punctuation symbols appear
toward the end of the list in a special section labeled “Messages:
Symbols” on page 5-48.
A cause and suggested corrective action for a message or group of messages
follow the message text.
How to View These Messages
Use one of the following methods to view these messages:
■
On-line message log
To see the messages displayed as they occur, use the tail -f online.log
command.
■
onstat -m command
For more information, see “The onstat -m Option” on page 3-115.
To see the error number associated with these unnumbered messages, view
the logmessage table in the sysmaster database:
SELECT * FROM logmessage;
5-4
Informix Administrator’s Reference
Message Categories
Message Categories
Four general categories of messages can be defined, although some messages
fall into more than one category:
■
Routine information
■
Assertion-failed messages
■
Administrative action needed
■
Fatal error detected
The assertion-failed messages reflect their traditional use by Informix
technical staff to assist in troubleshooting and diagnostics. The information
that they report often falls into the category of unexpected events that might or
might not develop into problems caught by other error codes. Moreover, the
messages are terse and often extremely technical. They might report on one
or two isolated statistics without providing an overall picture of what is
happening.
When technical staff are investigating a problem, this information can
suggest to them possible research paths. However, you might find that the
information has little or no application when it is taken out of this context or
when processing is proceeding normally.
Message-Log Messages 5-5
Messages: A-B
Messages: A-B
Aborting Long Transaction: tx 0xn
Cause:
The transaction spans the log space specified by transaction highwater mark (LTXHWM), and the offending long transaction is
rolling back.
Action:
No additional action is needed. The address of the transaction
structure in shared memory is displayed as a hexadecimal value.
Affinitied VP mm to phys proc nn
Cause:
The database server successfully bound a CPU virtual processor to
a physical processor.
Action:
None required.
Affinity not enabled for this server
Cause:
You tried to bind your CPU virtual processors to physical
processors, but the database server that you are running does not
support process affinity.
Action:
Set AFF_NPROCS to 0, or remove the affinity setting from
VPCLASS.
Assert Failed: Error from SBSpace cleanup thread
Cause:
The sbspace cleanup thread encountered an error while cleaning
up stray smart large objects.
Action:
See the action suggested in the message log file.
Most of the time, running onspaces -cl sbspacename on the failed
sbspace succeeds in cleaning up any stray smart large objects. If
you encounter an unrecoverable error, contact Informix Technical
Support.
5-6
Informix Administrator’s Reference
Messages: A-B
Assert Failed: Short description of what failed
Who: Description of user/session/thread running at the time
Result: State of the affected database server entity
Action: What action the database administrator should take
See Also: DUMPDIR/af.uniqid containing more diagnostics.
Cause:
This message indicates an internal error.
Action:
The af.uniqid file in the directory specified by the ONCONFIG
parameter DUMPDIR contains a copy of the assertion-failure
message that was sent to the message log, as well as the contents
of the current, relevant structures and/or data buffers. The information included in this message is intended for Informix
Technical Support.
Contact Informix Technical Support.
Begin re-creating indexes deferred during recovery.
Cause:
During recovery, indexes to be created are deferred until after
recovery completes. This message indicates that the database
server deferred re-creating indexes and that it is now creating the
indexes. During the time that the database server re-creates the
indexes, it locks the affected tables with a shared lock.
Action:
None required.
Building 'sysmaster' database requires ~mm pages of logical log.
Currently there are nn pages available.
Prepare to back up your logs soon.
Cause:
You do not currently have the approximate amount of free log
space necessary to complete a build of the sysmaster database.
Action:
Back up your logs.
Building 'sysmaster' database...
Cause:
The database server is building the sysmaster database.
Action:
None required.
Message-Log Messages 5-7
Messages: C
Messages: C
Cannot Allocate Physical-log File, mm wanted, nn available
Cause:
The database server attempted to initialize shared memory with a
physical-log size that exceeds the amount of contiguous space
available in the dbspace (specified as PHYSDBS in ONCONFIG).
Both quantities of space, wanted and available, are expressed as
kilobytes.
Action:
You must either reduce the size of the physical log (specified as
PHYSFILE in ONCONFIG) or change the location of the physical log
to a dbspace that contains adequate contiguous space to accommodate the physical log.
Cannot change to mode.
Cause:
Some error during fast or full recovery has prevented the system
from changing to on-line or quiescent mode.
Action:
See previous messages in the log file for information, or contact
Informix Technical Support.
Cannot Commit Partially Complete Transactions
Cause:
Transactions that drop tables or indexes do not perform the drop
until a COMMIT statement is processed (with a few exceptions). In
these cases, a beginning commit log record is written, followed by
the usual commit log record. If the database server fails in
between the two, the fast recovery process attempts to complete
the commit the next time that you initialize the database server.
If this completion of the commit fails, the database server
generates the preceding message.
Action:
5-8
To determine if you need to take action, examine the logical log as
described in Chapter 6, “Interpreting Logical-Log Records.”
Informix Administrator’s Reference
Messages: C
Cannot create a user-defined VP class with 'SINGLE_CPU_VP' nonzero
Cause:
SINGLE_CPU_VP is set to nonzero, and onmode was used to create
a user-defined VP class.
Action:
If user-defined VP classes are necessary, stop the database server,
change SINGLE_CPU_VP to zero, and restart the database server.
Cannot Open Dbspace nnn
Cause:
The database server is unable to access the specified dbspace. This
message indicates a problem opening the tblspace or corruption in
the initial chunk of the dbspace.
Action:
Verify that the device or devices that make up the chunks of this
dbspace are functioning properly and that you assigned them the
correct operating-system permissions (rw-rw----). You might be
required to perform a data restore.
Cannot Open Logical Log
Cause:
The database server is unable to access the logical-log files.
Because the database server cannot operate without access to the
logical log, you must resolve this problem.
Action:
Verify that the chunk device where the logical-log files reside is
functioning and has the correct operating-system permissions
(rw-rw----).
Cannot Open Mirror Chunk pathname, errorno = nn
Cause:
The database server cannot open the mirrored chunk of a
mirrored pair. The chunk pathname and the operating-system
error are returned.
Action:
For more information about corrective actions, see your
operating-system documentation.
Message-Log Messages 5-9
Messages: C
Cannot Open Primary Chunk pathname, errorno = nnn
Cause:
The primary chunk of a mirrored pair cannot be opened. The
chunk pathname and the operating-system error are returned.
Action:
For more information about corrective actions, see your
operating-system documentation.
Cannot Open Primary Chunk chunkname
Cause:
The initial chunk of the dbspace cannot be opened.
Action:
Verify that the chunk device is running properly and has the
correct operating-system permissions (rw-rw----).
Cannot Perform Checkpoint, shut system down.
Cause:
A thread that is attempting to restore a mirrored chunk has
requested a checkpoint, but the checkpoint cannot be performed.
Action:
Shut down the database server.
Cannot Restore to Checkpoint
Cause:
The database server is unable to recover the physical log and thus
unable to perform fast recovery.
Action:
If the database server does not come on-line, perform a data
restore from dbspace backup.
Cannot Rollback Incomplete Transactions
5-10
Cause:
Within the fast-recovery or data-restore procedure, the logical-log
records are first rolled forward. Then, open transactions that have
not committed are rolled back. An open transaction could fail
during the rollback, leaving some of the modifications from the
open transaction in place. This error does not prevent the database
server from moving to quiescent or on-line mode, but it might
indicate an inconsistent database.
Action:
To determine if any action is needed, use the onlog utility to
examine the logical log.
Informix Administrator’s Reference
Messages: C
Cannot update pagezero
Cause:
A failure occurred while the database server was trying to rewrite
a reserved page during the reversion process.
Action:
See previous messages in the log file for information, or call
Informix Technical Support.
Can’t affinity VP mm to phys proc nn
Cause:
The database server supports process affinity, but the system call
to bind the virtual processor to a physical processor failed.
Action:
See your operating-system documentation.
Checkpoint blocked by down space, waiting for override or
shutdown
Cause:
A dbspace has gone down during a checkpoint interval. The
database server is configured to wait for an override when this
situation occurs.
Action:
Either shut down the database server or issue an onmode -O
command to override the down dbspace. For more information on
the onmode utility, see “onmode: Change Mode and Shared
Memory” on page 3-37.
Checkpoint Completed: duration was n seconds
Cause:
A checkpoint completed successfully.
Action:
None required.
Checkpoint Page Write Error
Cause:
The database server detected an error in an attempt to write
checkpoint information to disk.
Action:
For additional assistance in resolving this situation, contact
Informix Technical Support.
Message-Log Messages 5-11
Messages: C
Checkpoint Record Not Found in Logical Log
Cause:
The logical log or the chunk that contains the logical log is
corrupted. The database server cannot initialize.
Action:
Perform a data restore from dbspace backup.
Chunk chunkname added to space spacename
Description:
The variables in this message have the following values:
chunkname
is the name of the chunk that the database
server administrator is adding.
spacename
is the name of the storage space to which the
database server administrator is adding the
chunk.
Cause:
The database server administrator added chunk chunkname
to space spacename.
Action:
None required.
Chunk chunk-name dropped from space spacename
Cause:
The database server administrator dropped chunk chunkname
from space spacename.
Action:
None required.
Chunk number nn pathname -- Offline
5-12
Cause:
The indicated chunk in a mirrored pair has been marked with
status D and taken off-line. The other chunk in the mirrored pair is
operating successfully.
Action:
Take steps now to repair the chunk device and restore the chunk.
The chunk number and chunk device pathname are displayed.
Informix Administrator’s Reference
Messages: C
Chunk number nn pathname -- Online
Cause:
The indicated chunk in a mirrored pair has been recovered and is
on-line (marked with status O). The chunk number and chunk
device pathname are displayed.
Action:
None required.
The chunk pathname must have READ/WRITE permissions for owner
and group.
Cause:
The chunk pathname does not have the correct owner and group
permissions.
Action:
Make sure that you assigned the correct permissions
(-rw-rw---) to the device on which the chunk is located.
The chunk pathname must have owner-ID and group-ID set to
informix.
Cause:
The chunk chunkname does not have the correct owner and group
ID.
Action:
Make sure the device on which the chunk is located has the
ownership. On UNIX, both owner and group should be informix.
On Windows NT, the owner must be a member of the InformixAdmin group.
The chunk pathname will not fit in the space specified.
Cause:
The chunk pathname does not fit in the space that you specified.
Action:
Choose a smaller size for the chunk, or free space where the chunk
is to be created.
Cleaning stray LOs in sbspace 'sbspace-name'.
Cause:
The database server administrator is running onspaces -cl
sbspacename.
Action:
None required.
Message-Log Messages 5-13
Messages: C
Completed re-creating indexes.
Cause:
The database server finished re-creating the deferred indexes.
Action:
None required.
Configuration has been grown to handle up to integer chunks.
Cause:
The database server administrator increased the number of
chunks to the specified value by changing CONFIGSIZE or setting
MAX_CHUNKS to a higher value.
Action:
None required. The change was successful.
Configuration has been grown to handle up to integer dbslices.
Cause:
The database server administrator increased the number of
dbslices to the specified value by changing CONFIGSIZE or setting
MAX_DBSLICES to a higher value.
Action:
None required. The change was successful.
Configuration has been grown to handle up to integer dbspaces.
Cause:
The database server administrator increased the number of
dbspaces to the specified value by changing CONFIGSIZE or
setting MAX_DBSPACES to a higher value.
Action:
None required. The change was successful.
Continuing Long Transaction (for COMMIT): tx 0xn
5-14
Cause:
The logical log has filled beyond the long-transaction high-water
mark (LTXHWM), but the offending long transaction is in the
process of committing. In this case, the transaction is permitted to
continue writing to the logical log and is not rolled back. The
address of the transaction structure in shared memory is
displayed as hexadecimal value tx 0xn.
Action:
None required.
Informix Administrator’s Reference
Messages: C
Could not disable priority aging: errno = nn
Cause:
An operating-system call failed while it was trying to disable
priority aging for the CPU virtual processor. The system error
number associated with the failure is returned.
Action:
See your operating-system documentation.
Could not fork a virtual processor: errno = nn
Cause:
The fork of a virtual processor failed. The database server returns
the operating-system error number associated with the failure.
Action:
For information on determining the maximum number of
processes available per user and for the system as a whole, refer to
your operating-system documentation.
Create_vp: cannot allocate memory
Cause:
The database server cannot allocate new shared memory.
Action:
The database server administrator must make more shared
memory available. This situation might require increasing
SHMTOTAL or reconfiguring the operating system. This message
is usually accompanied by other messages that give additional
information.
Message-Log Messages 5-15
Messages: D-E-F
Messages: D-E-F
dataskip is OFF for all dbspaces
Cause:
Informational.
Action:
None required.
dataskip is ON for all dbspaces
Cause:
Informational.
Action:
None required.
dataskip is ON for dbspaces: <dbspacelist>.
Cause:
Informational; DATASKIP is ON for the specified dbspaces.
Action:
None required.
dataskip will be turned {ON|OFF} for <dbspacename>.
Cause:
Informational; DATASKIP is ON or OFF for the specified dbspace.
Action:
None required.
DBSPACETEMP internal list not initialized, using default
Cause:
An error occurred while initializing a user-specified
DBSPACETEMP list. Typically this condition is due to a memoryallocation failure.
Action:
Check for accompanying error messages.
The DBspace/BLOBspace spacename is now mirrored.
5-16
Cause:
You successfully added mirroring to the indicated storage space.
Action:
None required.
Informix Administrator’s Reference
Messages: D-E-F
The DBspace/BLOBspace spacename is no longer mirrored.
Cause:
You have ended mirroring for the indicated storage space.
Action:
None required.
Dbspace dbspacename for Physical-log File not found
Cause:
The dbspace dbspacename specified by the PHYSDBS configuration
parameter does not exist. As a consequence, the database server
cannot complete initialization.
Action:
Use a dbspace known to exist.
devname: write failed, file system is full.
Cause:
Because the file system devname is full, the write failed.
Action:
Free some space in devname.
Dropping temporary tblspace 0xn, recovering nn pages.
Cause:
During shared-memory initialization, the database server
routinely searches for temporary tables that are left without
proper cleanup. If the database server finds a temporary table, it
drops the table and recovers the space. The database server
located the specified temporary tblspace and dropped it. The
value 0xn is the hexadecimal representation of the tblspace
number.
Action:
None required.
Dynamically allocated new shared memory segment (size nnnn)
Cause:
This status message informs you that the database server successfully allocated a new shared-memory segment of size nnnn.
Action:
None required.
Message-Log Messages 5-17
Messages: D-E-F
ERROR: NO "waitfor" locks in Critical Section.
Cause:
The database server does not permit a thread to own locks that
might have to wait while that thread is within a critical section.
Any such lock request is denied, and an ISAM error message is
returned to the user.
Action:
The error reported is an internal error. Contact Informix Technical
Support.
Error building sysmaster database. See outfile.
Cause:
Errors were encountered in building the sysmaster database. The
file outfile contains the result of running the script buildsmi.
Action:
See the file outfile.
Error writing pathname errno = nn
Cause:
The operating system cannot write to pathname. The number nn is
the number of the operating-system error that was returned.
Action:
Investigate the cause of the operating-system error. Usually it
means that no space is available for the file. It might also mean
that the directory does not exist or that no write permissions exist.
Error writing shmem to file filename (error)
Unable to create output file filename errno=mm
Error writing filename errno=nn
5-18
Cause:
The database server detected an error in an attempt to write
shared memory to filename. The first message is followed by one of
the next two. Either the attempt failed because the output file
could not be created or because the contents of shared memory
could not be written. The error refers to the operating-system
error that prompted the attempted write of shared memory to a
file. The value of nn is the operating-system error.
Action:
See your operating-system documentation.
Informix Administrator’s Reference
Messages: D-E-F
Existing sysmaster database renamed to sysmaster_pre60
Cause:
When the database server was building the sysmaster database, it
found that a database with the name of sysmaster already exists.
The database server renamed the database sysmaster_pre60.
Action:
None required.
Fatal error initializing CWD string.
Check permissions on current working directory. Group groupname
must have at least execute permission on '.'.
Cause:
Group groupname does not have execute permission for the
current working directory.
Action:
Check permissions on the current working directory. You or the
system administrator must give your group execute permission
on the current working directory. After your group has been given
permission, retry the operation that generated this message.
Fragments dbspacename1 dbspacename2 of table tablename set to
non-resident.
Cause:
The specified fragments of tablename either have been set to
nonresident by the SET TABLE statement.
Action:
None required.
Forced-resident shared memory not available
Cause:
The database server port for your computer does not support
forced-resident shared memory.
Action:
None required.
Freed mm shared-memory segment(s) nn bytes
Cause:
The database server sends this message to the message log after
you run the -F option of the onmode utility to free unused
memory. The message informs you of the number of segments
and bytes that the database server successfully freed.
Action:
None required.
Message-Log Messages 5-19
Messages: G-H-I
Messages: G-H-I
gcore pid; mv core.pid dir/core.pid.ABORT
Cause:
This status message during a database server failure provides the
name and place of each core file associated with the virtual
processors.
Action:
None required.
I/O function chunk mm, pagenum nn, pagecnt aa --> errno = bb
Cause:
An operating-system error occurred during an attempt to access
data from disk space. The operating-system function that failed is
defined by function. The chunk number and physical address of
the page where the error occurred are displayed as integers.The
pagecnt value refers to the number of pages that the thread was
attempting to read or write. If an errno value is displayed, it is the
number of the operating-system error and might explain the
failure. If function is specified as bad request, some unexpected
event caused the I/O attempt on an invalid chunk or page.
Action:
If the chunk status changes to D, or down, restore the chunk from
its mirror or repair the chunk. Otherwise, perform a data restore.
I/O error, primary/mirror Chunk pathname -- Offline (sanity)
Cause:
The database server detected an I/O error on a primary or
mirrored chunk with pathname. The chunk was taken off-line.
Action:
Check that the device on which the chunk was stored is
functioning as intended.
Indexes idx1 and idx2 set to non-resident
5-20
Cause:
The specified indexes have been set to nonresident through the
SET TABLE statement.
Action:
None required.
Informix Administrator’s Reference
Messages: G-H-I
Informix database_server Initialized - Complete Disk
Initialized
Cause:
Disk space and shared memory have been initialized. Any
databases that existed on the disk before the initialization are now
inaccessible.
Action:
None required.
Informix database_server Initialized - Shared Memory
Initialized
Cause:
Shared memory has been initialized.
Action:
None required.
Informix database_server Stopped
Cause:
The database server has moved from quiescent mode to off-line
mode. The database server is off-line.
Action:
None required.
ERROR: Insufficient available disk in the root dbspace to
increase the entire Configuration save area.
Cause:
The user attempted to increase the number of storage objects to a
specific value by changing CONFIGSIZE or setting
MAX_DBSPACES, MAX_DBSLICES, or MAX_CHUNKS to a higher
value, but the database server did not have enough rootspace for
the increased number of storage objects. A storage object might be
a dbspace, dbslice, or chunk.
Action:
Increase the size of the root dbspace or reset CONFIGSIZE,
MAX_DBSPACES, MAX_DBSLICES, or MAX_DBSLICES to a lower
value and restart the database server. For example, if you set
MAX_CHUNKS to 32,768, but the root dbspace did not have
enough space, set MAX_CHUNKS to a lower value.
Message-Log Messages 5-21
Messages: G-H-I
Insufficient available disk in the root dbspace for the CM save
area. Increase the size of the root dbspace in the ONCONFIG file
and reinitialize the server.
Cause:
Action:
The cause might be one of the following:
■
The user attempted to increase the number of storage
objects to a specific value by changing CONFIGSIZE or
setting MAX_DBSPACES, MAX_DBSLICES, or
MAX_CHUNKS to a higher value, but the database server
did not have enough rootspace for the increased number
of storage objects. A storage object might be a dbspace,
dbslice, or chunk.
■
The user converted to a database server version that
requires slightly more rootspace, but it is not available
(this case is unlikely).
Take one of the following actions:
■
Increase the size of the root dbspace or reset CONFIGSIZE,
MAX_DBSPACES, MAX_DBSLICES, or MAX_DBSLICES to a
lower value and restart the database server. For example,
if you set MAX_DBSPACES to 32,768 but the root dbspace
did not have enough space, set MAX_DBSPACES to a lower
value.
■
Increase the size of the root dbspace and reinitialize the
database server.
Internal overflow of shmid's, increase system max shared memory
segment size.
5-22
Cause:
The database server was initializing shared memory when it ran
out of internal storage for the shared-memory IDs associated with
this segment.
Action:
Increase the value of your maximum kernel shared-memory
segment size, usually SHMMAX. For more information, see your
operating-system documentation.
Informix Administrator’s Reference
Messages: J-K-L-M
Messages: J-K-L-M
Listener-thread err = error_number: error_message
Cause:
A listener thread has encountered an error. This message displays
the error number and message text.
Action:
For the cause and corrective action, see Informix Error Messages in
Answers OnLine.
Lock table overflow - user id mm session id nn
Cause:
A thread attempted to acquire a lock when no locks were
available. The user ID and session ID are displayed.
Action:
Increase the LOCKS configuration parameter, and initialize shared
memory.
Logical-log File not found
Cause:
The checkpoint record in the root dbspace reserved page is
corrupted.
Action:
Perform a data restore from dbspace backup.
Logical Log nn Complete
Cause:
The logical-log file identified by log-ID number nn is full. The
database server automatically switches to the next logical-log file
in the sequence.
Action:
None required.
Message-Log Messages 5-23
Messages: J-K-L-M
Logical logging vberror for type:subtype in (????)
Description:
The log record that caused the error is identified as follows:
type
is the logical-log record type.
subtype
is the logging subsystem.
????
is the name of an internal function that
indicates what system failed to log.
Cause:
Logging failed.
Action:
Contact Informix Technical Support.
Log Record: log = ll, pos = 0xn, type = type:subtype(snum),
trans = xx
Description:
5-24
The log record that caused the error is identified as follows:
ll
is the logical-log ID where the record is stored.
0xn
is the hexadecimal address position within the
log.
type
is the logical-log record type.
subtype
is the logging subsystem.
snum
is the subsystem number.
xx
is the transaction number that appears in the
logical log.
Cause:
The database server detected an error during the rollforward
portion of fast recovery or logical-log restore.
Action:
Contact Informix Technical Support.
Informix Administrator’s Reference
Messages: J-K-L-M
Log record (type:subtype) at log nn, 0xn was not undone
Description:
The log record that caused the error is identified as follows:
type
is the logical-log record type.
subtype
is the logging subsystem.
nn
is the logical-log ID where the record is stored.
0xn
is the hexadecimal address position within the
log.
Cause:
A log undo failed because a log is corrupt.
Action:
To determine if any action is needed, use the onlog utility to
examine the logical log. Contact Informix Technical Support.
Log record (type:subtype) failed, partnum pnum row rid iserrno
num
Description:
The log record that caused the error is identified as follows:
type
is the logical-log record type.
subtype
is the logging subsystem.
pnum
is the part number.
rid
is the row ID.
num
is the iserror number.
Cause:
A logging failure occurred.
Action:
Contact Informix Technical Support.
Message-Log Messages 5-25
Messages: J-K-L-M
Log record (type:subtype) in log nn, offset 0xn was not rolled
back
Description:
The log record that caused the error is identified as follows:
type
is the logical-log record type.
subtype
is the logging subsystem.
log
is the logical-log ID where the record is stored.
offset
is the hexadecimal address position within the
log.
Cause:
A log undo failed because a log is corrupt.
Action:
To determine if any action is needed, use the onlog utility to
examine the logical log. Contact Informix Technical Support.
Logical Recovery allocating nn worker threads thread_type.
Cause:
The database server determined the number of worker threads
that will be used for parallel recovery. The variable thread_type can
assume the values ON_RECVRY_THREADS or
OFF_RECVRY_THREADS.
Action:
This status message requires no action. If you want a different
number of worker threads allocated for parallel recovery, change
the value of the ONCONFIG configuration parameter
ON_RECVRY_THREADS or OFF_RECVRY_THREADS.
Logical Recovery Started
5-26
Cause:
Logical recovery began.
Action:
This status message requires no action.
Informix Administrator’s Reference
Messages: J-K-L-M
Memory allocation error.
Cause:
Not enough main (OS) memory or not enough internal (database
server) memory might cause this error.
Action:
See your operating-system documentation for information on
how to increase OS memory. Alternatively, increase the virtualmemory size (SHMVIRTSIZE), the size of the added segments,
(SHMADD), or your total shared-memory size (SHMTOTAL).
Mirror Chunk chunkname added to space spacename. Perform manual
recovery.
Cause:
Fast recovery, full recovery, or an HDR secondary has recovered
the add of a mirror chunk. It does not perform automatic mirror
recovery, however. The administrator must do this.
Action
Use either the onspaces utility or ON-Monitor to attempt to
recover the mirror chunks.
Mixed transaction result. (pid=nn user=userid)
Cause:
You receive this message only when more than one database
server is involved in a transaction. This message indicates that a
database server, after preparing a transaction for commit, heuristically rolled back the transaction, and the global transaction
completed inconsistently. The pid value is the user-process identification number of the coordinator process. The value of user is the
user ID associated with the coordinator process.
Action:
See the information on recovering manually from failed twophase commit in your Administrator’s Guide.
mt_shm_free_pool: pool 0xn has blocks still used (id nn)
Cause:
An internal error occurred during a pool deallocation because
blocks are still associated with the pool.
Action:
Contact Informix Technical Support.
Message-Log Messages 5-27
Messages: J-K-L-M
mt_shm_init: can’t create resident/virtual segment
Cause:
The causes for the failure to create the resident or virtual segment
are as follows: (1) the segment size is less than the minimum
segment size; (2) the segment size is larger than the maximum
segment size; (3) allocating another segment would exceed the
allowable total shared-memory size; or (4) a failure occurred
while the database server was trying to allocate the segment.
Action:
If you suspect that this error was generated because of item 1 or 2
in the preceding paragraph, contact Informix Technical Support.
To correct item 3, increase the SHMTOTAL value in your
ONCONFIG configuration file. For additional information about
errors generated because of item 4, see your logical-log file.
mt_shm_remove: WARNING: may not have removed all/correct
segments
5-28
Cause:
When the operating system tried to remove the shared-memory
segments associated with the database server, the last segment did
not equal the last segment registered internally. This situation is
probably due to the unexpected failure of the database server.
Action:
Remove any segments that were not cleaned up.
Informix Administrator’s Reference
Messages: N-O-P
Messages: N-O-P
Newly specified value of value for the pagesize in the configuration file does not match older value of value. Using the
older value.
Cause:
This message displays upon database server restart. The
PAGESIZE value changed in the ONCONFIG file after the database
server was initialized.
Action:
The database server uses the older PAGESIZE value.
Not enough main memory
Cause:
The database server detected an error in an attempt to acquire
more memory space from the operating system.
Action:
For more information about shared-memory configuration and
management, refer to your operating-system documentation.
Not enough logical-log files, Increase LOGFILES
Cause:
During a data restore, the value of the LOGFILES configuration
must always be greater than or equal to the total number of
logical-log files. At some point during the restore, the number of
logical-log files exceeded the value of LOGFILES.
Action:
Increase the value of LOGFILES in ONCONFIG.
Not enough physical procs for affinity
Cause:
The ONCONFIG parameters AFF_NPROCS and AFF_SPROC are not
correctly set. AFF_SPROC plus AFF_NPROCS is greater than the
number of physical processors on your computer or node.
Action:
Reset AFF_NPROCS and AFF_SPROC, such that the value
AFF_SPROC plus value of AFF_NPROCS is less than or equal to the
number of physical processors.
Message-Log Messages 5-29
Messages: N-O-P
The number of configured CPU poll threads exceeds NUMCPUVPS.
Cause:
The number of in-line poll threads that you specified in the
ONCONFIG configuration file exceeds the number of CPU virtual
processors.
Action:
Reduce the number of in-line poll threads to be less than or equal
to the number of CPU virtual processors.
onconfig parameter parameter modified from old_value to
new_value
Cause:
When the database server shared memory is reinitialized, this
message documents any changes that occurred since the last
initialization.
Action:
None required.
oninit: Cannot have SINGLE_CPU_VP non-zero and number of CPU VPs
greater than 1.
Cause:
The ONCONFIG file contains VPCLASS cpu with a num= value
greater than 1 and a nonzero value for SINGLE_CPU_VP.
SINGLE_CPU_VP must be 0 (or omitted) when there are more than
1 CPU VPS.
Action:
Correct the ONCONFIG file and restart the database server.
oninit: Cannot have SINGLE_CPU_VP non-zero and user-defined VP
classes.
5-30
Cause:
The ONCONFIG file contains a user-defined VPCLASS as well as a
nonzero value for SINGLE_CPU_VP. SINGLE_CPU_VP must be 0 (or
omitted) when the ONCONFIG file contains a user-defined
VPCLASS.
Action:
Correct the ONCONFIG file and restart the database server.
Informix Administrator’s Reference
Messages: N-O-P
oninit: Cannot mix VPCLASS cpu and NUMCPUVPS, AFF_SPROC,
AFF_NPROCS, or NOAGE parameters
Cause:
The ONCONFIG file contains both VPCLASS cpu and one or more
of the other listed parameters. It cannot contain both.
Action:
Correct the ONCONFIG file and restart the database server.
oninit: Cannot mix VPCLASS aio and NUMAIOVPS parameters.
Cause:
The ONCONFIG file contains both VPCLASS aio and NUMAIOVPS.
It cannot contain both.
Action:
Correct the ONCONFIG file and restart the database server.
oninit: Fatal error in initializing ASF with 'ASF_INIT_DATA'
flags asfcode = '25507'
Cause:
The nettype value specified in the sqlhosts file or registry for the
database server is invalid or unsupported, or the servicename
specified in the sqlhosts file or registry for the database server is
invalid.
Action:
Check the nettype and servicename values in the sqlhosts file or
registry for each DBSERVERNAME and for the DBSERVERALIASES.
Check the nettype value in each NETTYPE parameter in the
ONCONFIG file.
oninit: invalid or missing name for Subsystem Staging Blobspace.
Cause:
You set the configuration parameter STAGEBLOB to a blobspace
that does not exist.
Action:
Use the -d option of onspaces to create the blobspace specified in
STAGEBLOB, and restart the database server.
oninit: Too many VPCLASS parameters specified.
Cause:
Too many VPCLASS parameter lines have been specified in the
ONCONFIG file.
Action:
Reduce the number of VPCLASS lines, if possible. If not possible,
contact Informix Technical Support.
Message-Log Messages 5-31
Messages: N-O-P
oninit: VPCLASS classname bad affinity specification
Cause:
The affinity specification for the VPCLASS line is incorrect. Affinity
is specified as a range:
For m, use processor m.
For m to n, use processors in the range m to n inclusive, where m
<= n, m >= 0, and n >= 0.
Action:
Correct the VPCLASS parameter in the ONCONFIG file and restart
the database server.
oninit: VPCLASS classname duplicate class name.
Cause:
The VPCLASS classname in the ONCONFIG file has a duplicate
name. VP class names must be unique.
Action:
Correct the duplicate name and restart the database server.
oninit: VPCLASS classname illegal option
Cause:
One of the fields in the VPCLASS classname parameter is illegal.
Action:
Correct the parameter in the ONCONFIG file and restart the
database server.
oninit: VPCLASS classname maximum number of VPs is out of the
range 0-10000.
Cause:
The maximum number of VPs specified by a VPCLASS parameter
line must be in the range 1 to 10,000.
Action:
Correct the value and restart the database server.
oninit: VPCLASS classname name is too long. Maximum length is
maxlength.
5-32
Cause:
The length of the name field in VPCLASS classname is too long.
Action:
Choose a shorter class name, correct the ONCONFIG file, and
restart the database server.
Informix Administrator’s Reference
Messages: N-O-P
oninit: VPCLASS classname number of VPs is greater than the
maximum specified
Cause:
The initial number of VPs specified by a VPCLASS parameter is
greater than the maximum specified by the same VPCLASS
parameter.
Action:
Correct the VPCLASS PARAMETER AND restart the database
server.
oninit: VPCLASS classname number of VPs is out of the range
0-10000.
Cause:
The initial number of VPs specified by a VPCLASS parameter line
must be in the range 1 to 10,000.
Action:
Correct the value and restart the database server.
onmode: VPCLASS classname name is too long. Maximum length is
maxlength.
Cause:
The name of a dynamically added VP class that onmode -p
specifies is too long.
Action:
Choose a shorter name, and retry the onmode -p command.
Optical Subsystem is running.
Cause:
You set the value of the STAGEBLOB parameter in the configuration file, and the database server is communicating properly
with the optical-storage subsystem.
Action:
No action is required.
Optical Subsystem is not running.
Cause:
You set the value of the STAGEBLOB parameter in the configuration file, but the database server cannot detect the existence of
the optical-storage subsystem.
Action:
Check that the optical subsystem is on-line.
Message-Log Messages 5-33
Messages: N-O-P
Optical Subsystem STARTUP Error.
Cause:
The database server detects that the optical-storage subsystem is
running, but the database server cannot communicate with it
properly.
Action:
Check your optical subsystem for errors.
On-Line Mode.
Cause:
The database server is in on-line mode. Users can access all
databases
Action:
This status message requires no action.
onspaces: unable to reset dataskip
Cause:
This error message comes from the onspaces utility. For some
reason, the utility cannot change the specification of DATASKIP
(ON or OFF) across all dbspaces in the database server instance.
Action:
You are unlikely to receive this message. If the error persists after
you restart the database server, contact Informix Technical
Support.
Open transaction detected when changing log versions.
Cause:
The database server detected an open transaction while it was
trying to convert the data from a previous version of the database
server.
Action:
Conversion is not allowed unless the last record in the log is a
checkpoint. You must restore the previous version of the database
server, force a checkpoint, and then retry conversion.
Out of message shared memory
5-34
Cause:
The database server could not allocate more memory for the
specified segment.
Action:
For additional information, see the log file.
Informix Administrator’s Reference
Messages: N-O-P
out of resident shared memory
Cause:
The database server could not allocate more memory for the
specified segment.
Action:
For additional information, see the log file.
out of virtual shared memory
Cause:
The database server could not allocate more memory for the
specified segment.
Action:
For additional information, see the log file.
PANIC: Attempting to bring system down
Cause:
A fatal database server error occurred.
Action:
See the error that caused the panic and attempt the corrective
action suggested by the error message. For additional information
that might explain the failure, refer also to other messages in the
message-log file.
Participant site database_server heuristically rolled back
Cause:
A remote site rolled back a transaction after it reached the
prepared-for-commit phase.
Action:
You might need to roll back the transaction on other sites and then
restart it.
Possible mixed transaction result.
Cause:
This message indicates that error -716 has been returned.
Associated with this message is a list of the database servers
where the result of a transaction is unknown.
Action:
For information on determining if a transaction was implemented
inconsistently, see the Administrator’s Guide.
Message-Log Messages 5-35
Messages: N-O-P
Prepared participant site server_name did not respond
Cause:
Too many attempts were made to contact remote site server_name.
After several timeout intervals were met, the site was determined
to be down.
Action:
Verify that the remote site is on-line and that it is correctly
configured for distributed transactions. Once the remote site is
ready, reinitiate the transaction.
Prepared participant site server_name not responding
5-36
Cause:
The database server is attempting to contact remote site
server_name. For some unknown reason, the database server
cannot contact the remote site.
Action:
Verify that the remote site is on-line and that it is correctly
configured for distributed transactions.
Informix Administrator’s Reference
Messages: Q-R-S
Messages: Q-R-S
Quiescent Mode
Cause:
The database server has entered quiescent mode from some other
state. On UNIX, only users logged in as informix or as root can
interact with the database server. On Windows NT, only members
of the Informix-Admin group can interact with the database
server. No user can access a database.
Action:
None required.
Recovery Mode
Cause:
The database server entered the recovery mode. No user can
access a database until recovery is complete.
Action:
None required.
Reversion cancelled
Cause:
The reversion process was cancelled because of errors
encountered.
Action:
Correct the cause of the errors, and restart reversion.
Reversion complete
Cause:
The reversion process was completed successfully.
Action:
None required.
Recreating index: 'dbsname:"owner".tabname-idxname'
Cause:
This message indicates which index is currently being re-created.
Action:
None required.
Message-Log Messages 5-37
Messages: Q-R-S
Rollforward of log record failed, iserrno = nn
Cause:
The message appears if, during fast recovery or a data restore, the
database server cannot roll forward a specific logical-log
record.The database server might be able to change to quiescent or
on-line mode, but some inconsistency could result. For further
information, see the message that immediately precedes this one.
The iserrno value is the error number.
Action:
Contact Informix Technical Support.
scan_logundo: subsys ss, type tt, iserrno ee
Description:
The variables in this message have the following values:
ss
is the logical-log record type.
tt
is the logical-log record type.
ee
is the iserror number.
Cause:
A log undo failed because log type tt is corrupt.
Action:
Examine the logical log with the onlog utility to determine if
any action is needed. Contact Informix Technical Support.
scan_logundo: type mm, iserrno nn
Cause:
A log undo failed because log type nn is corrupt.
Action:
Examine the logical log with the onlog utility to determine if any
action is needed. Contact Informix Technical Support.
Session completed abnormally. Committing tx id 0xm, flags 0xn
5-38
Cause:
Abnormal session completion occurs only when the database
server is attempting to commit a transaction that has no current
owner, and the transaction develops into a long transaction.The
database server forked a thread to complete the commit.
Action:
None required.
Informix Administrator’s Reference
Messages: Q-R-S
Session completed abnormally. Rolling back tx id 0xm, flags 0xn
Cause:
Abnormal session completion occurs only when the database
server is attempting to commit a distributed transaction that has
no current owner, and the transaction develops into a long transaction. The database server forked a thread that rolled back the
transaction.
Action:
None required.
semctl: errno = nn
Cause:
When the database server initialized a semaphore, an error
occurred. The operating-system error is returned.
Action:
See your operating-system documentation.
semget: errno = nn
Cause:
An allocation of a semaphore set failed. The operating-system
error is returned.
Action:
See your operating-system documentation.
shmat: some_string os_errno: os_err_text
Cause:
An attempt to attach to a shared-memory segment failed. The
system error number and the suggested corrective action are
returned.
Action:
Review the corrective action (if given), and determine if it is
reasonable to try. For more information, refer to your operatingsystem documentation.
shmctl: errno = nn
Cause:
An error occurred while the database server tried to remove or
lock a shared-memory segment. The operating-system error
number is returned.
Action:
See your operating-system documentation.
Message-Log Messages 5-39
Messages: Q-R-S
shmdt: errno = nn
Cause:
An error occurred while the database server was trying to detach
from a shared-memory segment. The operating-system error
number is returned.
Action:
See your operating-system documentation.
shmem sent to filename
Cause:
The database server wrote a copy of shared memory to the
specified file as a consequence of an assertion failure.
Action:
None.
shmget: some_str os_errno: key shmkey: some_string
Cause:
Either the creation of a shared-memory segment failed, or an
attempt to get the shared-memory ID associated with a certain key
failed. The system error number and the suggested corrective
action are returned.
Action:
Consult your operating-system documentation.
Shutdown (onmode -k) or override (onmode -O)
Cause:
A dbspace has gone down during a checkpoint interval. The
database server is configured to wait for an override when this
situation occurs.
When the checkpoint actually happens, the following message
appears: Checkpoint blocked by down space, waiting for
override or shutdown.
Action:
5-40
Either shut down the database server or issue an onmode -O
command to override the down dbspace. For more information on
the onmode utility, see “onmode: Change Mode and Shared
Memory” on page 3-37.
Informix Administrator’s Reference
Messages: Q-R-S
Shutdown Mode
Cause:
The database server is in the process of moving from on-line mode
to quiescent mode.
Action:
None required.
Space spacename added.
Cause:
The database server administrator added a new storage space
spacename to the database server.
Action:
None required.
Space spacename dropped.
Cause:
The database server administrator dropped a storage space
spacename from the database server.
Action:
None required.
Space spacename -- Recovery Begins(addr)
Description:
The variables in this message have the following values:
spacename
is the name of the storage space that the
database server is recovering.
addr
is the address of the control block.
Cause:
This informational message indicates that the database
server is attempting to recover the storage space.
Action:
None required.
Message-Log Messages 5-41
Messages: Q-R-S
Space spacename -- Recovery Complete(addr)
Description:
The variables in this message have the following values:
spacename
is the name of the storage space that the
database server has recovered.
addr
is the address of the control block.
Cause:
This informational message indicates that the database
server recovered the storage space.
Action:
None required.
Space spacename -- Recovery Failed(addr)
Description:
The variables in this message have the following values:
spacename
is the name of the storage space that the
database server failed to recover.
addr
is the address of the control block.
Cause:
This informational message indicates that the database
server was unable to recover the storage space.
Action:
None required.
sysmaster database built successfully
5-42
Cause:
The database server successfully built the sysmaster database.
Action:
None required.
Informix Administrator’s Reference
Messages: T-U-V
Messages: T-U-V
Table tablename set to resident
Cause:
The indicated table has been made resident by the SET TABLE
statement.
Action:
No action is required.
Table tablename and all its indexes set to resident
Cause:
The indicated table and all its indexes have been made resident by
the SET TABLE statement.
Action:
No action is required.
The following tables have outstanding old version data
pages due to an In-Place Alter Table. Perform
UPDATE table-name SET column = column WHERE 1=1;
to clear these pages from the following tables.
Cause:
Reversion to a previous version of the database server has been
attempted while an in-place ALTER TABLE is in progress. The
previous versions of the database server cannot handle tables that
have multiple schemas of rows in them.
Action:
Force any in-place alters to complete by updating the rows in the
affected tables before you attempt to revert to a previous version
of the database server. To do this, create a dummy update in which
a column in the table is set to its own value, forcing the row to be
updated to the latest schema in the process without actually
changing column values. Rows are always altered to the latest
schema, so a single pass through the table that updates all rows
completes all outstanding in-place alters.
Message-Log Messages 5-43
Messages: T-U-V
TIMER VP: Could not redirect I/O in initialization, errno = nn
Cause:
The operating system could not open the null device or duplicate
the file descriptor associated with the opening of that device. The
system error number is returned.
Action:
See your operating-system documentation.
Too Many Active Transactions.
Cause:
During a data restore, there were too many active transactions. At
some point during the restore, the number of active transactions
exceeded 32 kilobytes.
Action:
None.
Transaction Not Found
Cause:
The logical log is corrupt. This situation can occur when a new
transaction is started, but the first logical-log record for the transaction is not a BEGWORK record.
Action:
Contact Informix Technical Support.
Transaction heuristically rolled back
Cause:
A heuristic decision occurred to roll back a transaction after it
completed the first phase of a two-phase commit.
Action:
None required.
Transaction table overflow - user id nn, process id nn
5-44
Cause:
A thread attempted to allocate an entry in the transaction table
when no entries in the shared-memory table were available. The
user ID and process ID of the requesting thread are displayed.
Action:
Try again later.
Informix Administrator’s Reference
Messages: T-U-V
Unable to create output file filename errno = nn
Cause:
The operating system cannot create output file filename. The errno
is the number of the operating-system error returned.
Action:
Verify that the directory exists and has write permissions.
Unable to extend nn reserved pages for purpose in root chunk.
Cause:
The operating system cannot extend to nn reserved pages for
purpose in root chunk. (The value purpose can be either Checkpoint/Log, DBSpace, Chunk, or Mirror Chunk.)
Action:
Reduce the ONCONFIG parameter for the resource cited; bring the
database server up and free some space in the primary root chunk.
Then reattempt the same operation.
Unable to initiate communications with the Optical Subsystem.
Cause:
The optical driver supplied by the optical-drive vendor has
indicated that the drive is not accessible.
Action:
Check driver installation and cabling between the computer and
the drive.
Unable to start SQL engine
Cause:
The database server encountered an out-of-memory condition.
Action:
No action is necessary.
Unable to open tblspace nn, iserrno = nn
Cause:
The database server cannot open the specified tblspace. (The
value nn is the hexadecimal representation of the tblspace
number.)
Action:
See the ISAM error message number nn, which should explain
why the tblspace cannot be accessed. The error message appears
in Informix Error Messages in Answers OnLine.
Message-Log Messages 5-45
Messages: T-U-V
The value of pagesize pagesize specified in the config file is
not a valid pagesize. Use 2048, 4096 or 8192 as the value for
PAGESIZE in the onconfig file and restart the server.
Cause:
This message displays upon disk initialization. The value of
PAGESIZE that was specified in the ONCONFIG file is not a valid
value.
Action:
Restart the database server with a valid PAGESIZE value.
Virtual processor limit exceeded
Cause:
You configured the database server with more than the maximum
number of virtual processors allowed (1000).
Action:
To reduce the number of virtual processors, decrease the values of
VPCLASS, NUMCPUVPS, NUMAIOVPS, or NETTYPE in your
ONCONFIG file.
VPCLASS classname name is too long. Maximum length is maxlength.
Cause:
This message indicates an internal error.
Action:
Contact Informix Technical Support.
VPCLASS classname duplicate class name.
Cause:
This message indicates an internal error.
Action:
Contact Informix Technical Support.
VPCLASS classname Not enough physical procs for affinity
5-46
Cause:
The physical processors in the affinity specification for the VP
class classname do not exist or are off-line. The problem might be
with the VPCLASS parameter for cpu class VPs or with the
AFF_SPROC and AFF_NPROCS parameters.
Action:
Make sure the named processors are on-line. Correct the affinity
specification for the named VP class. Restart the database server.
Informix Administrator’s Reference
Messages: W-X-Y-Z
Messages: W-X-Y-Z
WARNING: aio_wait: errno = nn
Cause:
While the database server was waiting for an I/O request to
complete, it generated error number nn on an operation that it was
attempting to execute.
Action:
Contact Informix Technical Support for assistance.
WARNING: Buffer pool size may cause database server to get into
a locked state. Recommended minimum buffer pool size is num
times maximum concurrent user threads.
Cause:
There are not enough buffers in the buffer pool. The database
server could use all available buffers and cause a deadlock to
occur.
Action:
Change the BUFFERS parameter in the ONCONFIG FILE to the
number that this message recommends. For more information on
the BUFFERS parameter, see “BUFFERS” on page 1-26.
warning: chunk timestamps are invalid.
Cause:
A sanity check is performed on chunks when they are first opened
at system initialization. The chunk specified did not pass the
check and will be brought off-line.
Action:
Restore the chunk from a dbspace backup or its mirror.
Warning: unable to allocate requested big buffer of size nn
Cause:
The internal memory allocation for a big buffer failed.
Action:
Increase either virtual memory size (SHMVIRTSIZE), the size of the
added segments (SHMADD), or your total shared-memory size
(SHMTOTAL).
Message-Log Messages 5-47
Messages: Symbols
Messages: Symbols
... dropping sysmaster database
Cause:
The database server is dropping sysmaster database during the
reversion process.
Action:
No action is required.
... reverting reserved pages
Cause:
The database server is reverting reserved pages.
Action:
No action is required.
... reverting tables that underwent In-Place Alter
Cause:
The database server is reverting tables that underwent in-place
alter.
Action:
No action is required.
HH:MM:SS Informix database server Version R.VV.PPPPP Software
Serial Number RDS#XYYYYYY
5-48
Cause:
This message indicate the start-up of the database server, after the
initialization of shared memory.
Action:
No action is required.
Informix Administrator’s Reference
Messages: Symbols
argument: invalid argument
Cause:
This internal error indicates that an invalid argument was passed
to an internal Informix routine.
Action:
Contact Informix Technical Support.
function_name: cannot allocate memory
Cause:
The database server cannot allocate memory from internal sharedmemory pool.
Action:
Increase either virtual-memory size (SHMVIRTSIZE), the size of the
added segments (SHMADD), or your total shared-memory size
(SHMTOTAL).
Message-Log Messages 5-49
Violations Table Messages
Violations Table Messages
Cannot alter a table which has associated violations table.
Cause:
The user tried to add, drop, or modify a column in a table that has
a violations table associated with it.
Action:
Do not change the columns in the user table.
Cannot create violations/diagnostics table.
Cause:
5-50
The user issued a START VIOLATIONS TABLE statement for a target
table. The database server cannot create the violations table for
this target table. Any of the following situations might be the
reason for this failure:
Informix Administrator’s Reference
■
The target table already has a violations table.
■
You specified an invalid name for the violations table in
the START VIOLATIONS TABLE statement. For example, if
you omit the USING clause from the statement and if the
number of characters in the target table plus four
characters is longer than the maximum identifier length,
the generated names of the violations table exceed the
maximum identifier length.
■
You specified a name for the violations table in the START
VIOLATIONS TABLE statement that match the names of
existing tables in the database.
■
The target table contains columns with the names
informix_tupleid, informix_optype, or
informix_recowner. Because these column names
duplicate the informix_tupleid, informix_optype, or
informix_recowner columns in the violations table, the
database server cannot create the violations table.
■
The target table is a temporary table.
■
The target table is serving as a violations table for some
other table.
■
The target table is a system catalog table.
Violations Table Messages
Action:
To resolve this error, perform one of the following actions:
■
If the violations table name was invalid, specify a unique
name for the violations table in the USING clause of the
START VIOLATIONS TABLE statement.
■
If the target table contains columns with the names
informix_tupleid, informix_optype, or
informix_recowner, rename them to something else.
■
Choose a permanent target table that is not a system
catalog table or a violations table for some other table.
Cannot insert from the violations table to the target table.
Cause:
The user has issued a statement that attempts to insert rows from
the violations table into the target table. For example, the user
enters the following invalid statement:
INSERT INTO mytable SELECT * FROM mytable_vio;
Also, if the target table has filtering-mode constraints, you receive
this error. Extended Parallel Server does not support filteringmode constraints.
Action:
To recover from this error, perform the following actions:
■
Do not use filtering constraints.
■
Stop the violations table.
■
Insert rows from the violations table into a temporary
table, and then insert rows from the temporary table into
the target table.
Cannot modify/drop a violations/diagnostics table.
Cause:
The user has tried to alter or drop a table that is serving as a violations table for another table.
Action:
Do not alter or drop the violations table.
Message-Log Messages 5-51
Violations Table Messages
This ddl operation is not allowed due to deferred constraints
pending on this table and dependent tables.
Cause:
This error gets returned when you attempt to start a violations
table when constraints are in deferred mode.
Note: No error is returned if you start a violations table and then
later set the constraints to deferred. However, the violations get
undone immediately rather than written into the deferred
constraint buffer. For more information, see Chapter 8, “Loading
with External Tables for Extended Parallel Server,” and the
Informix Guide to SQL: Syntax.
Action:
If you would like to start a violations table, you must either
change the constraint mode to immediate or commit the
transaction.
Too many violations.
Cause:
The number of violations in the diagnostics table exceeds the limit
that is specified in the MAX VIOLATIONS clause of the START
VIOLATIONS TABLE statement. When a single statement on the
target table (such as an INSERT or UPDATE statement) inserts more
records into the violations table than the limit that is specified by
the MAX VIOLATIONS clause, this error is returned to the user who
issued the statement on the target table.
This MAX VIOLATIONS limit applies to each coserver. For
example, if you reach the MAX VIOLATIONS limit on coserver 2,
you can continue to issue statements that violate rows on other
coservers until you reach the MAX VIOLATIONS limit.
Action:
To resolve this error, perform one of the following actions:
■
Omit the MAX VIOLATIONS clause in the START VIOLATIONS TABLE statement when you start a violations table.
Here, you are specifying no limit to the number of rows in
the violations table.
■
5-52
Informix Administrator’s Reference
Set MAX VIOLATIONS to a high value.
Violations Table Messages
Violations table is not started for the target table.
Cause:
If you issue a STOP VIOLATIONS TABLE statement for which no
violations table is started, you receive this message.
Action:
To recover from this error, you must start a violations table for the
target table.
Violations table reversion test completed successfully.
Cause:
This message is recorded in the logmessage table in the sysmaster
database when the revtestviolations.sh script has completed
successfully (no open violations tables were found).
Action:
No action is necessary. For more information on
revtestviolations.sh, see the Informix Migration Guide.
Violations table reversion test failed.
Cause:
When the database server finds an open violations table, it reports
errors 16992 and 16993 in the logmessage table in the sysmaster
database and aborts the reversion process.
Action:
When this message appears, you must issue the STOP VIOLATIONS TABLE FOR table_name command for each open violations
table. After you close all open violations tables, you can restart the
reversion process.
Violations table reversion test start.
Cause:
This message is recorded in the logmessage table in the sysmaster
database when the revtestviolations.sh script is executed.
Action:
No action is necessary. For more information on
revtestviolations.sh, see the Informix Migration Guide.
Message-Log Messages 5-53
Truncate Table Messages
Violations tables still exist.
Cause:
This message is recorded in the logmessage table in the sysmaster
database when an open violations table is found.
Action:
When this message appears, you must issue the STOP
VIOLATIONS TABLE FOR table_name command for each open violations table. After you close all open violations tables, you can
restart the reversion process.
Truncate Table Messages
The table cannot be truncated if it has an open cursor or dirty
readers.
Cause:
You must have exclusive access to the table.
Action:
Wait for dirty readers to complete or close all the open cursors and
reissue the TRUNCATE TABLE command.
The table cannot be truncated. It has at least one non-empty
child table with referential constraints.
5-54
Cause:
You cannot truncate a table if it has child tables with referential
constraints and at least one row.
Action:
Empty the child tables before you truncate this table.
Informix Administrator’s Reference
Truncate Table Messages
TRUNCATE table statement cannot be executed if already inside a
transaction.
Cause:
Because you must issue the TRUNCATE TABLE statement as a
singleton transaction, you cannot nest it inside another transaction. For example, you cannot issue TRUNCATE TABLE within a
BEGIN WORK and COMMIT WORK block or inside a trigger.
Action:
Issue the TRUNCATE TABLE statement as a singleton transaction,
outside of a BEGIN WORK and COMMIT WORK block or trigger.
Break the transaction into several parts, as follows:
■
Commit the first part of the transaction.
You can roll back only the first part of the transaction.
■
Issue the TRUNCATE TABLE statement.
■
Execute the remaining part of the transaction as a new
transaction inside a BEGIN WORK and COMMIT WORK
block.
Example:
COMMIT WORK;
TRUNCATE TABLE tab1;
BEGIN WORK;
INSERT INTO tabl1 VALUES ("James");
...
COMMIT WORK;
Message-Log Messages 5-55
Chapter
Interpreting Logical-Log
Records
In This Chapter .
.
.
.
.
.
.
.
.
.
About Logical-Log Records . . . . . .
Transactions That Drop a Table or Index
Transactions That Are Rolled Back . .
Checkpoints with Active Transactions .
Distributed Transactions . . . . .
6
.
.
.
.
.
.
.
.
.
.
6-3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6-4
6-4
6-4
6-5
6-5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6-6
6-6
6-7
6-21
Logical-Log Record Structure . . . . . . . . .
Logical-Log Record Header . . . . . . . .
Logical-Log Record Types and Additional Columns
Log Record Types for Smart Large Objects . . .
6-2
Informix Administrator’s Reference
In This Chapter
To display the logical-log records that the logical-log files contain, use the
following methods:
IDS
■
onlog utility
■
ON-Archive command LIST/LOGRECORDS
For information about ON-Archive, see the Archive and Backup
Guide. ♦
UNIX
This chapter provides the following information:
■
Brief guidance on reading logical-log records
■
A listing of the different logical-log record types
In general, you do not need to read and interpret your logical-log files.
However, onlog output is useful in debugging situations. For example, you
might want to use onlog to track a specific transaction or to see what changes
the database server made to a specific tblspace. You can also use onlog to
investigate the cause of an error that occurs during a rollforward. For more
information about the specific instances in which you can use onlog, see
“onlog: Display Logical-Log Contents” on page 3-31.
Interpreting Logical-Log Records 6-3
About Logical-Log Records
About Logical-Log Records
Most SQL statements generate multiple logical-log records. Interpreting
logical-log records is more complicated when the database server records the
following events in the logical log:
■
A transaction that drops a table or index
■
A transaction that rolls back
■
A checkpoint in which transactions are still active
■
A distributed transaction
The following sections discuss the logical-log records for these events.
Transactions That Drop a Table or Index
Once the database server drops a table or index from a database, it cannot roll
back that drop operation. If a transaction contains a DROP TABLE or DROP
INDEX statement, the database server handles this transaction as follows:
1.
The database server completes all the other parts of the transaction
and writes the relevant logical-log records.
2.
The database server writes a BEGCOM record to the logical log and
the records associated with the DROP TABLE or DROP INDEX
(DINDEX, for example).
3.
The database server writes a COMMIT record.
If the transaction is terminated unexpectedly after the database server writes
the BEGCOM record to the logical log, the database server rolls forward this
transaction during recovery because it cannot roll back the drop operation.
Transactions That Are Rolled Back
When a rollback occurs, the database server generates a compensation-log
record (CLR) for each record in the logical log that is rolled back. The database
server uses the CLRs if a system failure takes place during a rollback. The CLRs
provide the database server with information on how far the rollback
progressed before the failure occurred. In other words, the database server
uses the CLRs to log the rollback.
6-4
Informix Administrator’s Reference
Checkpoints with Active Transactions
If a CLR contains the phrase includes next record, the next log record that
is printed is included within the CLR log record as the compensating
operation. Otherwise, you must assume that the compensating operation is
the logical undo of the log record to which the link field of the CLR points.
Checkpoints with Active Transactions
If any transactions are active at the time of a checkpoint, checkpoint records
include subentries that describe each of the active transactions using the
following columns:
IDS
■
Log begin (decimal format)
■
Transaction ID (decimal format)
■
Unique log number (decimal format)
■
Log position (hexadecimal format)
■
User name
Distributed Transactions
When distributed transactions (transactions that span multiple database
servers) generate log records, they are slightly different than nondistributed
transactions. You might need to read and interpret them to determine the
state of the transaction on both database servers if a failure occurs as a
transaction was committing.
The following log records are involved in distributed transactions:
■
BEGPREP
■
ENDTRANS
■
HEURTX
■
PREPARE
■
TABLOCKS
For more information about this type of logical-log record, see the material
on two-phase commit and logical-log records in the Administrator’s Guide.
If you are performing distributed transactions with TP/XA, the database
server uses an XAPREPARE record instead of a PREPARE record.
Interpreting Logical-Log Records 6-5
Logical-Log Record Structure
Logical-Log Record Structure
Each logical-log record has header information. Depending on the record
type, additional columns of information also appear in the output, as
explained in “Logical-Log Record Types and Additional Columns” on
page 6-7.
Logical-Log Record Header
Figure 6-1 contains sample output to illustrate the header columns that
display for a logical-log record.
Figure 6-1
Sample Output from onlog
addr
len
type
xid
id
link
2c018
32
BEGIN
6
3
0
2c038
140
HDELETE
6
0
2c018
2c0c4
64
DELITEM
6
0
2c038
2c104
40
DELITEM
6
0
2c0c4
2c12c
72
HDELETE
6
0
2c104
2c174
44
DELITEM
6
0
2c12c
2c1a0
72
HDELETE
6
0
2c174
2c1e8
44
DELITEM
6
0
2c1a0
2c214
64
HDELETE
6
0
2c1e8
2c254
56
DELITEM
6
0
2c214
2c28c
48
DELITEM
6
0
2c254
2c2bc
24
PERASE
6
0
2c28c
2c2d4
20
BEGCOM
6
0
2c2bc
(1 of 2)
6-6
Informix Administrator’s Reference
Logical-Log Record Types and Additional Columns
addr
len
type
xid
id
link
2c2e8
24
ERASE
6
0
2c2d4
2c300
28
CHFREE
6
0
2c2e8
2c31c
24
COMMIT
6
0
2c300
(2 of 2)
Figure 6-2 defines the contents of each header column.
Figure 6-2
Definition of onlog Header Columns
Header Field
Contents
Format
addr
Log-record address (log position)
Hexadecimal
len
Record length
Decimal
type
Record-type name
ASCII
xid
Transaction number
Decimal
id
Logical-log number
Decimal
link
Link to the previous record in the transaction
Hexadecimal
Logical-Log Record Types and Additional Columns
In addition to the six header columns that display for every record, some
record types display additional columns of information. The information that
appears varies, depending on record type. Figure 6-3 on page 6-8 lists all the
record types and their additional columns.
The Action column indicates the type of database server action that
generated the log entry. The Additional Columns and Format columns
describe what information appears for each record type in addition to the
header described in “Logical-Log Record Header” on page 6-6.
Interpreting Logical-Log Records 6-7
Logical-Log Record Types and Additional Columns
Figure 6-3
Logical-Log Record Types
Record Type
Action
Additional Columns
Format
ADDCHK
Add chunk.
chunk number
decimal
chunk name
ASCII
ADDDBS
Add dbspace.
dbspace name
ASCII
ADDITEM
Add item to index.
tblspace ID
hexadecimal
rowid
hexadecimal
logical page
decimal
key number
decimal
key length
decimal
log number
decimal
log size (pages)
decimal
pageno
hexadecimal
tblspace ID
hexadecimal
physical page number
previous page
hexadecimal
ADDLOG
ALTERDONE
Add log.
Alter of fragment complete.
logical page number
version of alter
decimal
decimal
BADIDX
Bad index
tblspace ID
hexadecimal
BEGCOM
Begin commit.
(none)
(none)
BEGIN
Begin work.
date
decimal
time
decimal
PID
decimal
user
ASCII
flags
decimal
(Value is 0 in
a distributed
transaction.)
no. of participants
decimal
BEGPREP
(IDS)
Written by the coordinator database
server to record the start of the twophase commit protocol.
(1 of 14)
6-8
Informix Administrator’s Reference
Logical-Log Record Types and Additional Columns
Record Type
Action
Additional Columns
Format
BFRMAP
Simple-large-object free-map change.
tblspace ID
hexadecimal
bpageno
hexadecimal
status
USED/FREE
log ID
decimal
prev page
hexadecimal
tblspace ID
hexadecimal
fextsize
decimal
nextsize
decimal
row size
decimal
ncolumns
decimal
table name
ASCII
tblspace ID
hexadecimal
bitmap page num
decimal
tblspace ID
hexadecimal
2-bit bitmap page
number
decimal
flags
decimal
BLDCL
BMAPFULL
BMAP2TO4
Build tblspace.
Bitmap modified to prepare for alter.
2-bit bitmap altered to two 4-bit
bitmaps.
BSPADD
(IDS)
Add blobspace.
blobspace name
ASCII
BTCPYBCK
Copy back child key to parent.
tblspace ID
hexadecimal
parent logical page
decimal
child logical page
decimal
slot
decimal
rowoff
decimal
key number
decimal
(2 of 14)
Interpreting Logical-Log Records 6-9
Logical-Log Record Types and Additional Columns
Record Type
Action
Additional Columns
Format
BTMERGE
Merge B-tree nodes.
tblspace ID
hexadecimal
parent logical page
decimal
left logical page
decimal
right logical page
decimal
left slot
decimal
left rowoff
decimal
right slot
decimal
right rowoff
decimal
key number
decimal
tblspace ID
hexadecimal
parent logical page
decimal
left logical page
decimal
right logical page
decimal
left slot
decimal
left rowoff
decimal
key number
decimal
flags
hexadecimal
tblspace ID
hexadecimal
rowid
hexadecimal
parent logical page
decimal
left logical page
decimal
right logical page
decimal
infinity logical page
decimal
rootleft logical page
decimal
midsplit
decimal
key number
decimal
key length
decimal
pageno
hexadecimal
size
hexadecimal
pageno
hexadecimal
BTSHUFFL
BTSPLIT
CHALLOC
CHCOMBINE
Shuffle B-tree nodes.
Split B-tree node.
Chunk extent allocation.
Chunk extent combine.
(3 of 14)
6-10
Informix Administrator’s Reference
Logical-Log Record Types and Additional Columns
Record Type
Action
Additional Columns
Format
CHFREE
Chunk extent free.
pageno
hexadecimal
size
hexadecimal
pageno
hexadecimal
size in kilobytes
hexadecimal
dbspace name
ASCII
CHPHYLOG
Change physical-log location.
CHSPLIT
Chunk extent split.
pageno
hexadecimal
CINDEX
Create index.
tblspace ID
hexadecimal
low rowid
decimal
high rowid
decimal
index descriptor
ASCII
tblspace ID
hexadecimal
old coarse-locking flag
value
decimal
new coarse-locking
flag value
decimal
max users
decimal
number of
active transactions
decimal
COARSELOCK
CKPOINT
Coarse-grain locking
Checkpoint.
CLR
Compensation-log record; part of a
rollback.
(none)
(none)
CLUSIDX
Create clustered index.
tblspace ID
hexadecimal
key number
decimal
Adjust BYTE, TEXT, or VARCHAR
column.
tblspace ID
hexadecimal
no. of columns
adjusted
decimal
Commit work.
date
decimal
time
decimal
tblspace ID
hexadecimal
rowid
hexadecimal
COLREPAI
COMMIT
DELETE
Delete before-image.
(4 of 14)
Interpreting Logical-Log Records 6-11
Logical-Log Record Types and Additional Columns
Record Type
Action
Additional Columns
Format
DELITEM
Delete item from index.
tblspace ID
hexadecimal
rowid
hexadecimal
logical page
decimal
key number
decimal
key length
decimal
tblspace ID
hexadecimal
lockid
hexadecimal
tblspace ID
hexadecimal
key number
decimal
DERASE
DINDEX
DPT
Drop tblspace in down dbspace.
Drop index.
List all dirty pages not flushed to disk
during a fuzzy checkpoint. This record
is written just before the CKPOINT
record and linked to it.
number of dirty pages hexadecimal
The DPT records are not written during
a full checkpoint because all the dirty
pages are flushed to disk
DRPBSP
(IDS)
Drop blobspace.
blobspace name
ASCII
DRPCHK
Drop chunk.
chunk number
decimal
chunk name
ASCII
DRPDBS
Drop dbspace.
dbspace name
ASCII
DRPLOG
Drop log.
log number
decimal
log size (pages)
decimal
pageno
hexadecimal
(5 of 14)
6-12
Informix Administrator’s Reference
Logical-Log Record Types and Additional Columns
Record Type
Action
Additional Columns
Format
ENDTRANS
(IDS)
Written by both the coordinator and
participant database servers to record
the end of the transaction. ENDTRANS
instructs the database server to remove
the transaction entry from its sharedmemory transaction table and close the
transaction.
(none)
(none)
In the coordinator logical log, each
BEGPREP that results in a committed
transaction is paired with an
ENDTRANS record. If the final decision of the coordinator is to roll back the
transaction, no ENDTRANS record is
written.
In the participant logical log, each
ENDTRANS record is paired with a
corresponding HEURTX record.
ERASE
Drop tblspace.
tblspace ID
hexadecimal
HDELETE
Delete home row.
tblspace ID
hexadecimal
rowid
hexadecimal
slotlen
decimal
HEURTX
(IDS)
Written by a participant database
server to record a heuristic decision to
roll back the transaction. It should be
associated with a standard ROLLBACK
record indicating that the transaction
was rolled back.
flag
hexadecimal
(Value is
always 1.)
HINSERT
Home row insert.
tblspace ID
hexadecimal
rowid
hexadecimal
slotlen
decimal
tblspace ID
hexadecimal
rowid
hexadecimal
slotlen
decimal
HUPAFT
Home row update, after-image.
(6 of 14)
Interpreting Logical-Log Records 6-13
Logical-Log Record Types and Additional Columns
Record Type
Action
Additional Columns
Format
HUPBEF
Home row update, before-image.
tblspace ID
hexadecimal
rowid
hexadecimal
slotlen
decimal
tblspace ID
hexadecimal
rowid
hexadecimal
forward ptr rowid
hexadecimal
old slotlen
decimal
new slotlen
decimal
no. of pieces
decimal
tblspace ID
hexadecimal
key number
hexadecimal
tblspace ID
hexadecimal
rowid
hexadecimal
tblspace ID
hexadecimal
old lockmode
hexadecimal
new lockmode
hexadecimal
database name
ASCII
owner
ASCII
table name
ASCII
index name
ASCII
tblspace number
hexadecimal
table lock number
decimal
HUPDATE
IDXFLAGS
INSERT
If the home row update before-images
and after-images can both fit into a
single page, the database server writes
a single HUPDATE record.
Index flags.
Insert after-image.
LCKLVL
LG_CDINDEX
LG_DERASE
Locking mode.
Create detached index.
Drop tblspace in disabled dbspace.
LG_ENDTRUNCATE
(XPS)
Indicate that the TRUNCATE TABLE
operation, which removes all the rows
from tables and indexes, completed.
tblspace ID
hexadecimal
LG_PTRUNCATE
(XPS)
Mark tblspace for truncation at commit
time.
tblspace ID
hexadecimal
LG_TRUNCATE
(XPS)
Truncate has freed the extents and the
transaction will be committed.
tblspace ID
hexadecimal
(7 of 14)
6-14
Informix Administrator’s Reference
Logical-Log Record Types and Additional Columns
Record Type
Action
Additional Columns
Format
MVIDXND
Index node moved to allow for 2-bit to
4-bit bitmap conversion.
tblspace ID
hexadecimal
old page number
decimal
new page number
decimal
parent page number
decimal
parent slot number
decimal
parent slot offset
decimal
key number
decimal
bpageno
hexadecimal
status
USED/FREE
unique ID
decimal
bpageno
hexadecimal
tblspace ID
hexadecimal
rowid
hexadecimal
slotlen
decimal
pbrowid
hexadecimal
PBDELETE
PBINSERT
Delete tblspace blobpage.
Insert tblspace blobpage.
PDINDEX
Predrop index.
tblspace ID
hexadecimal
PGALTER
Page altered in-place.
tblspace ID
hexadecimal
physical page number
hexadecimal
(8 of 14)
Interpreting Logical-Log Records 6-15
Logical-Log Record Types and Additional Columns
Record Type
Action
Additional Columns
Format
PGMODE
Page mode modified in bitmap.
tblspace ID
hexadecimal
logical page number
decimal
old mode
hexadecimal
new mode
hexadecimal
PERASE
Preerase old file.
tblspace ID
hexadecimal
PNLOCKID
Change tblspaces lockid.
tblspace ID
hexadecimal
old lock ID
hexadecimal
new lock ID
hexadecimal
tblspace ID
hexadecimal
fextsize
decimal
nextsize
decimal
PNSIZES
Set tblspace extent sizes.
PREPARE
(IDS)
Written by a participant database
server to record the ability of the
participant to commit the transaction,
if so instructed.
DBSERVERNAME of
coordinator
ASCII
PTADESC
Add alter description information.
tblspace ID
hexadecimal
physical page number
of previous page
hexadecimal
logical page number
number of columns
added
decimal
decimal
(9 of 14)
6-16
Informix Administrator’s Reference
Logical-Log Record Types and Additional Columns
Record Type
Action
Additional Columns
Format
PTALTER
Alter of fragment begun.
tblspace ID
hexadecimal
physical page number
previous page
hexadecimal
logical page number
decimal
alter desc page
number
decimal
num columns added
version of alter
decimal
added rowsize
decimal
decimal
PTCOLUMN
PTEXTEND
PTRENAME
RDELETE
REVERT
RINSERT
Add special columns to fragment.
Tblspace extend.
Rename table.
Remainder page delete.
Logs the reversion of a database space
to a database space of an earlier
version.
Remainder page insert.
tblspace ID
hexadecimal
number of columns
decimal
tblspace ID
hexadecimal
last logical page
decimal
first physical page
hexadecimal
tblspace ID
hexadecimal
old table name
ASCII
new table name
ASCII
tblspace ID
hexadecimal
rowid
hexadecimal
slotlen
decimal
type of reversion
event
decimal
arg1
decimal
arg2
decimal
arg3
decimal
tblspace ID
hexadecimal
rowid
hexadecimal
slotlen
decimal
(10 of 14)
Interpreting Logical-Log Records 6-17
Logical-Log Record Types and Additional Columns
Record Type
Action
Additional Columns
Format
ROLLBACK
Rollback work.
date
decimal
time
decimal
Logs the extension to the reserved
pages.
no. of pages
decimal
physical page number
of extent
hexadecimal
Remainder page update, after-image.
tblspace ID
hexadecimal
rowid
hexadecimal
slotlen
decimal
RSVEXTEN
RUPAFT
RUPBEF
RUPDATE
Remainder page update, before-image. tblspace ID
If the remainder page update
before-images and after-images can
both fit into a single page, the database
server writes a single RUPDATE
record.
hexadecimal
rowid
hexadecimal
slotlen
decimal
tblspace ID
hexadecimal
rowid
hexadecimal
forward ptr rowid
hexadecimal
old slotlen
decimal
new slotlen
decimal
no. of pieces
decimal
(11 of 14)
6-18
Informix Administrator’s Reference
Logical-Log Record Types and Additional Columns
Record Type
Action
Additional Columns
Format
SBLOB
(IDS)
Indicates a subsystem log record for a
smart large object.
Varies
Varies
The various record subtypes are:
SYNC
■
CHALLOC
■
CHCOMBINE
■
CHFREE
■
CHSPLIT
■
CREATE
■
DELETES
■
EXTEND
■
HDRUPD
■
PDELETE
■
PTRUNC
■
REFCOUNT
■
UDINSERT
■
UDINSERT_LT
■
UDUPAFT
■
UDUPAFT_LT
■
UDUPAFT
■
UDUPAFT_LT
■
UDWRITE
■
UDWRITE_LT
Written to a logical-log file if that log
file is empty and administrator
instructs the database server to switch
to next log file.
For more information,
see “Log Record Types
for Smart Large
Objects” on page 6-21.
(none)
(none)
(12 of 14)
Interpreting Logical-Log Records 6-19
Logical-Log Record Types and Additional Columns
Record Type
Action
TABLOCKS
(IDS)
Written by either a coordinator or a
no. of locks
participant database server. It is associ- tblspace number
ated with either a BEGPREP or a
PREPARE record and contains a list of
the locked tblspaces (by tblspace
number) held by the transaction. (In a
distributed transaction, transactions
are shown as the owners of locks.)
decimal
UDINSERT
Append of new user data.
chunk
decimal
page within chunk
hexadecimal
offset within page
hexadecimal
data length
hexadecimal
chunk
decimal
page within chunk
hexadecimal
offset within page
hexadecimal
data length
hexadecimal
chunk
decimal
page within chunk
hexadecimal
offset within page
hexadecimal
data length
hexadecimal
UDUPAFT
UDUPBEF
UDWRITE
Update of user data after-image if a
UDWRITE is too expensive.
Update of user-data before-image if a
UDWRITE is too expensive.
Additional Columns
Update of user data (difference image). chunk
Format
hexadecimal
decimal
page within chunk
hexadecimal
offset within chunk
hexadecimal
length before write
hexadecimal
length after write
hexadecimal
UNDO
Header record to a series of transactions to be rolled back.
count
decimal
UNDOBLDC
This record is written if a CREATE
TABLE statement should be rolled back
but cannot be because the relevant
chunk is down. When the log file is
replayed, the table will be dropped.
tblspace number
hexadecimal
(13 of 14)
6-20
Informix Administrator’s Reference
Log Record Types for Smart Large Objects
Record Type
Action
Additional Columns
Format
UNIQID
Logged when a new serial value is
assigned to a row.
tblspace ID
hexadecimal
unique ID
decimal
Update after-image.
tblspace ID
hexadecimal
rowid
hexadecimal
tblspace ID
hexadecimal
rowid
hexadecimal
(none)
(none)
UPDAFT
UPDBEF
XAPREPARE
Update before-image.
Participant can commit this XA
transaction.
(14 of 14)
IDS
Log Record Types for Smart Large Objects
All smart-large-object log records are the SBLOB type. Each smart-large-object
log record contains six header columns, described in “Logical-Log Record
Header” on page 6-6; the record subtype; and additional information. The
information that appears varies, depending on record subtype.
Figure 6-4 lists all the smart-large-object record types. The Subtype column
describes the smart-large-object record type. The Action column indicates
the type of database server action that generated the log entry. The
Additional Columns and Format columns describe what information
appears for each record type.
Figure 6-4
Record Subtypes for Smart Large Objects
Record Subtype
Action
Additional Columns
Format
CHALLOC
Allocate chunk extent.
extent (chk,page,len)
decimal
flags
hexadecimal
chunk number
decimal
first page
decimal
second page
decimal
CHCOMBINE
Combine two pages in
the user-data extent list.
(1 of 3)
Interpreting Logical-Log Records 6-21
Log Record Types for Smart Large Objects
Record Subtype
Action
Additional Columns
Format
CHFREE
Frees chunk extent.
extent (chk,page,len)
decimal
CHSPLIT
Split a page in the userdata extent list.
chunk number
decimal
UDFET page to split
decimal
CREATE
Create smart large object. smart-large-object ID
[sbs,chk,page,oid]
decimal
number of extents in
lomaphdr
decimal
DELETE
Delete a smart large
object at commit.
smart-large-object ID
[sbs,chk,page,oid]
decimal
EXTEND
Add extent to an extent
list of a smart large
object.
smart-large-object ID
[sbs,chk,page,oid]
decimal
extent (chk,page,len)
decimal
lomap overflow page
number
decimal
smart-large-object ID
[sbs,chk,page,oid]
decimal
old EOF offset
string
new EOF offset
string
old times
decimal
new times
decimal
HDRUPD
Update smart-largeobject header page.
PDELETE
Queue a smart large
object for deletion at
commit.
smart-large-object ID
[sbs,chk,page,oid]
decimal
PTRUNC
Queue a smart large
object for truncation at
commit.
smart-large-object ID
[sbs,chk,page,oid]
decimal
old offset
string
new offset
string
smart-large-object ID
[sbs,chk,page,oid]
decimal
1 if increment; 0 if
decrement
decimal
REFCOUNT
Increment or decrement
the reference count of a
smart large object.
(2 of 3)
6-22
Informix Administrator’s Reference
Log Record Types for Smart Large Objects
Record Subtype
Action
UDINSERT,
Append of new user
UDINSERT_LT data.
UDUPAFT,
UDUPAFT_LT
UDUPBEF,
UDUPBEF_LT
UDWRITE,
UDWRITE_LT
Update of user-data
after-image if a
UDWRITE is too
expensive.
Update of user-data
beforeimage if a
UDWRITE is too
expensive.
Update of user data
(difference image).
Additional Columns
Format
chunk
decimal
page within chunk
decimal
offset within page
decimal
data length
decimal
chunk
decimal
page within chunk
decimal
offset within page
decimal
data length
decimal
chunk
decimal
page within chunk
decimal
offset within page
decimal
data length
decimal
chunk
decimal
page within chunk
decimal
offset within page
decimal
length before write
decimal
length after write
decimal
number of different
image pieces
decimal
(3 of 3)
For an example of smart-large-object records in onlog output, see smartlarge-object log records in the chapter on what is the logical log in the Administrator’s Guide.
Interpreting Logical-Log Records 6-23
Log Record Types for Smart Large Objects
Figure 6-5 shows an example of smart-large-object records in onlog output.
The first two records show that an extent was freed. The next group of
records, flanked by BEGIN and COMMIT, shows the allocation of storage and
creation of the smart large objects.
addr
len
type
4e8428
4e8450
40
40
c8018
c8040
c8148
c8174
c81b8
c82c0
c82ec
c8330
c8368
c83a0
c83c4
c83ec
c84f4
c8520
c8564
c859c
6-24
xid
id
SBLOB
SBLOB
8
8
0
0
40
264
44
68
264
44
68
56
56
36
BEGIN
SBLOB
SBLOB
SBLOB
SBLOB
SBLOB
SBLOB
SBLOB
SBLOB
COMMIT
8
8
8
8
8
8
8
8
8
8
3 0
0 c8018
0 c8040
0 c8148
0 c8174
0 c81b8
0 c82c0
0 c82ec
0 c8330
0 c8368
07/13/98 10:23:04 34
informix
CREATE
[2,2,1,900350517] 10
CHALLOC (2,53,8) 0x1
EXTEND
[2,2,1,900350517] (2,53,8) -1
CREATE
[2,2,2,900350518] 10
CHALLOC (2,61,1) 0x1
EXTEND
[2,2,2,900350518] (2,61,1) -1
REFCOUNT [2,2,1,900350517] 1
REFCOUNT [2,2,2,900350518] 1
07/13/98 10:23:05
40
264
44
68
56
36
BEGIN
SBLOB
SBLOB
SBLOB
SBLOB
COMMIT
8
8
8
8
8
8
3 0
0 c83c4
0 c83ec
0 c84f4
0 c8520
0 c8564
07/13/98 10:23:05 34
informix
CREATE
[2,2,3,900350519] 10
CHALLOC (2,62,1) 0x1
EXTEND
[2,2,3,900350519] (2,62,1) -1
REFCOUNT [2,2,3,900350519] 1
07/13/98 10:23:05
Informix Administrator’s Reference
link
subtype
specific-info
4e7400
4e8428
CHFREE
CHFREE
(2,53,421)
(2,579,421)
Figure 6-5
Smart-Large-Object
Records in onlog
Output
Chapter
Disk Structures and Storage
In This Chapter .
.
.
.
.
.
.
.
.
.
.
.
7
.
.
.
.
.
.
.
.
7-3
Dbspace Structure and Storage . . . . . . . .
Structure of the Root Dbspace . . . . . . .
Reserved Pages . . . . . . . . . .
Safewrite Area. . . . . . . . . . .
Structure of a Regular Dbspace . . . . . .
Structure of an Additional Dbspace Chunk .
Structure of a Mirrored Chunk . . . . . .
Structure of the Chunk Free-List Page . . . .
Structure of the Tblspace Tblspace . . . . .
Tblspace Tblspace Entries . . . . . . .
Tblspace Numbers . . . . . . . . .
Tblspace Number Elements . . . . . .
Tblspace Tblspace Size . . . . . . . .
Tblspace Tblspace Bit-Map Page . . . .
Structure of the Database Tblspace . . . . .
Database Tblspace Number . . . . . .
Database Tblspace Entries. . . . . . .
Structure and Allocation of an Extent . . . .
Extent Structure . . . . . . . . . .
Next-Extent Allocation . . . . . . . .
Structure and Storage of a Dbspace Page . . .
Rows in Nonfragmented Tables . . . . .
Rows in Fragmented Tables . . . . . .
Recommendations on Use of Rowid . . .
Data-Row Format and Storage . . . . .
Structure of Fragmented Tables . . . . . .
Attached and Detached Indexes. . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7-4
7-4
7-5
7-5
7-5
7-6
7-7
7-8
7-9
7-9
7-10
7-11
7-11
7-12
7-12
7-13
7-13
7-13
7-14
7-19
7-22
7-22
7-24
7-24
7-25
7-26
7-27
Structure of B-Tree Index Pages
Definition of B-Tree Terms .
Logical Storage of Indexes .
Functional Indexes . . .
Structure of Bitmap Indexes .
Structure of R-Tree Index Pages
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7-27
7-28
7-29
7-34
7-35
7-35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7-36
7-36
7-37
7-37
7-37
7-38
7-38
7-38
7-38
7-39
7-39
7-39
7-40
Sbspace Structure . . . . . . . . . . . . . . . . . . .
Structure of the Metadata Area . . . . . . . . . . . . .
Sbpage Structure . . . . . . . . . . . . . . . . . .
Multiple Chunk Sbspace. . . . . . . . . . . . . . . .
7-40
7-42
7-43
7-44
Database and Table Creation: What Happens on Disk .
Database Creation . . . . . . . . . . . .
Disk-Space Allocation for System Catalog Tables
Tracking of System Catalog Tables . . . . .
Table Creation . . . . . . . . . . . . .
Disk-Space Allocation . . . . . . . . .
Entry in the Tblspace Tblspace . . . . . .
Entries in the System Catalog Tables . . . .
Creation of a Temporary Table . . . . . .
7-45
7-45
7-45
7-46
7-46
7-47
7-47
7-47
7-48
Storage of Simple Large Objects . . . . . . .
Structure of a Blobspace . . . . . . . . .
Structure of a Dbspace Blobpage . . . . . .
Simple-Large-Object Storage and the Descriptor
Creation of Simple Large Objects . . . .
Deletion or Insertion of Simple Large Objects
Size Limits for Simple Large Objects . . .
Blobspace Page Types. . . . . . . . . .
Blobspace Free-Map Page . . . . . . .
Blobspace Bit-Map Page . . . . . . .
Blobpage . . . . . . . . . . . . .
Structure of a Blobspace Blobpage . . . . .
Blobpage Structure . . . . . . . . .
7-2
Informix Administrator’s Reference
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
In This Chapter
The database server achieves its high performance by managing its own I/O.
The database server manages storage, search, and retrieval. As the database
server stores data, it creates the structures it needs to search for and retrieve
the data later. The database server disk structures also store and track control
information needed to manage logging and backups. Database server structures contain all the information needed to ensure data consistency, both
physical and logical.
Before you read this chapter, familiarize yourself with the disk-space terms
and definitions in the chapter on where data is stored in the Administrator’s
Guide.
This chapter discusses the following topics related to disk data structures:
IDS
■
Dbspace structure and storage
■
Storage of simple large objects
■
Sbspace structure ♦
■
Database and table creation: what happens on disk
Disk Structures and Storage
7-3
Dbspace Structure and Storage
Dbspace Structure and Storage
This section explores the disk structures and storage techniques that the
database server uses to store data in a dbspace.
Structure of the Root Dbspace
The ROOTNAME, ROOTOFFSET, ROOTPATH, and ROOTSIZE configuration
parameters specify the size and location of the initial chunk of the root
dbspace. If the root dbspace is mirrored, the MIRROROFFSET and
MIRRORPATH configuration parameters specify the mirror-chunk location.
For more information about these parameters, see Chapter 1, “Configuration
Parameters.”
As part of disk-space initialization, the database server initializes the
following structures in the initial chunk of the root dbspace:
XPS
■
Twelve reserved pages
■
The first chunk free-list page
■
The tblspace tblspace
■
The database tblspace
■
The physical log
■
The logical-log files
■
The safewrite area ♦
To check that your root dbspace follows this organization, execute the
following command, which produces a dbspace usage report by chunk:
XPS
■
onutil CHECK SPACE
For more information, see “CHECK SPACE” on page 3-186. ♦
IDS
■
oncheck -pe
For more information, see “Checking the Chunk Free List with -ce
and -pe” on page 3-17. ♦
7-4
Informix Administrator’s Reference
Structure of a Regular Dbspace
Reserved Pages
The first 12 pages of the initial chunk of the root dbspace are reserved pages.
Each reserved page contains specific control and tracking information used
by the database server.
To obtain a listing of the contents of your reserved pages, execute the
command oncheck -pr.
XPS
Safewrite Area
The safewrite area is used to store information about the configuration of
coservers within Extended Parallel Server. The safewrite area is stored on
coserver 1. The CONFIGSIZE parameter determines the size of the safewrite
area. For information about how to configure the safewrite area, refer to
“CONFIGSIZE” on page 1-30.
Structure of a Regular Dbspace
After disk-space initialization, you can add new dbspaces. When you create
a dbspace, you assign at least one chunk (either raw or cooked disk space) to
the dbspace. This chunk is referred to as the initial chunk of the dbspace.
Figure 7-1 on page 7-6 illustrates the structure of the initial chunk of a regular
(nonroot) dbspace.
When the dbspace is first created, it contains the following structures:
■
The first chunk free-list page in the chunk
■
The tblspace tblspace for this dbspace
■
Unused pages
Disk Structures and Storage
7-5
Structure of a Regular Dbspace
Chunk free-list
page
Figure 7-1
Initial Chunk of
Regular Dbspace
Tblspace tblspace
Unused pages
Structure of an Additional Dbspace Chunk
You can create a dbspace that contains more than one chunk. The initial
chunk in a dbspace contains the tblspace tblspace for the dbspace. Additional
chunks do not. When an additional chunk is first created, it contains the
following structures:
7-6
■
Two reserved pages (reserved for future use)
■
The first chunk free-list page
■
Unused pages
Informix Administrator’s Reference
Structure of a Mirrored Chunk
Figure 7-2 illustrates the structure of all additional chunks in a dbspace. (The
structure also applies to additional chunks in the root dbspace.)
Chunk free-list
page
Figure 7-2
Additional Dbspace
Chunk
Reserved pages
Unused pages
Structure of a Mirrored Chunk
Each mirrored chunk must be the same size as its primary chunk. When a
mirrored chunk is created, the database server writes the contents of the
primary chunk to the mirrored chunk immediately.
The mirrored chunk contains the same control structures as the primary
chunk. Mirrors of either blobspace (Dynamic Server) or dbspace chunks
contain the same physical contents as their primary counterpart after the
database server brings them on-line.
Disk Structures and Storage
7-7
Structure of the Chunk Free-List Page
Figure 7-3 illustrates the mirror-chunk structure as it appears after the chunk
is created.
Overhead pages
Number and type of
overhead pages
vary, depending on
chunk type.
Figure 7-3
Mirror-Chunk
Structure
The mirror-chunk structure always shows no free space because all of its
space is reserved for mirroring. For more information, see the chapter on
what is mirroring in the Administrator’s Guide.
Structure of the Chunk Free-List Page
In every chunk, the page that follows the last reserved page is the first of one
or more chunk free-list pages that tracks available space in the chunk. The
initial length of the free space is equal to the size of the chunk minus three
pages. If an additional chunk free-list page is needed to accommodate new
entries, a new chunk free-list page is created in one of the free pages in the
chunk. Figure 7-4 illustrates the location of the free-list page.
XPS
IDS
7-8
Use onutil CHECK SPACE DISPLAY to obtain the physical layout of pages in
the chunk. For more information, see “CHECK SPACE” on page 3-186. ♦
Use oncheck -pe to obtain the physical layout of pages in the chunk. For more
information, see “Checking the Chunk Free List with -ce and -pe” on
page 3-17. ♦
Informix Administrator’s Reference
Structure of the Tblspace Tblspace
Chunk free-list page
Figure 7-4
Free-List Page
Reserved
pages
Free pages
Structure of the Tblspace Tblspace
In the initial chunk of every dbspace, the page that follows the chunk free-list
page is the first page of the tblspace tblspace. The tblspace tblspace is a
collection of pages that describe the location and structure of all tblspaces in
this dbspace.
Tblspace Tblspace Entries
Each page in the tblspace tblspace describes one tblspace in the dbspace and
is considered one entry. Entries in the tblspace tblspace are added when a
new table is created or when a fragment is added to a fragmented table.
The first page in every tblspace tblspace is a bit map of the pages in the
tblspace tblspace. The second page is the first tblspace entry, and it describes
itself. The third page describes the first user-created table in this dbspace.
Each tblspace tblspace entry (page) includes the following components.
XPS
To display information on the tblspace, use the onutil CHECK INFO IN
TABLESPACE partnum DISPLAY command. For more information, see
“CHECK INFO” on page 3-178. ♦
IDS
To display information on the tblspace, use the oncheck -pt command. For
more information, see “Displaying Tblspace Information for a Particular
Table or Fragment with -pt and -pT” on page 3-22. ♦
Disk Structures and Storage
7-9
Structure of the Tblspace Tblspace
Component
Description
Page header
56 bytes, standard page-header information
Page-ending time stamp
4 bytes
Tblspace header
68 bytes, general tblspace information.
Column information
Each special column in the table is tracked with an
12-byte entry. (A special column is defined as a
VARCHAR, BYTE, or TEXT data type.)
Tblspace name
80 bytes, database.owner.tablename
Index information
Each index on the table contains a 20-byte header that
contains general information about the index, followed
by a 4-byte entry for each column component of the
index.
Extent information
Each extent allocated to this tblspace is tracked with a
12-byte entry.
Tblspace Numbers
Each tblspace that is described in the tblspace tblspace receives a tblspace
number. This tblspace number is the same value that is stored as the partnum
field in the systables system catalog table and as the partn field in the
sysfragments system catalog table.
The following SQL query retrieves the partnum for every table in the
database (these can be located in several different dbspaces) and displays it
with the table name and the hexadecimal representation of partnum:
SELECT tabname, tabid, partnum, HEX(partnum) hex_tblspace_name FROM systables
7-10
Informix Administrator’s Reference
Structure of the Tblspace Tblspace
If the output includes a row with a table name but a partnum of 0, this table
consists of two or more table fragments, each located in its own tblspace. For
example, Figure 7-5 shows a table called account that has partnum 0.
tabname
tabid
sysfragments
branch
teller
account
history
results
25
100
101
102
103
104
partnum
hex_tblspace_name
1048611
1048612
1048613
0
1048615
1048616
0x00100023
0x00100024
0x00100025
0x00000000
0x00100027
0x00100028
Figure 7-5
Output from
systables Query
with partnum Values
To obtain the actual tblspace numbers for the fragments that make up the
table, you must query the sysfragments table for the same database.
Figure 7-6 shows that the account table from Figure 7-5 has three table
fragments and three index fragments.
tabid fragtype
102
102
102
102
102
102
T
T
T
I
I
I
partn
hex_tblspace_name
1048614
2097154
3145730
1048617
2097155
3145731
0x00100026
0x00200002
0x00300002
0x00100029
0x00200003
0x00300003
Figure 7-6
Output from
sysfragments Table
with partn Values
Tblspace Number Elements
The first page in a tblspace is logical page 0. (Physical page numbers refer to
the address of the page in the chunk.) The root space tblspace tblspace is
always contained in the first dbspace and on logical page 1 within the
tblspace tblspace. (The bit-map page is page 0.)
Tblspace Tblspace Size
The initial size of the tblspace tblspace is always 50 pages. These tblspace
tblspace pages are allocated as an extent when the dbspace is initialized. If
the database server attempts to create a table, but the tblspace tblspace is full,
the database server allocates a next extent to the tblspace.
Disk Structures and Storage
7-11
Structure of the Database Tblspace
When a table is removed from the dbspace, its corresponding entry in the
tblspace tblspace is deleted.
Tblspace Tblspace Bit-Map Page
The first page of the tblspace tblspace, like the first page of any initial extent,
is a bit map that describes the page fullness of the following pages. Each page
that follows has an entry on the bit-map page. If needed, additional bit-map
pages are located throughout the contiguous space allocated for the tblspace,
arranged so that each bit map describes only the pages that follow it, until the
next bit map or the end of the dbspace. Bit-map pages fall at distinct intervals
within tblspaces pages. Each bit-map page describes a fixed number of pages
that follow it.
Structure of the Database Tblspace
The database tblspace appears only in the initial chunk of the root dbspace.
The database tblspace contains one entry for each database managed by the
database server. Figure 7-7 illustrates the location of the database tblspace.
Reserved pages
Chunk free-list page
Tblspace tblspace
Database tblspace
Free pages
7-12
Informix Administrator’s Reference
Figure 7-7
Database Tblspace
Location in Initial
Chunk of Root
Dbspace
Structure and Allocation of an Extent
Database Tblspace Number
The tblspace number of the database tblspace is always 0x10002. This
tblspace number appears in an onstat -t listing if the database tblspace is
active.
Database Tblspace Entries
Each database tblspace entry includes the following five components:
■
Database name
■
Database owner
■
Date and time that the database was created
■
The tblspace number of the systables system catalog table for this
database
■
Flags that indicate logging mode
The database tblspace includes a unique index on the database name to
ensure that every database is uniquely named. For any database, the
systables table describes each permanent table in the database. Therefore, the
database tblspace only points to the detailed database information located
elsewhere.
When the root dbspace is initialized, the database tblspace first extent is
allocated. The initial-extent size and the next-extent size for the database
tblspace are four pages. You cannot modify these values.
Structure and Allocation of an Extent
This section covers the following topics:
■
Extent structure
■
Next-extent allocation
Disk Structures and Storage
7-13
Structure and Allocation of an Extent
Extent Structure
An extent is a collection of contiguous pages within a dbspace. Every
permanent database table has two extent sizes associated with it. The initialextent size is the number of kilobytes allocated to the table when it is first
created. The next-extent size is the number of kilobytes allocated to the table
when the initial extent, and every extent thereafter, becomes full.
IDS
Blobspaces do not use extents. ♦
For specific instructions on how to specify and calculate the size of an extent,
see your Performance Guide.
Extent Size
The minimum size of an extent is four pages. The default size of an extent is
eight pages. The maximum size limit of an extent is two gigabytes. If the
extent goes into a chunk that is smaller than two gigabytes, the maximum
extent size depends on the contiguous space available in the chunk.
Tblspaces that hold index fragments follow different rules for extent size. The
database server bases the extent size for these tblspaces on the extent size for
the corresponding table fragment. The database server uses the ratio of the
row size to index key size to assign an appropriate extent size for the index
tblspace (see the section on estimating index page size in the Performance
Guide). For more information, see fragmenting table indexes in the chapter on
table fragmentation and PDQ in the Administrator’s Guide.
Page Types Within a Table Extent
Within the extent, individual pages contain different types of data. Extent
pages for a table can be separated into the following categories:
■
Data pages
Data pages contain the data rows for the table.
■
Bit-map pages
Bit-map pages contain control information that monitors the fullness
of every page in the extent.
7-14
Informix Administrator’s Reference
Structure and Allocation of an Extent
IDS
■
Blobpages
Blobpages contain TEXT and BYTE data that is stored with the data
rows in the dbspace. TEXT and BYTE data that resides in a blobspace
is stored in blobpages, a structure that is completely different than
the structure of a dbspace blobpage. ♦
■
Free pages
Free pages are pages in the extent that are allocated for tblspace use,
but whose function has not yet been defined. Free pages can be used
to store any kind of information: data, including TEXT or BYTE data
types; index; or bit map.
Figure 7-8 on page 7-16 illustrates the possible structure of a nonfragmented
table with an initial-extent size of 8 pages and a next-extent size of 16 pages.
Disk Structures and Storage
7-15
Structure and Allocation of an Extent
Figure 7-8
Extent Structure
of a Table
Initial extent
Bit-map page
Data pages
Blobpage
Data pages
Next extent
Data pages
Blobpage
Free pages
7-16
Informix Administrator’s Reference
Structure and Allocation of an Extent
Page Types Within an Index Extent
The database server stores index pages into different tblspaces than the table
with which it is associated. Within the extent, individual index pages contain
different types of data. Index pages can be separated into the following
categories:
■
Index pages (root, branch, and leaf pages)
Index pages contain the index information for the table.
■
Bit-map pages
Bit-map pages contain control information that monitors the fullness
of every page in the extent.
■
Free pages
Free pages are pages in the extent that are allocated for tblspace use,
but whose function has not yet been defined. Free pages can be used
to store any kind of information: data, index, TEXT or BYTE data, or
bit map.
All indexes are detached unless you explicitly specify attached indexes.
Important: An extent that is allocated for a table fragment does not contain index
pages. Index pages for a fragmented table always reside in a separate tblspace. For
more information, see fragmenting table indexes in the chapter on table fragmentation and PDQ in the “Administrator’s Guide.”
Figure 7-9 on page 7-18 illustrates the extent structure of an index.
Disk Structures and Storage
7-17
Structure and Allocation of an Extent
Figure 7-9
Extent Structure
of an Index
Initial extent
Bit-map page
Index pages
Next extent
Index pages
Free pages
7-18
Informix Administrator’s Reference
Structure and Allocation of an Extent
Next-Extent Allocation
After the initial extent fills, the database server attempts to allocate another
extent of contiguous disk space. The procedure that the database server
follows is referred to as next-extent allocation.
Extents for a tblspace are tracked as one component of the tblspace tblspace
information for the table. The maximum number of extents allocated for any
tblspace is application and machine dependent because it varies with the
amount of space available on the tblspace tblspace entry.
Next-Extent Size
The number of kilobytes that the database server allocates for a next extent
is, in general, equal to the size of a next extent, as specified in the SQL
statement CREATE TABLE. However, the actual size of the next-extent
allocation might deviate from the specified size because the allocation
procedure takes into account the following three factors:
■
Number of existing extents for this tblspace
■
Availability of contiguous space in the chunk and dbspace
■
Location of existing tblspace extents
The effect of each of these factors on next-extent allocation is explained in the
paragraphs that follow and in Figure 7-10 on page 7-21.
Extent Size Doubling
If a tblspace already has 16 extents allocated, the database server automatically doubles the size for subsequent allocations. This doubling occurs every
16 extents. For example, if you create a table with NEXT SIZE equal to 20
kilobytes, the database server allocates the first 16 extents at a size of 20
kilobytes each. The database server allocates extents 17 to 32 at 40 kilobytes
each, extents 33 to 48 at 80 kilobytes each, and so on.
Disk Structures and Storage
7-19
Structure and Allocation of an Extent
Lack of Contiguous Space
If the database server cannot find available contiguous space in the first
chunk equal to the size specified for the next extent, it extends the search to
the next chunk in the dbspace. Extents are not allowed to span chunks.
If the database server cannot find adequate contiguous space anywhere in
the dbspace, it allocates to the table the largest available amount of
contiguous space. (The minimum allocation is four pages. The default value
is eight pages.) No error message is returned if an allocation is possible, even
when the amount of space allocated is less than the requested amount.
Merge of Extents for the Same Table
If the disk space allocated for a next extent is physically contiguous with disk
space already allocated to the same table, the database server allocates the
disk space but does not consider the new allocation as a separate extent.
Instead, the database server extends the size of the existing contiguous
extent. Thereafter, all disk-space reports reflect the allocation as an extension
of the existing extent. That is, the number of extents reported is always the
number of physically distinct extents, not the number of times a next extent
has been allocated plus one (the initial extent). Figure 7-10 illustrates
extent-allocation strategies.
7-20
Informix Administrator’s Reference
Structure and Allocation of an Extent
Figure 7-10
Next-Extent
Allocation
Strategies
Extent sizes double every 16 extents.
Chunk 6
16th extent
17th extent size is doubled.
Some other tblspace extent
If the dbspace is too full to accommodate the next-extent size, the database
server allocates the largest available contiguous block of disk space.
Chunk 1
3rd extent
4th extent
If the next extent is physically contiguous to an existing extent for the same
tblspace, the disk space is treated as a single extent.
Chunk 1
3rd extent
Next extent allocation
Chunk 1
3rd extent
Disk Structures and Storage
7-21
Structure and Storage of a Dbspace Page
After disk space is allocated to a tblspace as part of an extent, the space
remains dedicated to that tblspace even if the data contained in it is deleted.
For alternative methods of reclaiming this empty disk space, see your Performance Guide.
Structure and Storage of a Dbspace Page
The basic unit of database server I/O is a page. Page size might vary among
computers.
XPS
IDS
In Extended Parallel Server, configure the page size through the PAGESIZE
configuration parameter. For more information, see “PAGESIZE” on
page 1-112. ♦
In Dynamic Server, the page size depends on the operating system. ♦
Rows in Nonfragmented Tables
The database server can store rows that are longer than a page. The database
server also supports the VARCHAR data type, which results in rows of
varying length. As a result, rows do not conform to a single format.
Rows within a table are not necessarily the same length if the table contains
one or more columns of type VARCHAR. In addition, the length of a row in
such a table might change when an end user modifies data contained in the
VARCHAR column.
The length of a row can be greater than a page.
TEXT and BYTE data is not stored within the data row. Instead, the data row
contains a 56-byte descriptor that points to the location of the data. The
descriptor can point to a dbspace page.
IDS
The descriptor can point to a blobspace blobpage. If you are using the Optical
Subsystem, the descriptor can also point to an optical-storage subsystem. ♦
For instructions about how to estimate the length of fixed-length and
variable-length data rows, see your Performance Guide.
7-22
Informix Administrator’s Reference
Structure and Storage of a Dbspace Page
Definition of Rowid
Informix uses two different types of rowids to identify data in tables:
■
Serial rowid
These rowids are fields in a table and are assigned to tables created
with the WITH ROWID option.
■
Internal rowid
The database server identifies each data row in a table with a unique
internal rowid. This rowid identifies the location of the row within
the dbspace. To obtain the internal rowids for a table, use the
oncheck -pD option. For more information, see “Checking Pages
with -cd and -cD” on page 3-15.
In a nonfragmented table, the term rowid refers to a unique 4-byte integer that
defines the physical location of the row in the table. The page that contains
the first byte of the data row is the page that is specified by the rowid. This
page is called the data row home page.
Fragmented tables can also have rowids, but they are implemented in a
different way. For more information on this topic, see “Rows in Fragmented
Tables” on page 7-24.
Use of Rowids
Every data row in a nonfragmented table is uniquely identified by an
unchanging rowid. When you create an index for a nonfragmented table, the
rowid is stored in the index pages associated with the table to which the data
row belongs. When the database server requires a data row, it searches the
index to find the key value and uses the corresponding rowid to locate the
requested row. If the table is not indexed, the database server might sequentially read all the rows in the table.
Eventually, a row might outgrow its original storage location. If this occurs,
a forward pointer to the new location of the data row is left at the position
defined by the rowid. The forward pointer is itself a rowid that defines the
page and the location on the page where the data row is now stored.
Disk Structures and Storage
7-23
Structure and Storage of a Dbspace Page
Rows in Fragmented Tables
Unlike rows in a nonfragmented table, the database server does not assign a
rowid to rows in fragmented tables. If you want to access data by rowid, you
must explicitly create a rowid column as described in your Performance Guide.
If user applications attempt to reference a rowid in a fragmented table that
does not contain a rowid that you explicitly created, the database server
returns an appropriate error code to the application.
Access to Data in Fragmented Tables with Rowid
From the viewpoint of an application, the functionality of a rowid column in
a fragmented table is identical to the rowid of a nonfragmented table.
However, unlike the rowid of a nonfragmented table, the database server
uses an index to map the rowid to a physical location.
When the database server accesses a row in a fragmented table using the
rowid column, it uses this index to look up the physical address of the row
before it attempts to access the row. For a nonfragmented table, the database
server uses direct physical access without an index lookup. As a consequence, accessing a row in a fragmented table using rowid takes slightly
longer than accessing a row using rowid in a nonfragmented table. You
should also expect a small performance impact on the processing of inserts
and deletes due to the cost of maintaining the rowid index for fragmented
tables.
Primary-key access can lead to significantly improved performance in many
situations, particularly when access is in parallel.
Recommendations on Use of Rowid
Informix recommends that application developers use primary keys as a
method of access rather than rowids. Because primary keys are defined in the
ANSI specification of SQL, using them to access data makes your applications
more portable.
For a complete description on how to define and use primary keys to access
data, see the Informix Guide to SQL: Reference and the Informix Guide to SQL:
Tutorial.
7-24
Informix Administrator’s Reference
Structure and Storage of a Dbspace Page
Data-Row Format and Storage
The variable length of a data row has the following consequences for row
storage:
■
A page might contain one or more whole rows.
■
A page might contain portions of one or more rows.
■
A page might contain a combination of whole rows and partial rows.
■
An updated row might increase in size and become too long to return
to its original storage location in a row.
The following paragraphs describe the guidelines that the database server
follows during data storage.
Storage of Row
To minimize retrieval time, rows are not broken across page boundaries
unnecessarily. Rows that are shorter than a page are always stored as whole
rows. A page is considered full when the count of free bytes is less than the
number of bytes needed to store a row of maximum size.
Location of Rows
When the database server receives a row that is longer than a page, the row
is stored in as many whole pages as required. The database server then stores
the trailing portion in less than a full page.
The page that contains the first byte of the row is the row home page. The
number of the home page becomes the logical page number contained in the
rowid. Each full page that follows the home page is referred to as a bigremainder page. If the trailing portion of the row is less than a full page, it is
stored on a remainder page.
After the database server creates a remainder page to accommodate a long
row, it can use the remaining space in this page to store other rows.
Disk Structures and Storage
7-25
Structure of Fragmented Tables
Figure 7-11 illustrates the concepts of home page, big-remainder page, and
remainder page.
Data row represented in whole-page-sized segments
Figure 7-11
Remainder Pages
Remainder page
Big-remainder page
Big-remainder page
Home page
Page Compression
Over time, the free space on a page can become fragmented. When the
database server attempts to store data, it first checks row length against the
number of free bytes on a page to determine if the row fits. If adequate space
is available, the database server checks if the page contains adequate
contiguous free space to hold the row (or row portion). If the free space is not
contiguous, the database server calls for page compression.
Structure of Fragmented Tables
Although table fragmentation is transparent to applications, as database
server administrator you should be aware of how the database server
allocates disk space for table fragments and how the database server
identifies rows in those fragments.
7-26
Informix Administrator’s Reference
Structure of B-Tree Index Pages
Each table fragment has its own tblspace with a unique tblspace_id or
fragment_id. Figure 7-12 shows the disk allocation for a fragmented table.
Figure 7-12
Disk Structures for a
Fragmented Table
Extent 1
Extent 2
Fragments of a
fragmented table
Tblspace
Dbspace 1
Extent 1
Extent 2
Tblspace
Dbspace 2
Attached and Detached Indexes
With an attached index, the index and data are fragmented in the same way.
You can decide whether to store the index pages with the corresponding data
pages in the same dbspace or store them in separate dbspaces. For information on choosing a fragmentation strategy, see the Performance Guide.
Structure of B-Tree Index Pages
This section provides general information about the structure of B-tree index
pages. It is designed as an overview for the interested reader. For more information on B-tree indexes, see “Related Reading” on page 21.
Disk Structures and Storage
7-27
Structure of B-Tree Index Pages
Definition of B-Tree Terms
The database server uses a B-tree structure to organize index information.
Figure 7-13 shows that a fully developed B-tree index is composed of the
following three different types of index pages or nodes:
■
One root node
A root node contains node pointers to branch nodes.
■
Two or more branch nodes
A branch node contains pointers to leaf nodes or other branch nodes.
■
Many leaf nodes
A leaf node contains index items and horizontal pointers to other leaf
nodes.
Each node serves a different function. The following sections describe each
node and the role that it plays in indexing.
Figure 7-13
Full B-Tree Structure
Root
node
Branch
nodes
Leaf
nodes
7-28
Informix Administrator’s Reference
Index item
Structure of B-Tree Index Pages
Index Items
The fundamental unit of an index is the index item. An index item contains a
key value that represents the value of the indexed column for a particular
row. An index item also contains rowid information that the database server
uses to locate the row in a data page.
Nodes
A node is an index page that stores a group of index items. For the three types
of nodes, see “Definition of B-Tree Terms” on page 7-28.
Logical Storage of Indexes
This section presents an overview of how the database server creates and fills
an index.
Creation of Root and Leaf Nodes
When you create an index for an empty table, the database server allocates a
single index page. This page represents the root node and remains empty
until you insert data in the table.
At first, the root node functions in the same way as a leaf node. For each row
that you insert into the table, the database server creates and inserts an index
item in the root node. Figure 7-14 illustrates how a root node appears before
it fills.
Root node 1
Albertson
Baxter
Beatty
Currie
Keyes
Lawson
Mueller
Wallach
Figure 7-14
Root Node
rowid information
rowid information
rowid information
rowid information
rowid information
rowid information
rowid information
rowid information
Disk Structures and Storage
7-29
Structure of B-Tree Index Pages
When the root node becomes full of index items, the database server splits the
root node by performing the following steps:
■
Creates two leaf nodes
■
Moves approximately half of the root-node entries to each of the
newly created leaf nodes
■
Puts pointers to leaf nodes in the root node
As you add new rows to a table, the database server adds index items to the
leaf nodes. When a leaf node fills, the database server creates a new leaf node,
moves part of the contents of the full index node to the new node, and adds
a node pointer to the new leaf node in the root node.
For example, suppose that leaf node 3 in Figure 7-15 becomes full. When this
situation occurs, the database server adds yet another leaf node. The
database server moves part of the records from leaf node 3 to the new leaf
node, as Figure 7-15 shows.
Figure 7-15
Leaf Node 4 Created After Leaf Node 3 Fills
Root node 1
Leaf node 2
Leaf node 3
Leaf node 4
Creation of Branch Nodes
Eventually, as you add rows to the table, the database server fills the root
node with node pointers to all the existing leaf nodes. When the database
server splits yet another leaf node, and the root node has no room for an
additional node pointer, the following process occurs.
7-30
Informix Administrator’s Reference
Structure of B-Tree Index Pages
The database server splits the root node and divides its contents among two
newly created branch nodes. As index items are added, more and more leaf
nodes are split, causing the database server to add more branch nodes.
Eventually, the root node fills with pointers to these branch nodes. When this
situation occurs, the database server splits the root node again. The database
server then creates yet another branch level between the root node and the
lower branch level. This process results in a four-level tree, with one root
node, two branch levels, and one leaf level. The B-tree structure can continue
to grow in this way to a maximum of 20 levels.
Branch nodes can point either to other branch nodes below them (for large
indexes of four levels or more) or to leaf nodes. In Figure 7-16, the branch
node points to leaf nodes only. The first item in the left branch node contains
the same key value as the largest item in the leftmost leaf node and a node
pointer to it. The second item contains the largest item in the next leaf node
and a node pointer to it. The third item in the branch node contains only a
pointer to the next higher leaf node. Depending on the index growth, this
third item can contain the actual key value in addition to the pointer at a later
point during the lifespan of the index.
Leaf node 3
Grant
Hanlon
Henry
Higgins
Branch node 2
Higgins
Lawson
pointer to leaf node
pointer to leaf node
pointer to leaf node
rowid information
rowid information
rowid information
rowid information
Figure 7-16
Typical Contents of
a Branch Node
Leaf node 4
Jaeger
Jewell
Keyes
Lawson
rowid information
rowid information
rowid information
rowid information
Leaf node 5
Miller
Neelie
rowid information
rowid information
Disk Structures and Storage
7-31
Structure of B-Tree Index Pages
Duplicate Key Values
Duplicate key values occur when the value of an indexed column is identical
for multiple rows. For example, suppose that the third and fourth leaf nodes
of a B-tree structure contain the key value Smith. Suppose further that this
value is duplicated six times, as Figure 7-17 illustrates.
Left leaf node 3
Branch node 2
Higgins
Lawson
Smith
pointer to leaf node
pointer to leaf node
pointer to leaf node
Figure 7-17
Leaf Nodes 3 and 4
Smith rowid information
rowid information
rowid information
rowid information
Right leaf node 4
Smith rowid information
rowid information
The first item on the third leaf page contains the duplicate key value, Smith,
and the rowid information for the first physical row in the table that contains
the duplicate key value. To conserve space, the second item does not repeat
the key value Smith but instead contains just the rowid information. This
process continues throughout the page; no other key values are on the leaf,
only rowid information.
The first item on the fourth leaf page again contains the duplicated key value
and rowid information. Subsequent items contain only rowid information.
Now consider the branch node. The third item in the branch node contains
the same key value and rowid as the largest item in the third leaf node and a
node pointer to it. The fourth item would contain only a node pointer to the
fourth leaf node, thus saving the space of an additional duplicate key value.
Key-Value Locking
To increase concurrency, the database server supports key-value locking in the
B-tree index. Key-value locking locks only the value of the key instead of the
physical location in the B-tree index.
7-32
Informix Administrator’s Reference
Structure of B-Tree Index Pages
One of the most important uses for key-value locking is to assure that a
unique key remains unique through the end of the transaction that deleted it.
Without this protection mechanism, user A might delete a unique key within
a transaction, and user B might insert a row with the same key before the
transaction commits. This scenario makes rollback by user A impossible.
Key-value locking prevents user B from inserting the row until the end of
user A’s transaction.
Adjacent Key Locking
With Repeatable Read isolation level, the database server is required to
protect the read set. The read set consists of the rows that meet the filters in the
WHERE clause of the query. To guarantee that the rows do not change, the
database server obtains a lock on the index item that is adjacent to the rightmost item of the read set.
Freed Index Pages
When the database server physically removes an index item from a node and
frees an index page, the freed page is reused.
Filling Indexes
When you create an index, you can specify how densely or sparsely filled you
want the index. The index fill factor is a percentage of each index page that
will be filled during the index build. Use the FILLFACTOR option of the
CREATE INDEX statement or the FILLFACTOR configuration parameter to set
the fill factor. This option is particularly useful for indexes that you do not
expect to grow after they are built. For additional information about the
FILLFACTOR option of the CREATE INDEX statement, see the Informix Guide to
SQL: Syntax.
Calculating the Length of Index Items
For data types other than VARCHAR, the length of an index item is calculated
by adding the length of the key value plus 5 bytes for each rowid information
associated with the key value.
Disk Structures and Storage
7-33
Structure of B-Tree Index Pages
The key values in an index are typically of fixed length. If an index holds the
value of one or more columns of the VARCHAR data type, the length of the
key value is at least the sum of the length-plus-one of each VARCHAR value
in the key.
XPS
In Extended Parallel Server, the maximum length of a key value is 255 bytes.
The combined size of VARCHAR columns that make up a key must be less
than 255, minus an additional byte for each VARCHAR column. For example,
the key length of the index that the database server builds for the following
statements equals 255, or ((1+155) + (1+100)):
CREATE TABLE T1 (c1 varchar(155, 10), c2 varchar(100, 10));
CREATE INDEX I1 on T1(c1, c2);
♦
IDS
In Dynamic Server, the maximum length of a key value is 390 bytes. The
combined size of VARCHAR columns that make up a key must be less than
390, minus an additional byte for each VARCHAR column. For example, the
key length of the index that the database server builds for the following statements equals 390, or ((1+255) + (1+133)):
CREATE TABLE T1 (c1 varchar(255, 10), c2 varchar(133, 10));
CREATE INDEX I1 on T1(c1, c2);
♦
IDS
Functional Indexes
A functional index is one in which all keys derive from the results of a function.
If you have a column of pictures, for example, and a function to identify the
predominant color, you can create an index on the result of the function. Such
an index would enable you to quickly retrieve all pictures having the same
predominant color, without re-executing the function.
A functional index uses the same B-tree structure as any other B-tree index.
The only difference is that the determining function is applied during an
insert or an update whenever the column that is the argument to the function
changes. For more information on the nature of functional indexes, refer to
your Performance Guide.
To create a functional index, use the CREATE FUNCTION and CREATE INDEX
statements. For more information on these statements, refer to the Informix
Guide to SQL: Syntax.
7-34
Informix Administrator’s Reference
Structure of Bitmap Indexes
XPS
Structure of Bitmap Indexes
A bitmap index has exactly the same structure as a B-tree index except for the
format of the leaf nodes that have duplicate keys. The traditional B-tree leaf
page stores the key value and a list of duplicates (see Figure 7-17). A bitmap
index instead stores a bitmap in which each bit represents one row in the
tblspace.
Without any compression, a bitmap stored in this fashion could have a
maximum of 232 (or approximately 4 gigabytes) possible values, which is too
large to be of any practical use in an efficient indexing scheme. To reduce the
size of this value, the database server compresses the bitmap.
IDS
Structure of R-Tree Index Pages
An index structure that relies on one-dimensional ordering of key values
does not work for spatial data; for example, two dimensional geometric
shapes such as circles, squares, and triangles. Efficient retrieval of spatial
data, such as the data used in geographic information systems (GIS) and
computer-aided design (CAD) applications, requires an access method that
handles multidimensional data. The database server implements an R-tree
index to access spatial data efficiently.
For information about the structure of index pages, refer to the Informix RTree Index User’s Guide.
Disk Structures and Storage
7-35
Storage of Simple Large Objects
Storage of Simple Large Objects
This section explains the structures and storage techniques that the database
server uses to store simple large objects (TEXT or BYTE data).
IDS
Structure of a Blobspace
When you create a blobspace, you can specify the effective size of the data
pages, which are called blobpages. The blobpage size for the blobspace is
specified when the blobspace is created. Blobpage size must be a multiple of
page size. (For information on determining database server page size, see the
chapter on managing disk space in the Administrator’s Guide.) All blobpages
within a blobspace are the same size, but the size of the blobpage can vary
between blobspaces. Blobpage size can be greater than the page size because
data stored in a blobspace is never written to the page-sized buffers in shared
memory.
The advantage of customizing the blobpage size is storage efficiency. Within
a blobspace, TEXT and BYTE data is stored in one or more blobpages, but
simple large objects do not share blobpages. Storage is most efficient when
the TEXT or BYTE data is equal to or slightly smaller than the blobpage size.
The blobspace free-map pages and bit-map pages are the size specified as a
database server page, which enables them to be read into shared memory
and to be logged.
When the blobspace is first created, it contains the following structures:
7-36
■
Blobspace free-map pages
■
The blobspace bit map that tracks the free-map pages
■
Unused blobpages
Informix Administrator’s Reference
Structure of a Dbspace Blobpage
Structure of a Dbspace Blobpage
TEXT or BYTE data that is stored in the dbspace is stored in a blobpage. The
structure of a dbspace blobpage is similar to the structure of a dbspace data
page. The only difference is an extra 12 bytes that can be stored along with
the TEXT or BYTE data in the data area.
Simple large objects can share dbspace blobpages if more than one simple
large object can fit on a single page, or if more than one trailing portion of a
simple large object can fit on a single page.
For a discussion of how to estimate the number of dbspace blobpages needed
for a specific table, see your Performance Guide.
Each segment of TEXT or BYTE data stored in a dbspace page might be
preceded by up to 12 bytes of information that does not appear on any other
dbspace page. These extra bytes are overhead.
Simple-Large-Object Storage and the Descriptor
Data rows that include TEXT or BYTE data do not include the data in the row
itself. Instead, the data row contains a 56-byte descriptor with a forward
pointer (rowid) to the location where the first segment of data is stored. The
descriptor can point to one of the following items:
IDS
■
A page (if the data is stored in a dbspace)
■
A blobpage (if the data is stored in a blobspace)
■
An optical platter (if you are using the Optical Subsystem) ♦
Creation of Simple Large Objects
When a row that contains TEXT or BYTE data is to be inserted, the simple large
objects are created first. After the simple large objects are written to disk (or
optical medium), the row is updated with the descriptor and inserted.
Disk Structures and Storage
7-37
Blobspace Page Types
Deletion or Insertion of Simple Large Objects
The database server cannot modify simple large objects. It can only insert or
delete them. Deleting a simple large object means that the database server
frees the space consumed by the deleted object for reuse.
When TEXT or BYTE data is updated, a new simple large object is created, and
the data row is updated with the new blob descriptor. The old image of the
row contains the descriptor that points to the obsolete value for the simple
large object. The space consumed by the obsolete simple large object is freed
for reuse after the update is committed. Simple large objects are automatically deleted if the rows that contain their blob descriptors are deleted.
(Blobpages that stored a deleted simple large object are not available for reuse
until the logical log that contains the original INSERT record for the deleted
simple large object is backed up. For more information, see backing up
logical-log files to free blobpages in the chapter on what is the logical log in
the Administrator’s Guide.)
Size Limits for Simple Large Objects
The largest simple large object that the blob descriptor can accommodate is
(231 - 1), or about 2 gigabytes.
IDS
Blobspace Page Types
Every blobspace chunk contains three types of pages:
■
A blobspace free-map page
■
A bit-map page
■
Blobpages
Blobspace Free-Map Page
The blobspace free-map page identifies unused blobpages so that the
database server can allocate them as part of simple-large-object creation.
When a blobpage is allocated, the free-map entry for that page is updated. All
entries for a single simple large object are linked.
7-38
Informix Administrator’s Reference
Structure of a Blobspace Blobpage
A blobspace free-map page is the size of one database server page. Each entry
on a free-map page is 8 bytes, stored as two 32-bit words, as follows:
■
The first bit in the first word specifies whether the blobpage is free or
used.
■
The next 31 bits in the first word identify the logical-log file that was
current when this blobpage was written. (This information is needed
for logging TEXT or BYTE data.)
■
The second word contains the tblspace number associated with the
simple large object stored on this page.
The number of entries that can fit on a free-map page depends on the page
size of your computer. The number of free-map pages in a blobspace chunk
depends on the number of blobpages in the chunk.
Blobspace Bit-Map Page
The blobspace bit-map page tracks the fullness and number of blobspace
free-map pages in the chunk. Each blobspace bit-map page is capable of
tracking a quantity of free-map pages that represent more than 4,000,000
blobpages. Each blobspace bit-map page is the size of one page.
Blobpage
The blobpage contains the TEXT or BYTE data. Blobpage size is specified by
the database server administrator who creates the blobspace. Blobpage size
is specified as a multiple of the page size.
IDS
Structure of a Blobspace Blobpage
The storage strategy used to store simple large objects in a blobspace differs
from the dbspace storage strategy. The database server does not combine
whole simple large objects or portions of a simple large object on a single
blobspace blobpage. For example, if blobspace blobpages are 24 kilobytes
each, a simple large object that is 26 kilobytes is stored on two 24-kilobyte
pages. The extra 22 kilobytes of space remains unused.
Disk Structures and Storage
7-39
Sbspace Structure
Blobpage Structure
The structure of a blobpage includes a blobpage header, the TEXT or BYTE
data, and a page-ending time stamp. The blobpage header includes, among
other information, the page-header time stamp and the blob time stamp
associated with the forward pointer in the data row. If a simple large object is
stored on more than one blobpage, a forward pointer to the next blobpage
and another blob time stamp are also included in the blobpage header.
IDS
Sbspace Structure
An sbspace is similar in concept to a blobspace except that it holds smart
large objects.
When an sbspace is created in a database, it contains the following structures:
■
Sbspace chunk header pages
■
An sbspace metadata area
■
A user-data area
For best performance, we recommend that the metadata area be located in
the middle of the sbspace. Figure 7-18 illustrates the chunk structure of an
sbspace as it appears immediately after the sbspace is created.
A single sbspace chunk
Chunk header pages
User data
Metadata
User data
Chunk one
7-40
Informix Administrator’s Reference
Pages 0 through 52
compose the chunk
header.
Figure 7-18
A Single Sbspace
Chunk
Sbspace Structure
Because the chunk in Figure 7-18 is the first in the sbspace, its chunk header
contains additional information not found in the chunk header of chunks
added to the sbspace subsequently. The chunk header pages for chunk one
contain information that tracks various information about chunk one and for
all chunks added to the sbspace thereafter. Figure 7-19 illustrates the chunk
header structure for the first chunk in an sbspace.
Chunk header structure for the first chunk in an sbspace
Chunk header pages
User data
Reserved page
Figure 7-19
Chunk Header
Structure for the
First Chunk in a
Sbspace
Reserved page
chunk free-extent list
Metadata
Tblspace tblspace bitmap
User data
Tblspace tblspace header
Tblspace header pages
Chunk one
Chunk header pages
The chunk header pages of the first chunk in a sbspace, along with all
metadata areas in all additional chunks, are managed as an entirely separate
dbspace within the sbspace. The chunk free-extent list tracks extents of the
associated chunk only. The tblspace tblspace bitmap is the standard bitmap
of free pages within the tblspace tblspace. The tblspace tblspace header is the
required header for the tblspace tblspace. The tblspace tblspace pages (that
is, the tblspace header pages) are stored in pages five through fifty-two. If
more space is required, it is allocated from chunk one metadata. When you
add additional chunks to an sbspace, the chunk header for the additional
chunks includes only the two reserved pages and the chunk free-extent list.
Disk Structures and Storage
7-41
Structure of the Metadata Area
Structure of the Metadata Area
As with the chunk header pages, four areas are exclusive to the first chunk in
a sbspace: the sbspace descriptor tblspace, the chunk adjunct tblspace, and
the level-1 and level-2 archive tblspaces. The tblspace header section contains
a tblspace header for each of these tblspaces (notably excluding the tblspace
tblspace). Figure 7-20 shows the layout of the metadata in the single-chunk
sbspace.
Structure of the metadata area for a single-chunk sbspace
Chunk header pages
User data
Sbspace descriptor tblspace
Figure 7-20
Structure of the
Metadata Area for a
Single-Chunk
Sbspace
Chunk adjunct tblspace
Level-1 archive tblspace
Metadata
Level-2 archive tblspace
User data
Chunk one LO header tblspace
Chunk one user-data free-list tblspace
Chunk one
Metadata area
When you specify the sbspace name in the oncheck -ps option, you can
display the number of pages allocated and used for each tblspace in the
metadata area.
7-42
Informix Administrator’s Reference
Sbpage Structure
Sbpage Structure
Each sbpage is composed of three elements: an sbpage header, the actual user
data itself, and an sbpage trailer. Figure 7-21 shows the structure of an
sbpage.
Figure 7-21
Sbpage Structure
Sbpage structure
Chunk header pages
User data
Sbpage header
User data
Metadata
Sbpage trailer
User data
Sbpage
Chunk one
The sbpage header consists of the standard page header. The sbpage trailer is
used to detect an incomplete write on the page and to detect page corruption.
Disk Structures and Storage
7-43
Multiple Chunk Sbspace
Multiple Chunk Sbspace
The following figure illustrates a possible configuration for a three-chunk
sbspace. In this example, chunk two contains no metadata of its own.
Metadata information for chunk two is stored in the metadata area of chunk
one.
Figure 7-22
Multiple-Chunk
Sbspace Structure
Multiple-chunk sbspace structure
Chunk header pages
Chunk header pages
User data
Chunk header pages
User data
Metadata for chunks one
and two
User data
User data
Metadata for chunk three
User data
Chunk one
Chunk two
Chunk three
Sbspace one
The user-data areas in chunk one of the example are actually optional.
Chunk one could contain metadata for all other chunks in the sbspace.
7-44
Informix Administrator’s Reference
Database and Table Creation: What Happens on Disk
Database and Table Creation: What Happens
on Disk
This section explains how the database server stores data related to the
creation of a database or table and allocates the disk structures that are
necessary to store your data.
Database Creation
After the root dbspace exists, users can create a database. The paragraphs
that follow describe the major events that occur on disk when the database
server adds a new database.
Disk-Space Allocation for System Catalog Tables
The database server searches the chunk free-list pages in the dbspace,
looking for free space in which to create the system catalog tables. For each
system catalog table, in turn, the database server allocates eight contiguous
pages, the size of the initial extent of each system catalog table. The tables are
created individually and do not necessarily reside next to each other in the
dbspace. They can be located in different chunks. As adequate space is found
for the initial extent of each table, the pages are allocated, and the associated
chunk free-list page is updated.
Disk Structures and Storage
7-45
Table Creation
Tracking of System Catalog Tables
The database server tracks newly created databases in the database tblspace,
which resides in the root dbspace. An entry describing the database is added
to the database tblspace in the root dbspace. (See “Structure of the Database
Tblspace” on page 7-12.) For each system catalog table, the database server
adds a one-page entry to the tblspace tblspace in the dbspace where the
database was built. (See “Structure of the Tblspace Tblspace” on page 7-9.)
Figure 7-23 illustrates the relationship between the database tblspace entry
and the location of the systables system catalog table for the database.
An entry in the database tblspace (located
in the root dbspace) points to the database
systables system catalog table.
Database tblspace
Figure 7-23
New Databases
Dbspace
systables
Tblspaces
For instructions on how to list your databases after you create them, see
monitoring databases in the chapter on managing database-logging status in
the Administrator’s Guide.
Table Creation
After the root dbspace exists, and a database has been created, users with the
necessary SQL privileges can create a database table. When users create a
table, the database server allocates disk space for the table in units called
extents (see what is an extent in the chapter on where data is stored in the
Administrator’s Guide). The paragraphs that follow describe the major events
that occur when the database server creates a table and allocates the initial
extent of disk space.
7-46
Informix Administrator’s Reference
Table Creation
Disk-Space Allocation
The database server searches the chunk free-list pages in the dbspace for
contiguous free space equal to the initial extent size for the table. When
adequate space is found, the pages are allocated, and the associated chunk
free-list page is updated.
If the database server cannot find adequate contiguous space anywhere in
the dbspace, it allocates to the table the largest available amount of
contiguous space. No error message is returned if an allocation is possible,
even when the amount of space allocated is less than the requested amount.
If the minimum extent size cannot be allocated, an error is returned. (Extents
cannot span two chunks.)
Entry in the Tblspace Tblspace
The database server adds a one-page entry for this table to the tblspace
tblspace in this dbspace. The tblspace number assigned to this table is
derived from the logical page number in the tblspace tblspace where the table
is described. See “Tblspace Numbers” on page 7-10.
The tblspace number indicates the dbspace where the tblspace is located.
Tblspace extents can be located in any of the dbspace chunks.
If you must know exactly where the tblspace extents are located, execute the
following command for a listing of the dbspace layout by chunk:
XPS
■
onutil CHECK SPACE DISPLAY ♦
IDS
■
oncheck -pe ♦
Entries in the System Catalog Tables
The table itself is fully described in entries stored in the system catalog tables
for the database. Each table is assigned a table identification number or tabid.
The tabid value of the first user-defined table in a database is always 100. For
a complete discussion of the system catalog, see the Informix Guide to SQL:
Reference.
A table can be located in a dbspace that is different than the dbspace that
contains the database. The tblspace itself is the sum of allocated extents, not
a single, contiguous allocation of space. The database server tracks tblspaces
independently of the database.
Disk Structures and Storage
7-47
Table Creation
Creation of a Temporary Table
The tasks involved in creating temporary tables are similar to the tasks that
the database server performs when it adds a new permanent table. The key
difference is that temporary tables do not receive an entry in the system
catalog for the database. For more information, see what is a temporary table
in the chapter on where data is stored in the Administrator’s Guide.
7-48
Informix Administrator’s Reference
Chapter
Loading with External Tables
for Extended Parallel Server
In This Chapter .
.
.
.
.
.
.
.
.
.
.
.
.
8-3
Getting an Overview of High-Performance Loading . . .
Loading and UnLoading Data. . . . . . . . . .
Using the Reject File and Violations Table to Handle
Load Errors . . . . . . . . . . . .
Setting Up Loading and Unloading Tasks . . . .
Data-Format Conversion . . . . . . . . . . .
Data Load . . . . . . . . . . . . . . . .
Data Unload . . . . . . . . . . . . . . . .
File Types and Formats . . . . . . . . . . . .
Loading Modes . . . . . . . . . . . . . . .
Optimization . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
8-3
8-4
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8-4
8-5
8-8
8-8
8-8
8-9
8-9
8-10
Starting to Load and Unload Data.
Specifying the External Table .
Loading Data in Express Mode
Loading Data in Deluxe Mode
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8-12
8-12
8-13
8-15
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8-16
8-17
8-17
8-18
8-19
8-19
8-20
8-21
8-22
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8
.
.
.
.
.
.
.
.
Loading, Unloading, and Reorganizing Data . . . . . .
Loading from a Delimited File with Unchanged Columns
Unloading to a Delimited File . . . . . . . . . .
Mapping Columns to Other Columns . . . . . . .
Unloading to an Informix Data File . . . . . . . .
Loading Between Tables That Have the Same Schema .
Loading from a Fixed-ASCII File . . . . . . . . .
Unloading to a Fixed-ASCII File . . . . . . . . .
Loading from an IBM Fixed-EBCDIC File . . . . . .
Loading from and Unloading to a Named Pipe . . . . . .
Loading with Named Pipes . . . . . . . . . . .
Using FIFO Virtual Processors . . . . . . . . . .
Unloading with Named Pipes . . . . . . . . . .
Adding an End-of-Line Character to a Fixed-ASCII File . . .
Using a Program or Script . . . . . . . . . . . .
Adding a Newline Field in a SELECT Statement . . . .
Loading Values into Serial Columns. . . . . . . . . .
Loading Data Warehousing Tables . . . . . . . . . .
Loading Initially . . . . . . . . . . . . . . .
Refreshing Periodically . . . . . . . . . . . .
Refreshing Frequently or Continuously . . . . . . .
Initial Loading of OLTP Data from Other Database Servers
.
.
.
.
.
.
.
.
.
.
.
.
.
8-22
8-23
8-24
8-25
8-26
8-26
8-27
8-28
8-28
8-28
8-29
8-30
8-31
Loading Simple Large Objects . . . . . . . . . . . . . . .
Formats for Simple Large Objects . . . . . . . . . . . .
Using Informix Internal Format . . . . . . . . . . . .
Using Delimited Format . . . . . . . . . . . . . .
Loading Simple Large Objects from an External Table . . . . .
Using Pipe Staging. . . . . . . . . . . . . . . . . .
Using Parallel Execution . . . . . . . . . . . . . .
Using Temporary Space for Pipe Staging of
Simple Large Objects . . . . . . . . . . . . .
8-32
8-32
8-33
8-34
8-38
8-40
8-40
Monitoring the Load or Unload Operations
Monitoring Frequent Loads and Unloads
Monitoring FIFO Virtual Processors . .
Monitoring Loads and Unloads of Data
Using SET EXPLAIN ON Output .
Using onstat to Monitor Pipe Staging
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
8-44
8-44
8-45
8-46
8-46
8-48
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
8-49
8-49
8-51
8-52
Recovering After Errors . . .
Reject Files . . . . . .
Error Messages . . . . .
Recoverability of Table Types
8-2
Informix Administrator’s Reference
.
.
.
.
.
.
.
.
.
.
.
.
.
8-41
XPS
In This Chapter
This chapter describes how Extended Parallel Server performs highperformance loading with external tables. An external table is a data file that
you use to load and unload data. The data file is not managed by an Informix
database server. The definition of the external table includes data-formatting
type, external data description fields, and global parameters.
This chapter describes the following tasks:
■
Getting an overview of high-performance loading
■
Starting to load and unload data
■
Loading, unloading, and reorganizing data
■
Loading simple large objects
■
Monitoring the load or unload operations
■
Recovering after errors
Getting an Overview of High-Performance Loading
The database server provides high-performance parallel loading and
unloading of tables. To set up high-performance loading, you issue a series
of SQL statements that perform the following functions:
■
Partition load activity over available resources to provide highperformance parallel loading
■
Transfer operational data efficiently from a mainframe to a data
warehouse
■
Transfer data files across platforms in Informix internal data format
■
Use the database server to convert data between delimited ASCII,
fixed-ASCII, EBCDIC, and Informix internal (raw) representation
Loading with External Tables for Extended Parallel Server 8-3
Loading and UnLoading Data
■
Use SQL INSERT and SELECT statements to specify the mapping of
data to new columns in a database table
■
Provide parallel standard INSERT operations so that data can be
loaded without dropping indexes
■
Use named pipes to support loading data to and unloading data
from storage devices, including tape drives and direct network
connections to mainframes
■
Maintain a record of load and unload statistics during the run
■
Check constraints
■
Perform express (high-speed) and deluxe (data-checking) transfers
The database server can use parallel SQL operators to distribute these tasks
easily.
DB
You can issue the SQL statements with DB-Access or embed them in an
ESQL/C program. ♦
E/C
Loading and UnLoading Data
To map external data to internal data, the database server views the external
data as an external table. Treating the external data as a table provides a
powerful method for moving data into or out of the database and for specifying transformations of the data.
When the database server runs a load task, it reads data from the external
source and performs the conversion required to create the row and then
inserts the row into the table. The database server writes errors to two places:
■
The reject file
■
The violations table
Using the Reject File and Violations Table to Handle Load Errors
If the data in the external table cannot be converted or violates check
constraints, you can specify that the database server write the record to a
reject file, along with the reason for the failure. To do this, you specify the
REJECTFILE keyword in the CREATE EXTERNAL TABLE statement. For more
information, see “Reject Files” on page 8-49.
8-4
Informix Administrator’s Reference
Loading and UnLoading Data
During a load, rows that violate unique or referential constraints are recorded
in a violations table. During an insert, update, or delete operation, any type of
constraint violation gets recorded in the violations table. The bad row is sent
to the violations table, permitting the load to continue successfully. For information on starting a violations table, see the Informix Guide to SQL: Syntax
and “Loading Data in Deluxe Mode” on page 8-15.
Setting Up Loading and Unloading Tasks
To set up loading and unloading tasks, you issue a series of SQL statements:
■
CREATE EXTERNAL TABLE to describe the data file to load or unload
■
CREATE TABLE to define the table to load
■
INSERT...SELECT to load
A second method, which uses a SELECT...INTO EXTERNAL statement, is also
available for unloading data to an external table. For more information about
these SQL statements and the violations table, see the Informix Guide to SQL:
Syntax.
Figure 8-1 on page 8-7 shows the relationship of these SQL statements to the
load process. The following steps outline the load process:
1.
The CREATE EXTERNAL TABLE statement describes the location of
the various external files, which can be on disk or come from a pipe
(tape drive or direct network connection), and the format of the
external data.
The following sample CREATE EXTERNAL TABLE statement shows
that the data files exist on coservers in the cogroup_cust cogroup,
which consists of coservers 1 and 5:
CREATE EXTERNAL TABLE emp_ext
( name CHAR(18) EXTERNAL CHAR(18),
hiredate DATE EXTERNAL CHAR(10),
address VARCHAR(40) EXTERNAL CHAR(40),
empno INTEGER EXTERNAL CHAR(6) )
USING (
FORMAT 'FIXED',
DATAFILES
("DISK:cogroup_cust:/work2/mydir/emp.fix")
);
Loading with External Tables for Extended Parallel Server 8-5
Loading and UnLoading Data
2.
The CREATE TABLE statement defines the table to load.
The following sample CREATE TABLE statement defines the
customer table in the cust_dbsl dbslice:
CREATE TABLE customer
(cust_id integer,...)
FRAGMENT BY HASH (cust_id)
IN cust_dbslc;
Figure 8-1 on page 8-7 shows that the cust_dbsl dbslice consists of
ten dbspaces, with two dbspaces on each of the five coservers.
3.
The INSERT...SELECT statement maps the movement of the external
data from or to the database table.
The following sample INSERT statement loads the customer table
from the external table to the cust_dbsl dbslice:
INSERT INTO employee SELECT * FROM emp_ext
The INSERT...SELECT statement uses the multithreaded architecture
of the database server to perform the load process in the following
steps:
8-6
a.
Execute multiple read operations from tapes, files, or pipes. In
this example, coservers 1 and 5 contain data files. During the
load process, the xlr (xload load reader) operators on coservers 1
and 5 read each data file.
b.
The Data Flow Manager ships the data from the xlr operators to
the xlc (xload load converter) operators on coservers 1 through 5.
The xlc operators convert the data in parallel.
c.
Load multiple fragments of the table in parallel. The load process
has a separate INSERT operator per fragment.
Informix Administrator’s Reference
Loading and UnLoading Data
Figure 8-1
Overview of Load Process
DB-Access
3
INSERT
External files (tape, pipe, disk)
1
Client/server
connections
Coserver 1
3a
xlr
3b
xlc
3c
INSERT
2
cust_dbsl.1
1
...
Coserver 2
Coserver 5
3a
xlr
3b
xlc
3b
xlc
3c
INSERT
3c
INSERT
2
cust_dbsl.6
External files
2
cust_dbsl.2 cust_dbsl.7
...
cust_dbsl.5
cust_dbsl.10
cust_dbsl dbslice
Loading with External Tables for Extended Parallel Server 8-7
Data-Format Conversion
Data-Format Conversion
The database server provides a number of different conversion mechanisms,
which are performed within the database server and therefore provide
maximum performance during the conversion task. The database server
optimizes data conversion between ASCII and Informix data representations,
and between EBCDIC and Informix data representation in both fixed and
delimited formats.
To perform customized conversions, you can create a filter program that
writes converted data to a named pipe. The database server then reads its
input from the named pipe in one of the common formats.
Data Load
To load data, define the external data as an external table and then insert the
data into the internal database. For a detailed explanation, see “Specifying
the External Table” on page 8-12.
Data Unload
To unload data, create an external table and insert the data into it, or select
data from an internal table into an external file.
To unload data in parallel, initiate a query that runs in parallel and writes its
output to multiple files. The unload job uses a round-robin technique to
equalize the number of rows in the output files.
To direct the output to a specific external table, run a separate SELECT
statement for each coserver and use the LOCAL keyword for the source table
and specify only data files on that coserver.
If multiple data files reside on a coserver and a data file fills up its disk, the
unload task redirects the data to the remaining data files on that coserver. If
all of the data files on a single coserver fill up, the unloading task fails. The
redirection works only on a single coserver, not across coservers. No similar
redirection capability exists for named pipes.
8-8
Informix Administrator’s Reference
File Types and Formats
File Types and Formats
The database server supports both disk and named-pipe external files.
The external data files can be in delimited ASCII and EBCDIC formats, fixedASCII and EBCDIC formats, IBM-format files, and Informix internal format.
For simple large objects, which contain TEXT or BYTE data, the data file can
be in raw (Informix internal format) or delimited format. For more information, refer to “Formats for Simple Large Objects” on page 8-32.
Loading Modes
The database server performs express-mode loads and deluxe-mode loads.
Mode selection is determined by the logging mode (table type) of the destination table and the presence or absence of the DELUXE or EXPRESS keywords
in the USING clause of the CREATE EXTERNAL TABLE statement. You can
perform express-mode loads only when the table is type RAW or OPERATIONAL and does not have any active indexes. The database server allows
constraint checking for both load modes.
Express mode provides the highest performance during a load. For detailed
procedures on using express mode, refer to “Loading Data in Express Mode”
on page 8-13.
Deluxe mode combines fast parallel loading with evaluation of indexes and
unique constraints. Use deluxe mode in the following situations:
■
The cost of rebuilding an index is too high for the amount of data that
you are loading.
■
You want to use the empty space from deleted rows in the table that
you are loading.
For detailed procedures on using deluxe mode, refer to “Loading Data in
Deluxe Mode” on page 8-15.
Loading with External Tables for Extended Parallel Server 8-9
Optimization
Optimization
To optimize performance and load balancing, the database server data-flow
manager partitions the conversion task into separate threads from the read
and insert threads and then routes the conversions to coservers that have
available resources. Once the rows are converted, the data-flow manager
sends each row to the appropriate insert thread.
Figure 8-2 on page 8-11 shows how multiple data-flow managers and conversions tasks balance the load process across multiple coservers:
8-10
■
A user on coserver_x issues an INSERT statement via DB-Access to
load a file from disk and convert its format.
■
The data-flow manager discovers that the source file resides on one
disk on coserver_x and two disks on coserver_z.
■
Readers (sometimes referred to as loader threads) on coserver_x and
coserver_z read the file in parallel through named pipes. The
database server receives the data through a named pipe.
■
The data-flow manager uses a round-robin scheme to distribute the
data to all coservers.
■
Converter threads (one per CPU VP) on each coserver perform any
required data reformatting and pass rows of data back to the dataflow manager.
■
The data-flow manager buffers and partitions the data among the
coservers that have disks with dbspaces allocated to the table
(disk_y5 and disk_z2).
■
Insert threads place the data on disk.
Informix Administrator’s Reference
Optimization
External files
External files
dbaccess
disk_x1
disk_z1
coserver_x
coserver_y
Reader
Figure 8-2
The Load Process
disk_z3
coserver_z
Reader
Flow Mgr
Flow Mgr
Flow Mgr
Converter
Converter
Converter
Converter
Converter
Flow Mgr
Flow Mgr
Flow Mgr
Insert
Insert
dbspace_y5
dbspace_z2
Dbspace or dbslice
Dbspace or dbslice
Loading with External Tables for Extended Parallel Server 8-11
Starting to Load and Unload Data
Starting to Load and Unload Data
This section discusses the fundamental procedures used to load and unload
data:
■
Specifying the external table
■
Loading data in express mode
■
Loading data in deluxe mode
Specifying the External Table
When you load data into the database, the FROM table portion of the SELECT
clause refers to the external table that the CREATE EXTERNAL statement
defined. When you unload data to an external file, the SELECT clause controls
the retrieval of the data from the database.
The external table is handled in the same way as a TEMP table. To create the
external table definition, issue one of two statements:
■
CREATE EXTERNAL TABLE...USING
■
SELECT...INTO EXTERNAL table-name USING (when unloading)
Unlike a TEMP table, the external table has a definition that remains in the
catalog until it is dropped. Creating an external table allows you to save the
external description of the data for reuse. This action is particularly helpful
when you unload a table into the Informix internal data representation
because you can later use the same external table description to reload that
data.
The external table definition contains all the information needed to define the
data in the external data file as follows:
■
The description of the fields in the external data
■
The DATAFILES clause
This clause specifies:
8-12
❑
whether the data file resides on disk or a named pipe.
❑
the coserver where the data file resides.
❑
the pathname of the file.
Informix Administrator’s Reference
Loading Data in Express Mode
■
The FORMAT clause
This clause specifies the type of data formatting in the external data
file. The database server converts external data from several data
formats, including delimited ASCII and EBCDIC, fixed ASCII and
EBCDIC, and Informix internal.
■
Any global parameters that affect the format of the data
When you describe the external table with a CREATE EXTERNAL TABLE
statement, you specify column mapping and use an INSERT INTO...SELECT
statement to perform the task. If you map the external table directly into the
internal database table in delimited format, you can use the CREATE
EXTERNAL TABLE statement to define the columns and add the clause
SAMEAS internal-table instead of enumerating the columns explicitly.
Important: If you specify more than one INSERT INTO...SELECT statement to unload
data, each subsequent INSERT statement overwrites the data file. Use absolute paths
for data files.
Loading Data in Express Mode
Choose express mode for fast loading of data. Express-mode loads use light
appends, which bypass the buffer pool. Light appends eliminate the
overhead associated with buffer management but do not log the data. In
express mode, the database server automatically locks the table exclusively.
No other users can access the table.
If you do not use the DELUXE keyword, the database server uses express
mode unless the target table has indexes or is a STANDARD table.
Warning: Express mode loads are not allowed for STANDARD tables.
You can use express mode for any newly created table with no data if you
define the table as type RAW or OPERATIONAL and do not define any indexes
until after you load the data. Choose RAW tables if you do not want to use
logging. Choose OPERATIONAL tables if you want to use logging.
To prepare an existing table for express-mode load, drop all indexes, and
make sure the table type is either RAW or OPERATIONAL. For more information on table types, see “Recoverability of Table Types” on page 8-52.
Loading with External Tables for Extended Parallel Server 8-13
Loading Data in Express Mode
Consider a table with the following schema:
TABLE employee (
name CHAR(18),
hiredate DATE,
address CHAR(40),
empno INTEGER);
To use express-mode load on an existing table
1.
Alter the table type to allow fast loading.
ALTER TABLE employee TYPE (OPERATIONAL);
2.
Create the external table description.
CREATE EXTERNAL TABLE emp_ext
SAMEAS employee
USING (
FORMAT 'DELIMITED',
DATAFILES
("DISK:cogroup_all:/work2/mydir/emp%c.dat"),
REJECTFILE "/work2/mydir/emp%c.rej",
EXPRESS
);
3.
Optionally begin a transaction.
4.
Perform the load.
BEGIN WORK;
INSERT INTO employee SELECT * FROM emp_ext;
Because you specified express mode (step 2), the load stops with an
error message if the destination table contains indexes, constraints,
or any other problem conditions.
5.
Commit the transaction if you started it with BEGIN WORK.
COMMIT WORK;
6.
Perform a level-0 backup.
Because the data is not logged, you must perform a level-0 backup to
allow data recovery. If a disk fails, you cannot recover the data
automatically. You need to use the most recent level-0 backup files.
If the table type is RAW (nonlogging), omit the statements BEGIN WORK and
COMMIT WORK.
You can define check constraints on the external table to filter out bad rows
even if you load in express mode.
8-14
Informix Administrator’s Reference
Loading Data in Deluxe Mode
Important: If you delete many rows from a table and then load many new rows into
the table in EXPRESS mode, the table grows in size because light appends append to
the end of the table and do not reuse the empty space inside the table. (If you do not
specify EXPRESS mode, the loader might choose DELUXE mode to fill in the space if
a table has many deleted rows.)
Loading Data in Deluxe Mode
Deluxe-mode loads use regular single-row inserts, which add rows to a table
that can contain indexes. The insert modifies each index for each row during
the load. The insert also checks all constraints for each row. A deluxe-mode
load allows you to keep the table unlocked during the load so other users can
continue to use it.
You also can use deluxe mode on tables that do not contain indexes; for
instance, if you want to have complete recoverability or maintain access to
tables during a load.
To prepare a table for deluxe-mode load, create the internal table as type
OPERATIONAL or STANDARD, and create the external table with the optional
keyword DELUXE.
To use deluxe-mode load on a table
1.
If you want row locking, specify row locking in CREATE TABLE.
(Page locking is the default.) If you want other users to be able to
read the table during the load, set the lock mode to share.
Otherwise, set it to exclusive.
BEGIN WORK;
LOCK TABLE employee IN SHARE MODE;
2.
Create the external table description.
CREATE EXTERNAL TABLE emp_ext
SAMEAS employee
USING (
DATAFILES
("DISK:cogroup_all:/work2/mydir/emp%c.dat"),
REJECTFILE "/work2/mydir/emp%c.rej",
DELUXE
);
Loading with External Tables for Extended Parallel Server 8-15
Loading, Unloading, and Reorganizing Data
3.
Start the violations table if you want the load operation to complete
successfully even if constraint violations exist.
Informix does not recommend that you start a violations table and
then set constraints to deferred. (You also cannot start a violations
table when constraints are already set to deferred.) For more information on the violations table and deferred constraints, see the
Informix Guide to SQL: Syntax.
4.
Perform the load.
INSERT INTO employee SELECT * FROM emp_ext;
5.
Commit the load, releasing row or page locks.
COMMIT WORK;
Tip: Configure logical logs to allow maximum concurrent deluxe-load transactions
to complete.
Loading, Unloading, and Reorganizing Data
This section describes the following procedures:
8-16
■
Loading from a delimited file with unchanged columns
■
Unloading to a delimited file
■
Mapping columns to other columns
■
Unloading to an Informix data file
■
Loading between tables that have the same schema
■
Loading from a fixed-ASCII file
■
Unloading to a fixed-ASCII file
■
Loading from an IBM fixed-EBCDIC file
■
Using a named pipe to load or unload
■
Adding an end-of-line (EOL) character to a fixed-ASCII file
■
Loading values into serial columns
■
Loading simple large objects (TEXT or BYTE data)
Informix Administrator’s Reference
Loading from a Delimited File with Unchanged Columns
Loading from a Delimited File with Unchanged Columns
Consider loading a delimited ASCII text file into a table with the following
schema:
TABLE employee (
name CHAR(18) NOT NULL,
hiredate DATE DEFAULT TODAY,
address VARCHAR(40),
empno INTEGER);
The SQL statements to load into this table would be as follows:
CREATE EXTERNAL TABLE emp_ext
SAMEAS employee
USING (
DATAFILES ("DISK:1:/work2/mydir/emp.dat"),
REJECTFILE "/work2/mydir/emp.%c.rej"
);
INSERT INTO employee SELECT * FROM emp_ext;
The external table has the same name, type, default, and check constraint for
each column because the CREATE statement includes the SAMEAS keyword.
The default format is delimited, so no format keyword is required.
Delimited files are ASCII by default. For EBCDIC files, specify CODESET
EBCDIC in the USING clause. The default row delimiter is an end-of-line
character unless you use the RECORDEND keyword to specify a different
delimiter when you created the external table. (The RECORDEND keyword
works for delimited format only.)
Unloading to a Delimited File
You can unload data to a delimited-ASCII text file from a table, as the
following example shows:
SELECT * FROM employee
WHERE hiredate > "1/1/1996"
INTO EXTERNAL emp_ext
USING (
DATAFILES ("DISK:1:/work2/mydir/emp.unl")
);
Loading with External Tables for Extended Parallel Server 8-17
Mapping Columns to Other Columns
Another SQL statement sequence to unload from this table is as follows:
CREATE EXTERNAL TABLE emp_ext
SAMEAS employee
USING (
DATAFILES ("DISK:1:/work2/mydir/emp.dat")
);
INSERT INTO emp_ext SELECT * FROM employee;
Delimited files are ASCII by default. For EBCDIC files, specify CODESET
EBCDIC in the USING clause.
Mapping Columns to Other Columns
If the data file is to have fields in a different order (for example, empno,
name, address, hiredate), you can use the INSERT statement to map the
columns. First, create the table with the columns in the order in which they
are found in the external file.
CREATE EXTERNAL TABLE emp_ext
(
f01 INTEGER,
f02 CHAR(18),
f03 VARCHAR(40),
f04 DATE
)
USING (
DATAFILES ("DISK:1:/work2/mydir/emp.dat"),
REJECTFILE "/work2/mydir/emp.%c.rej"
);
INSERT INTO employee (empno, name, address, hiredate)
SELECT * FROM emp_ext;
With this method, the insert columns are mapped to match the field order of
the external table.
Another way to reorder columns is to use the SELECT list clause to match the
order of the database table.
INSERT INTO employee
SELECT f02, f04, f03, f01 FROM emp_ext;
8-18
Informix Administrator’s Reference
Unloading to an Informix Data File
Unloading to an Informix Data File
To unload from the employee table to a table in Informix internal format on
every coserver, use statements similar to the following ones:
SELECT * FROM employee
WHERE hiredate > "1/1/1996"
INTO EXTERNAL emp_ext
USING (
FORMAT 'INFORMIX',
DATAFILES ("DISK:cogroup_all:/work2/mydir/emp.dat")
);
Because the output files use Informix internal representation, you need to
specify the FORMAT 'INFORMIX' option in the USING clause. (The default is
delimited-ASCII format.)
The DATAFILES entry specifies cogroup_all. The database server automatically includes all coservers in a cogroup named cogroup_all at execution.
Therefore, this example unloads the employee table into a file on each
coserver.
Loading Between Tables That Have the Same Schema
You can load data from one table to another with the same schema (for
example, worldemp) with a simple INSERT statement.
INSERT INTO worldemp SELECT * FROM emp_ext;
If you used the database server to unload the data with a SELECT...INTO
EXTERNAL statement and you have not yet dropped the external table, you
do not have to create an external table.
Loading with External Tables for Extended Parallel Server 8-19
Loading from a Fixed-ASCII File
Loading from a Fixed-ASCII File
The following SQL statements load data from the emp_exp external table to
a fixed-position table (employee):
CREATE EXTERNAL TABLE emp_ext
( name CHAR(18) EXTERNAL CHAR(18),
hiredate DATE EXTERNAL CHAR(10),
address VARCHAR(40) EXTERNAL CHAR(40),
empno INTEGER EXTERNAL CHAR(6) )
USING (
FORMAT 'FIXED',
DATAFILES ("DISK:1:/work2/mydir/emp.fix")
);
INSERT INTO employee SELECT * FROM emp_ext;
The enumerated columns use the keyword EXTERNAL to describe the format
in which to store the data in the external file.
If the data file has fields that you do not want to insert, you can define
dummy fields so that you can skip them. Consider the following scenario:
TABLE company (
comp_no SERIAL,
acode DECIMAL(3),
city CHAR(15),
state CHAR(2),
zip_code DECIMAL(5),
phone CHAR(8),
dateentered DATE);
The data file consists of the following two rows:
Sunnyvale++++++CA94086408-789-8075
Tempe++++++++++AZ85253xxx-xxx-xxxx
8-20
Informix Administrator’s Reference
Unloading to a Fixed-ASCII File
The SQL statements to load this file would be as follows:
CREATE EXTERNAL TABLE extcompany
( city CHAR(15) EXTERNAL CHAR(15),
state CHAR(2) EXTERNAL CHAR(2),
zip DECIMAL(5) EXTERNAL CHAR(5),
area DECIMAL(3) EXTERNAL CHAR(3) NULL 'xxx',
dummychar CHAR(1) EXTERNAL CHAR(1),
{ this is the '-' }
phone CHAR(8) EXTERNAL CHAR(8) NULL 'xxx-xxxx',
dummyeol CHAR(1) EXTERNAL CHAR(1)
{ this is the newline character }
)
using (
FORMAT 'FIXED',
DATAFILES("DISK:1:/work2/mydir/company.fix")
);
INSERT INTO company(city, state, zip_code, acode, phone)
SELECT TRIM(trailing '+' from city), state, zip, area, phone
FROM extcompany;
In the internal table, the column dateentered is not initialized from the
external data file, so you do not enumerate it in the list of columns for the
insert table. Columns that you do not enumerate are loaded with the default
values defined for the columns on the target table.
You can use the TRIM function to clean up data before you enter it in the table.
Unloading to a Fixed-ASCII File
The following SQL statements unload the employee table in fixed-ASCII
format into the emp_ext external table:
CREATE EXTERNAL TABLE emp_ext
( name CHAR(18) EXTERNAL CHAR(20),
hiredate DATE EXTERNAL CHAR(10),
address VARCHAR(40) EXTERNAL CHAR(40),
empno INTEGER EXTERNAL CHAR(6) )
USING (
FORMAT 'FIXED',
DATAFILES ("DISK:1:/work2/mydir/emp.fix")
);
INSERT INTO emp_ext SELECT * FROM employee;
These statements create a fixed-ASCII file with 20 character positions in the
first field, the next 10 character positions in the second field, and so on.
Because you are choosing the rows with a SELECT statement, you can format
the SELECT list in any way that you want.
Loading with External Tables for Extended Parallel Server 8-21
Loading from an IBM Fixed-EBCDIC File
Loading from an IBM Fixed-EBCDIC File
You can load and unload IBM-format data files. As an example, consider the
following IBM employee data file:
CREATE TABLE employee
( name CHAR(18),
salary DECIMAL(7,2),
hiredate DATE,
empno INTEGER
The following SQL statements load the data from the emp_exp external table
to the employee table:
CREATE EXTERNAL TABLE emp_ext
( name CHAR(18) EXTERNAL CHAR(18),
salary DECIMAL(7,2) EXTERNAL "PACKED(7,2)",
hiredate DATE EXTERNAL CHAR(10),
empno INTEGER EXTERNAL "BINARY(4)" )
USING (
FORMAT 'FIXED',
CODESET "EBCDIC",
DATAFILES ("DISK:1:/work2/mydir/emp.fix")
) ;
INSERT INTO employee SELECT * FROM emp_ext;
The packed-decimal salary (seven digits, two of them after the decimal point)
is stored in four bytes. Three bytes contain six of the digits. The fourth byte
contains the seventh digit and the sign.
Loading from and Unloading to a Named Pipe
You can use a named pipe, also referred to as a first-in-first-out (FIFO) data
file, to load from and unload to a nonstandard device, such as a tape drive.
Unlike ordinary operating-system files, named pipes do not have a 2gigabyte size limitation. The operating system opens and checks for the end
of file differently for named pipes than for ordinary files.
8-22
Informix Administrator’s Reference
Loading from and Unloading to a Named Pipe
Loading with Named Pipes
To use named pipes to load data from external tables, follow these steps:
1.
Specify the named pipes in the DATAFILES clause of the CREATE
EXTERNAL TABLE statement in SQL.
Suppose you have a database server system with 16 coservers, but
only 3 coservers have tape drives attached (for example, coservers 2,
5, and 9).
a.
Set up a cogroup to facilitate the load and unload commands. To
set up the cogroup, use the onutil command, as the following
example shows:
% onutil
1> CREATE COGROUP tape_group
2> FROM cosv.2, cosv.5, cosv.9;
Cogroup successfully created.
b.
Specify the file locations for the named pipes in the CREATE
EXTERNAL TABLE statement.
CREATE EXTERNAL TABLE emp_ext
( name CHAR(18) EXTERNAL CHAR(20),
hiredate DATE EXTERNAL CHAR(10),
address VARCHAR(40) EXTERNAL CHAR(40),
empno INTEGER EXTERNAL CHAR(6) )
USING (
FORMAT 'FIXED',
DATAFILES("PIPE:tape_group:/usr/local/TAPE.%c")
);
The filenames expand as follows:
DATAFILES ("PIPE:2:/usr/local/TAPE.2",
"PIPE:5:/usr/local/TAPE.5",
"PIPE:9:/usr/local/TAPE.9")
2.
Create the named pipes that you specified in the DATAFILES clause.
Use operating-system commands to create the named pipes.
Use the mknod UNIX command with the -p option to create a named
pipe. To avoid blocking open problems for pipes on UNIX, start
separate UNIX processes for pipe-readers and pipe-writers or open
the pipes with the O_NDELAY flag set.
Loading with External Tables for Extended Parallel Server 8-23
Loading from and Unloading to a Named Pipe
3.
Open the named pipes with a program that reads the named pipe.
The database server provides a sample pipe-reader program in
$INFORMIXDIR/demo/xmp/rpipe.c and a sample pipe-writer
program in $INFORMIXDIR/demo/xmp/wpipe.c.
4.
Execute the INSERT statement in SQL.
INSERT INTO employee SELECT * FROM emp_ext;
Warning: If you do not create and open the named pipes before you execute the
INSERT statement, the INSERT succeeds, but no rows are loaded.
Using FIFO Virtual Processors
The database server uses FIFO virtual processors (VPs) to read and write to
external tables on named pipes. The NUMFIFOVPS configuration parameter
specifies the number of FIFO VPs for each coserver. The default number is 2.
The database server uses one FIFO VP for each named pipe that you specify
in the DATAFILES clause of the CREATE EXTERNAL TABLE statement. For
example, suppose you define an external table with the following SQL
statement:
CREATE EXTERNAL TABLE atab_ext
SAMEAS atab
USING (
DATAFILES("PIPE:1:/tmp/pipe1",
"PIPE:1:/tmp/pipe2",
"PIPE:1:/tmp/pipe3"
));
If you use the default value of 2 for FIFO VPs, the database server does not
read from pipe3 until it finishes reading all the data from pipe1 or pipe2.
For more information, refer to the chapter about virtual processors and
threads in the Administrator’s Guide. For more information about using the
NUMFIFOVPS configuration parameter, refer to “NUMFIFOVPS” on
page 1-103 and “Monitoring FIFO Virtual Processors” on page 8-45.
8-24
Informix Administrator’s Reference
Loading from and Unloading to a Named Pipe
Unloading with Named Pipes
To use named pipes to unload data to external tables, follow these steps:
1.
Specify the named pipes in the DATAFILES clause of either the
CREATE EXTERNAL TABLE statement or the SELECT INTO EXTERNAL
in SQL.
2.
Create the named pipes that you specified in the DATAFILES clause.
Use operating-system commands to create the named pipes.
3.
Open the named pipes with a program that writes to the named pipe.
DATAFILES ("PIPE:tape_group:/usr/local/TAPE.%c")
The database server provides a sample pipe-reader program in
$INFORMIXDIR/demo/xmp/rpipe.c and a sample pipe-writer
program in $INFORMIXDIR/demo/xmp/wpipe.c.
4.
Unload to the named pipe.
You can use the SELECT INTO EXTERNAL statement to unload from
named pipes, as the following example shows:
SELECT * FROM employee
WHERE hiredate > "1/1/1996"
INTO EXTERNAL emp_ext
USING (
FORMAT 'DELIMITED',
DATAFILES
("PIPE:2:/usr/local/TAPE.2",
"PIPE:5:/usr/local/TAPE.5",
"PIPE:9:/usr/local/TAPE.9")
);
Alternatively, you can use the following SQL statement sequence to
unload from named pipes:
CREATE EXTERNAL TABLE emp_ext
( name CHAR(18) EXTERNAL CHAR(20),
hiredate DATE EXTERNAL CHAR(10),
address VARCHAR(40) EXTERNAL CHAR(40),
empno INTEGER EXTERNAL CHAR(6) )
USING (
FORMAT 'FIXED',
DATAFILES
("PIPE:tape_group:/usr/local/TAPE.%c")
);
INSERT INTO emp_ext SELECT * FROM employee;
Loading with External Tables for Extended Parallel Server 8-25
Adding an End-of-Line Character to a Fixed-ASCII File
Warning: If you do not create and open the named pipes before you execute the
SELECT or INSERT statement, the unload fails with the ENXIO error message (no
such device or address).
Adding an End-of-Line Character to a Fixed-ASCII File
If you are writing text in a fixed-ASCII format, separate lines for each record
are helpful. For example, consider a table with the following schema:
TABLE sample (
lastname CHAR(10),
firstname CHAR(10),
dateofbirth DATE);
This table contains the following values:
Adams
Smith
Sam
John
10-02-1957
01-01-1920
Next, consider an external table with the following schema:
CREATE EXTERNAL TABLE sample_ext (
lastname CHAR(10) EXTERNAL CHAR(10),
firstname CHAR(10) EXTERNAL CHAR(10),
dateofbirth DATE EXTERNAL CHAR(12));
Unloading sample_ext without an end-of-line character produces the
following output:
Adams
Sam
10-02-1957
Smith
John
01-01-1920
An end-of-line character makes the date more legible and clear. If you use
delimited format defaults, an end-of-line character is automatic. However,
for fixed-format unloads, you need to add an end-of-line character to your
records. You can add end-of-line characters in several ways.
Using a Program or Script
To add an end-of-line character, you can write the fixed-length records to a
data file and then modify the data file with a program or script. For example,
you could use a C program to find the length of each record, locate the end of
a line, and then add an end-of-line character.
8-26
Informix Administrator’s Reference
Adding an End-of-Line Character to a Fixed-ASCII File
Adding a Newline Field in a SELECT Statement
To add an end-of-line character, select a final value from a table that contains
a newline character. You can use an external table to load the newline
character in your internal table, as in the following example:
1.
Create a file that contains only a newline character.
2.
Create an internal table to store this newline value to use later with
your unload.
echo "" > /tmp/cr.fixed
CREATE TABLE dummyCr (cr CHAR(1));
3.
Create the external table to load in the newline value.
CREATE EXTERNAL TABLE x_cr (cr (CHAR(1) EXTERNAL
CHAR(1))
USING (DATAFILES ("disk:1:/tmp/cr.fixed"), FORMAT
'FIXED');
4.
Load the external table in the internal dummyCr table.
INSERT INTO dummyCr SELECT * FROM x_cr;
The internal table, dummyCr, now contains an end-of-line character that you
can use to unload in a SELECT statement:
1.
To unload from your internal table to an external table, create the
external table with the end-of-line character as an external character.
CREATE EXTERNAL TABLE sample_ext
(
lastname CHAR(10) EXTERNAL CHAR(10),
firstname CHAR(10) EXTERNAL CHAR(10),
dateofbirth DATE EXTERNAL CHAR(12),
eol CHAR(1) EXTERNAL CHAR(1))
USING (DATAFILES ....), FORMAT 'FIXED');
2.
Select from the internal table and the dummyCr table to create an
output file that has rows separated by end-of-line characters.
INSERT INTO sample_ext(lastname, firstname,
dateofbirth, eol)
SELECT a.lastname, a.firstname, a.dateofbirth, b.cr
FROM mytable a, dummyCr b;
Important: If you are unloading fixed-ASCII data with EBCDIC, end-of-line
characters are not usually expected, but they are not illegal.
Loading with External Tables for Extended Parallel Server 8-27
Loading Values into Serial Columns
Loading Values into Serial Columns
The database server loads serial columns with either the values from the
original data file or values that the database server automatically generates.
If you want the serial column values to be the values found in the data file,
the INSERT statement does not require special handling. On the other hand,
if you want the database server to generate the value automatically, omit the
serial column from the INSERT statement. For example, if the first column in
the table (col1) is the serial column and you use the following statement, the
default mechanism provides the serial value:
INSERT INTO mytable (col2, ...) SELECT ...
If the table is being loaded into multiple partitions, the serial values are incremented in the same sequence as the table fragments.
Loading Data Warehousing Tables
This section discusses various scenarios to load very large tables:
■
Loading initially
■
Refreshing periodically
■
Refreshing frequently or continuously
■
Initial loading of OLTP data from database servers other than
Extended Parallel Server
Loading Initially
The following scenario creates and loads a data warehouse table with data
from outside of the Informix database server.
To load a table initially
1.
Create the table as type RAW to take advantage of light appends and
to avoid the overhead of logging during the load.
2.
Describe the external data file to the Informix database server with
the CREATE EXTERNAL TABLE statement.
CREATE RAW TABLE tab1 ...
8-28
Informix Administrator’s Reference
Loading Data Warehousing Tables
3.
Load the table in express mode.
INSERT INTO tab1 SELECT * FROM EXTERNAL TABLE ext_tab
The table loads quickly, and the operation consumes only a
minuscule amount of log space.
4.
Verify integrity of the data.
5.
If you do not plan to update the table, change it to type STATIC.
ALTER TABLE tab1 TYPE(STATIC);
If you plan to update the table, change it to a logging type such as
OPERATIONAL or STANDARD.
6.
Create indexes on the table to speed queries against it.
7.
Perform a level-0 backup now to enable you to restore the table later,
if necessary. You do not need to perform this level-0 backup if you
feel it would be just as easy to reload the table from the original
source in the case of a catastrophe.
Refreshing Periodically
This scenario loads new data in a data warehouse table periodically from
some other source. The scenario assumes that the table is type STATIC during
normal operation and that the CREATE EXTERNAL TABLE statement has been
previously executed.
To refresh a table periodically
1.
Drop all indexes on the table.
2.
Alter the table to type RAW.
ALTER TABLE tab1 TYPE(RAW);
3.
Load the new data in the table in express mode.
INSERT INTO tab1 SELECT * FROM EXTERNAL TABLE ext_tab
This INSERT statement quickly appends new data to the end of the
table, and the operation consumes only a minuscule amount of log
space.
4.
Verify integrity of the data.
5.
Change the table to type STATIC.
ALTER TABLE tab1 TYPE(STATIC);
Loading with External Tables for Extended Parallel Server 8-29
Loading Data Warehousing Tables
6.
Re-create indexes on the table to speed queries against it.
7.
Perform a level-0 backup now to enable you to restore the table later,
if necessary. You do not need to perform this level-0 backup if you
feel it would be just as easy to reload the table from the original
source in the case of a catastrophe.
Refreshing Frequently or Continuously
In this scenario, you have a data warehouse table into which new data continuously trickles from some other source. You can easily reload the data from
the original source, so it is not worth the trouble to do the backups.
The following table types are not appropriate for this scenario:
■
RAW tables are not appropriate for this scenario because the tables
need indexes or constraints on them.
■
STATIC tables are not appropriate because the refreshes occur too
often. You do not have sufficient time to drop and re-create indexes
constantly in order to change the table to RAW for the inserts.
■
STANDARD tables might be appropriate, but OPERATIONAL tables
are better because you can take advantage of light appends to load
data quickly.
To refresh a table frequently or continuously
1.
Create the table as type OPERATIONAL
2.
Optionally, use the TRUNCATE statement to quickly delete all the
rows in the table before you load the new data, as the following
example shows:
TRUNCATE tab1
For more information on the TRUNCATE statement, see the Informix
Guide to SQL: Syntax.
3.
Start the violations table if you want to check referential or unique
constraints during the load. The load operation completes successfully even if constraint violations exist. (Do not set constraints to
deferred when you use the violations table.)
(The database server detects and rejects check constraints in the
external table.)
8-30
Informix Administrator’s Reference
Loading Data Warehousing Tables
4.
5.
Use one of the following methods to load the new data:
a.
Express mode for bulk inserts of new data if no indexes or referential or unique constraints exist
b.
Ordinary inserts performed one record at a time
Create and drop indexes and constraints as necessary.
Initial Loading of OLTP Data from Other Database Servers
This scenario loads data in Extended Parallel Server for the first time, as you
might do when you migrate from a different database server. In this scenario,
the table to load will be used for OLTP, so you need logged transactions,
rollback, and recoverability.
To load OLTP data initially from a different database server
1.
Create the table as type RAW to take advantage of light appends and
to avoid the overhead of logging during the load.
2.
Describe the external data file to the Informix database server with
the CREATE EXTERNAL TABLE statement.
3.
Load the table in express mode.
CREATE RAW TABLE tab1 ...
INSERT INTO tab1 SELECT * FROM EXTERNAL TABLE ext_tab
The table loads quickly, and the operation consumes only a
minuscule amount of log space.
4.
Verify integrity of the data.
5.
Perform a level-0 backup to provide a point from which to recover.
6.
Change the table to type STANDARD.
ALTER TABLE tab1 TYPE(STANDARD);
7.
Create indexes on the table to speed queries against it.
8.
Enable constraints on the table to preserve the integrity of the data.
Tip: For information on using external tables to load data from a Version 7.2 or
Version 7.3 database server to a Version 8.3 database server, see the “Informix
Migration Guide.”
Loading with External Tables for Extended Parallel Server 8-31
Loading Simple Large Objects
Loading Simple Large Objects
You can use the following methods to load and unload simple large objects,
which contain TEXT or BYTE data:
■
LOAD and UNLOAD statements in DB-Access for data in delimited
format
■
INSERT statement with external tables
When you use external tables to load and unload simple large objects, you
gain the following performance advantages: The external table is integrated
in the database server and bypasses the client-server connection. External
tables enable the parallel processing of multiple data files on multiple
coservers.
You can also use either DB-Access or ESQL/C statements to insert simple large
objects, but these methods pass data through the client-server connection and
might reduce performance.
Use external tables to insert or load many rows or columns of simple large
objects at a time. Use DB-Access or ESQL/C only to insert a few rows or
columns at a time.
The following sections describe how to use external tables to load and unload
simple large objects. They include the following topics:
■
Formats for simple large objects
■
Procedure for loading
■
Pipe staging
Formats for Simple Large Objects
A format describes the structure of the data in a data file. Before you can load
rows from a data file to an Informix database or unload rows from a database
to a data file, you must define a format that describes the data file.
8-32
Informix Administrator’s Reference
Formats for Simple Large Objects
The database server supports the following file formats for simple large
objects:
■
Informix internal format
■
Delimited format
Using Informix Internal Format
Informix internal format always loads and unloads simple large objects in
internal format and does not use the external TEXT or HEX type definition for
simple large objects. In Informix internal format, the data for the simple large
object follows the row. The row contains a four-byte integer indicating the
length of the simple large object. It is followed by a simple large object of
variable length. The length and data are in internal binary format. For
example, suppose you want to load the following table:
CREATE TABLE tab1
(col1 INT,
largeobj1 BYTE,
col2 CHAR(10),
largeobj2 BYTE,
col3 CHAR(10)) ...
The following diagram shows the layout of the data file.
Figure 8-3
Simple Large Objects with Informix Internal Format
col1
text1 length
col2
Fixed-size row
byte2 length
col3
text1 data
byte2 data
Variable-length simple large object
Loading with External Tables for Extended Parallel Server 8-33
Formats for Simple Large Objects
You can define an external data file that specifies Informix internal format for
simple large objects with the following CREATE EXTERNAL TABLE statement:
CREATE EXTERNAL TABLE extab (
col1 INT,
text TEXT,
byte2 BYTE)
USING (FORMAT 'INFORMIX',
DATAFILES('disk:1:/datafile1'));
If you are concerned with the length of time to load or unload a very large
table that contains simple large objects, use internal format for the faster
execution time. However, you can use internal format only in the following
situations:
■
Moving data between two Version 8.3 database servers
■
Using the High-Performance Loader (HPL) or the onxfer utility to
unload data from a table in Version 7.2 or Version 7.3 and load that
data in a table in a Version 8.3 database server
For more information on onxfer, refer to the Informix Migration Guide.
Using Delimited Format
In delimited format, the data for the simple large object is inserted directly in
the row at the point where the TEXT or BYTE column is defined. Delimited
format affords slower performance than Informix internal format. Use
delimited format when neither of the two preceding conditions applies.
The database server supports two external column types for simple large
objects in delimited format:
■
TEXT
■
HEX
The database server converts the data between the internal and external
column types during loading and unloading.
8-34
Informix Administrator’s Reference
Formats for Simple Large Objects
You can define an external data file that specifies delimited format with either
TEXT or HEX column types for simple large objects with the following
CREATE EXTERNAL TABLE statement:
CREATE EXTERNAL TABLE extab (
col1 INT,
text1 TEXT EXTERNAL 'TEXT', col2 CHAR(10),
byte2 BYTE EXTERNAL 'HEX', col3 CHAR(10))
USING (FORMAT 'DELIMITED',
DATAFILES('disk:1:/datafile1'));
Figure 8-4 shows the layout of the data file. The external format of these
columns is variable length but the internal format is fixed length, except
VARCHAR, TEXT, and BYTE data types.
Figure 8-4
Delimited Format of Simple Large Objects
Dark lines represent delimiters
Simple-large-object column
col1
text1 data (TEXT type)
Simple-large-object column
col2
byte2 data (HEX type)
col3
Column not TEXT or BYTE data type
External TEXT Type
You can encode a TEXT or BYTE column in the external TEXT type. Use only
delimited TEXT and BYTE columns with this external type. Fixed formats are
not allowed. If you do not specify the external type in the CREATE EXTERNAL
TABLE statement, TEXT columns default to the external TEXT data type and
BYTE columns default to the HEX data type.
The database server uses the default field delimiter '| ' and record delimiter
'\n' (newline). If you define custom delimiters for an external table, the
custom delimiters are escaped instead. You can not define the character '\' as
a delimiter.
Loading with External Tables for Extended Parallel Server 8-35
Formats for Simple Large Objects
For simple large objects in external TEXT format, the database server always
recognizes the “\” (backslash) escape sequences. TEXT data often contains the
default record delimiter '\n' (newline), and it is often difficult for a user to tell
whether or not TEXT data contains delimiters before a load.
When the database server unloads, it writes each character in the simple large
object literally, except for field and record delimiters and backslashes, which
are escaped. The database server inserts the escape character (backslash)
before it writes the escaped character. When the database server loads, it
interprets the escape sequence. A backslash followed by any character is
interpreted as a literal character. Nonprintable characters are embedded in
the data file unchanged if you specify the external TEXT data type.
The ESCAPE keyword in an external table definition does not affect TEXT data
in a simple large object. It affects only character columns. Figure 8-5 shows
this byte sequence represented in the TEXT data file; one cell represents one
byte in a data file. Escaped characters are circled.
Figure 8-5
Expansion of Simple Large Object Loaded in TEXT Data Type
Original byte sequence
x
\
0x00 0x01 0x02 0x03
|
\n
y
z
TEXT data file
0x00 0x01 0x02 0x03
8-36
Informix Administrator’s Reference
\
\
x
\
|
y
\
\n
z
Formats for Simple Large Objects
GLS
Multibyte Characters
In multibyte GLS locales, you can define only characters with a length of
exactly one byte as delimiters.
The database server does not alter simple large objects. A simple large object
might contain invalid text and incomplete or invalid multibyte characters. In
contrast to character columns, the database server does not pad with blanks
or truncate invalid multibyte characters in a simple large object. In both
single-byte and multibyte locales, the database server always traverses TEXT
data byte by byte instead of character by character. If a byte matches one of
the delimiters or a backslash, the database server puts an escape character
before it.
External HEX Type
You can encode a BYTE or TEXT column in the external HEX type. Use only
delimited BYTE and TEXT columns with this external type. Fixed formats are
not allowed. If you do not specify the external type in the CREATE EXTERNAL
TABLE statement, BYTE columns default to the external HEX data type and
TEXT columns default to the external TEXT data type.
The external HEX data type uses two hexadecimal digits (0 through 9, A
through F, case insensitive) to represent one byte of data. The digits are
continuously written to the data file. No character marks the boundary of
bytes. Therefore, one byte of simple-large-object data occupies two bytes in a
data file. This expansion might cause a problem if you have large simple large
objects and limited disk space.
Because the HEX output always contains printable characters, you cannot
escape HEX data. Do not define any hexadecimal character as a field or record
delimiter.
For example, suppose you have the following byte sequence where a byte is
represented either with its hexadecimal value or a quoted character:
{0x00, 0x01, 0x02, 0x03, '\', 'x', '|', 'y', '\n','z'}
Loading with External Tables for Extended Parallel Server 8-37
Loading Simple Large Objects from an External Table
Figure 8-6 shows this byte sequence represented in hex; one cell represents
one byte in a data file.
Figure 8-6
Expansion of Simple Large Object Loaded in Hex Data Type
Simple-large-object data, 10 bytes
0x00 0x01 0x02 0x03
\
x
|
y
\n
z
00
5c
78
7c
79
0a
7a
01
02
03
Printed in HEX data type in the external table, expanded to 20 bytes
Loading Simple Large Objects from an External Table
To load from an external table that contains simple large objects, follow these
steps:
1.
Define an external table with simple-large-object columns. For tables
with simple-large-object columns, you can specify only INFORMIX or
DELIMITED formats. (Use the FORMAT keyword.)
In this example, the external table uses data in delimited format.
CREATE EXTERNAL TABLE extab (
col1 INT,
text1 TEXT EXTERNAL 'TEXT',
byte2 BYTE EXTERNAL 'HEX')
USING (FORMAT 'DELIMITED',
DATAFILES('disk:1:/datafile1'));
External type for simple-large-object columns is optional. TEXT
columns default to external TEXT data types, and BYTE columns
default to external HEX data types. Use quote marks for external data
types. They are case insensitive.
8-38
Informix Administrator’s Reference
Loading Simple Large Objects from an External Table
In this example, the external table uses data in Informix format. Do
not use the EXTERNAL keyword when you define a simple-largeobject column in Informix format.
CREATE EXTERNAL TABLE extab2 (
col1 INT,
t4 TEXT,
b4 BYTE)
USING (FORMAT 'INFORMIX',
DATAFILES('disk:1:/datafile1'));
For information about data-file formats, refer to “Formats for Simple
Large Objects” on page 8-32. For format compatibility among the
various load and unload utilities, refer to the Informix Migration
Guide.
2.
Load or unload the external table.
Load to the internal table as in the following example:
INSERT INTO internal_tab SELECT * FROM extab;
Unload from the external table as in the following example:
INSERT INTO extab SELECT * FROM internal_tab;
When you use delimited format, the database server interprets two adjacent
field delimiters as a simple large object with a null value, not a zero-length
object. The behavior is consistent with that for other data types, such as
VARCHAR. When you unload a simple large object of zero length to an
external table, it is written as two adjacent field delimiters. When you load
the same object back, it becomes null.
When you use Informix format, null and zero-length data have different
values. Simple large objects with null values are represented as having a '-1'
length in the external data file. You can reload the exact value.
Loading with External Tables for Extended Parallel Server 8-39
Using Pipe Staging
Using Pipe Staging
Pipe staging is the process of writing simple large objects to a temporary file
when they are too large to fit in memory. The database server uses staging
with simple large objects when all of the following conditions apply:
■
Simple large objects are read in from a pipe.
Data read in from a pipe does not persist on disk. The database
server does not stage simple-large-object data from disk files because
the data can be retrieved from disk if the row overflows the memory
buffer.
■
The input file is in delimited format and contains simple large objects
with rows that exceed the length of the memory buffer.
Because a table in Informix internal format places simple large
objects after the row rather than in it, the database server does not
stage data when it reads a table with this format.
■
The data read in from a pipe contains rows whose length exceeds the
size of the memory buffer (136 kilobytes).
The database server must reach the end of the row when it evaluates
filters or determines which coserver the row will go to based on the
fragmentation scheme of the table. The database server temporarily
buffers the row.
Using Parallel Execution
The reader thread handles the staging of simple large objects to disk. The
onstat command and the SET EXPLAIN ON output display this reader thread
as the SQL operator xlread, which means load reader.
The database server creates multiple xlread instances on each coserver, but
no more than the number of CPU virtual processors. Figure 8-7 shows how
multiple xlread instances on each coserver might handle the pipe staging.
8-40
Informix Administrator’s Reference
Using Pipe Staging
Pipe
Figure 8-7
Pipe Staging
Pipe
coserver_1
coserver_2
temp_1
temp_1
temp_2
Load Readers
Load Readers
Flow Mgr
Flow Mgr
Load Converters
Load
Converter
Converters
Flow Mgr
Flow Mgr
Insert
Insert
dbspace_1
temp_2
dbspace_2
Using Temporary Space for Pipe Staging of Simple Large Objects
The database server creates multiple xlread instances for parallel execution.
You need temporary space for each xlread instance.
When you load simple large objects from named pipes in delimited format,
you might need to increase the temporary space if the simple large objects are
large. If a delimited row is larger than 136 kilobytes, the load routine stages
it to disk.
Loading with External Tables for Extended Parallel Server 8-41
Using Pipe Staging
The database server uses temporary space for the staging file. You can use
one of the following temporary spaces for the staging files:
■
Temporary dbspaces on the same coserver as the named pipe
The load routine uses these by default. The default value for the
DBSPACETEMP configuration parameter is NOTCRITICAL, which
includes all dbspaces except the root and log dbspaces. The database
server uses temporary dbspaces first among these noncritical
dbspaces.
■
Dbspaces or dbslices
You can specify these in the DBSPACETEMP configuration parameter.
■
DBSPACETEMP environment variable
You can override the DBSPACETEMP configuration parameter with
this environment variable.
For the following reasons, Informix recommends that you use
DBSPACETEMP instead of the PSORT_DBTEMP environment variable to
provide temporary file space:
■
DBSPACETEMP usually yields better performance.
When dbspaces reside on character-special devices (also known as
raw disk devices), the database server uses unbuffered disk access.
I/O is faster to raw devices than to regular (buffered) operatingsystem files because the database server manages the I/O operation
directly.
■
PSORT_DBTEMP specifies one or more operating-system directories
in which to place temporary files.
These operating-system files can unexpectedly fill on your computer
because the database server does not manage them and the database
server utility programs do not monitor them.
8-42
Informix Administrator’s Reference
Using Pipe Staging
To estimate and create temporary space on coservers for pipe staging
1.
The size of the staging file required for each xlread operator instance
is the size of the largest input data row, including its TEXT or BYTE
data. Estimate the number of bytes required for the largest input data
row with the following formula:
bytes_per_xlread = row_size + overhead
Estimate overhead as 34 kilobytes rounded up to the next whole
page for each 34 kilobyte of TEXT or BYTE data. Page size is user
configurable, with a default of 4 kilobytes. With a page size of 4
kilobytes, each 34 kilobytes of data uses 36 kilobytes of temporary
space. Therefore the 40-kilobyte simple large object would require 72
kilobytes of space.
The preceding formula is most accurate for rows larger than 1
megabyte. For smaller rows, the row might overflow the 136kilobyte buffer because part of it might be in the memory buffer
while the rest is in the staging file. With larger rows, the buffer size is
relatively insignificant.
2.
The total temporary space needed on a coserver is the sum of spaces
required for all xlread instances on the coserver. Calculate it with the
following formula:
tempspace_per_coserver = bytes_per_xlread * number_xlr
The number of xlread instances is not more than the number of data
files or the number of CPU virtual processors.
3.
Although you can use standard dbspaces for the temporary files
with the appropriate DBSPACETEMP setup, Informix recommends
you create the temporary dbspace with onutil:
a.
For an even distribution of temporary dbspaces across the
coservers, use the onutil CREATE TEMP DBSLICE option.
b.
For more temporary dbspaces on specific coservers, use the
onutil CREATE TEMP DBSPACE option for each specific coserver.
For information about monitoring temporary space for pipe staging, refer to
“Monitoring Loads and Unloads of Data” on page 8-46.
Loading with External Tables for Extended Parallel Server 8-43
Monitoring the Load or Unload Operations
Monitoring the Load or Unload Operations
You might want to monitor the load or unload operations for the following
situations:
■
If you expect to load and unload the same table often to build a data
mart or data warehouse, monitor the progress of the job to estimate
the time of similar jobs for future use.
■
If you load or unload from named pipes, monitor the I/O queues to
determine if you have a sufficient number of FIFO virtual processors.
■
If you load unusually large simple large objects from named pipes,
monitor the temporary dbspaces.
Monitoring Frequent Loads and Unloads
Use the onstat -g iof command to find out the global file descriptor (gfd) in
the file that you want to examine. Figure 8-8 shows sample output.
AIO global files:
gfd
pathname
totalops
19
/tmp/pipe
dskread
dskwrite
io/s
Figure 8-8
onstat -g iof Output
To determine if the load or unload can use parallel execution, execute the SET
EXPLAIN ON statement prior to the INSERT statement. The SET EXPLAIN
output shows the following counts:
■
Number of parallel SQL operators that the optimizer chooses for the
INSERT statement
■
Number of rows to be processed by each SQL operator
To monitor a load job, first run onstat -g sql to obtain the session ID, and run
onstat -g xmp to obtain the query ID for the session ID. Then you can run
onstat -g xqs query id to obtain the runtime number of rows processed by each
SQL operator that the SET EXPLAIN output listed.
8-44
Informix Administrator’s Reference
Monitoring FIFO Virtual Processors
To obtain statistics for a coserver to which you are not connected or for
multiple coservers, use the xctl utility to execute the onstat command. The
xctl prefix displays onstat information for each coserver that is currently
initialized.
Monitoring FIFO Virtual Processors
You can monitor the effective usage of FIFO VPs with onstat commands.
Use the onstat -g ioq option to display the length of each FIFO queue that is
waiting to perform I/O requests. Figure 8-9 shows sample output.
AIO I/O queues:
q name/id
len maxlen totalops
fifo
0
0
0
0
adt
0
0
0
0
msc
0
0
1
153
aio
0
0
9
3499
pio
0
0
2
3
lio
0
0
2
2159
gfd
3
0
16
39860
gfd
4
0
16
39854
gfd
5
0
1
2
gfd
6
0
1
2
...
gfd 19
0
1
2
dskread dskwrite
0
0
0
0
0
0
1013
77
0
2
0
2158
38
39822
32
39822
2
0
2
0
2
0
dskcopy
0
0
0
0
0
0
0
0
0
0
Figure 8-9
onstat -g ioq Output
0
The q name field in the sample output in Figure 8-9 shows the type of the
queue, such as fifo for a FIFO VP or aio for an AIO VP. If the q name field
shows gfd or gfdwq, it is a queue for a file whose global file descriptor
matches the id field of the output. Disk files have both read and write
requests in one queue. One line per disk file displays in the onstat -g ioq
output. Pipes have separate read and write queues. Two lines per pipe
display in the output: gfd for read requests and gfdwq for write requests.
The len or maxlen field has a value of up to 4 for a load or
4 * number_of_writer_threads for an unload. The xuwrite operator
controls the number of writer threads.
Loading with External Tables for Extended Parallel Server 8-45
Monitoring Loads and Unloads of Data
Use the values in the totalops field rather than the len or maxlen field to
monitor the number of read or write requests done on the file or pipe. The op
field represents 34 kilobytes of data read from or written to the file. If totalops
is not increasing, it means the read or write operation on a file or pipe is
stalled (because the FIFO VPs are busy).
To improve performance, use the onmode -p command to add more FIFO
VPs. The default value for the NUMFIFOVPS configuration parameter is 2 per
coserver. If you define multiple pipes for each coserver, monitor the len field
for the FIFO queue. In this sample output, the FIFO queue does not contain
any data. For example, if you usually define more than two pipes per
coserver to load or unload, increase the number of FIFO VPs with the
following sample onmode command:
onmode -p +2 FIF
For more information, see “Add or Remove Virtual Processors” on page 3-49.
Monitoring Loads and Unloads of Data
You can use the following tools to monitor the load of simple large objects
and other data from named pipes:
■
SET EXPLAIN ON output
■
onstat -g xqs
Using SET EXPLAIN ON Output
To obtain the information that Figure 8-10 shows, you can issue the SET
EXPLAIN ON statement prior to the INSERT statement to load a simple large
object:
8-46
■
The xlread fields show the number of xlread SQL operators on each
coserver. If the data is in fixed or delimited format, the rows_read
field represents the number of 34-kilobyte buffers that xlread has
read.
■
The rows_rej fields show the number of rows that were rejected
during the load.
Informix Administrator’s Reference
Monitoring Loads and Unloads of Data
■
The xlcnv field shows information about the number of rows that the
xlcnv (load converter) has converted and read. If the data is in
Informix format, no data displays in the xlcnv field because no load
converter operator is created.
■
In the XMP Query Plan section, the width field is the total number of
iterator instances on all coservers.
■
The XMP Query Statistics section shows how these instances are laid
out on the coservers and how many rows each instance produces.
Figure 8-10
SET EXPLAIN
Output During the
Load of Simple
Large Objects
XMP Query Plan
oper
segid brid width
-------------------------xlread 2
0
2
xlcnv
2
0
2
insert 1
0
1
XMP Query Statistics
type
segid brid information
-------------------------------xlread 2
0
inst cosvr time rows_read rows_rej
---- ----- ---- --------- -------0
2
8
23
0
1
1
9
23
0
-------------------------------------2
46
0
xlcnv
2
0
insert 1
0
inst cosvr time rows_converted rows_rej
---- ----- ---- ------------- -------0
2
8
20004
0
1
1
9
20004
0
-------------------------------------2
40008
0
inst cosvr time it_count
---- ----- ---- -------0
1
8
40008
--------------------------1
40008
Loading with External Tables for Extended Parallel Server 8-47
Monitoring Loads and Unloads of Data
Using onstat to Monitor Pipe Staging
While the INSERT statement is executing to load simple large objects, you can
use the onstat -g xqs command to display the following statistics:
■
Number of actual xlread SQL operators currently executing on each
coserver
■
Number of rows read and number of rows rejected by each xlread
SQL operator
Because the onstat -g xqs command gathers statistics periodically, the output
might not be accurate. For more information on interpreting the statistics, see
your Performance Guide. Figure 8-11 shows sample output for onstat -g xqs
that is similar to the SET EXPLAIN output in Figure 8-10 on page 8-47.
type
segid
------xlread 2
brid
---0
insert 1
0
8-48
information
----------inst cosvr time rows_read rows_rej
---- ----- ---- --------- -------0
2
4
16
0
1
2
5
14
0
----------------------------------2
30
0
inst cosvr time it_count
---- ----- ---- -------1
2
4
15
------------------------2
15
Informix Administrator’s Reference
Figure 8-11
onstat -g xqs Output
Recovering After Errors
Recovering After Errors
This section describes how to use the reject file, error messages, and recoverability if the load or unload operation fails.
Reject Files
Rows that have conversion errors during a load or rows that violate check
constraints defined on the external table are written to a reject file on the
coserver that performs the conversion. Each coserver manages its own reject
file. The REJECTFILE keyword in the CREATE EXTERNAL TABLE statement
determines the name given to the reject file on each coserver.
Instead of using a reject file, you can use the MAXERRORS keyword in the
CREATE EXTERNAL TABLE statement to specify the number of errors that are
allowed per coserver before the database server stops the load. (If you do not
set MAXERRORS, the database server processes all data regardless of the
number of errors.)
You can use the formatting characters %c and %n (but not %r) in the reject
filename. Use the %c formatting characters to make the filenames unique.
You must use %c if multiple coservers reside on one node. Each coserver
must have its own reject file or other coservers will overwrite the data. The
database server removed the reject files, if any, at the beginning of a load. The
reject files are re-created and written only if errors occur during the load.
Loading with External Tables for Extended Parallel Server 8-49
Reject Files
Reject file entries are single lines with the following comma-separated fields:
coserver-number, filename, record, reason-code, field-name: bad-line
Field
Description
coserver-number
Number of the coserver from which the file is read
filename
Name of the input file
record
Record number in the input file where the error was detected
reason-code
Description of the error
field-name
The external field name where the first error in the line
occurred or <none> if the rejection is not specific to a particular
column
bad-line
For delimited or fixed-ASCII files only, the bad line itself
The load operation writes coserver-number, filename, record, field-name, and
reason-code in ASCII.
The bad-line information varies with the type of input file:
8-50
■
For delimited files or fixed-ASCII files, the entire bad line is copied
directly into the reject file. However, if the delimited format table has
TEXT or BYTE columns, the reject file does not include any bad data.
The load operation generates only a header for each rejected row.
■
For Informix internal data files, the bad line is not placed in the reject
file because you cannot edit the binary representation in a file.
However, coserver-number, filename, record, reason-code, and field-name
are still reported in the reject file so that you can isolate the problem.
Informix Administrator’s Reference
Error Messages
The following types of errors can cause a row to be rejected.
Error Type
Description
CONSTRAINT constraint name This constraint was violated.
CONVERT_ERR
Any field encounters a conversion error.
MISSING_DELIMITER
No delimiter was found.
MISSING_RECORDEND
No record end was found.
NOT NULL
A null was found in field-name.
ROW_TOO_LONG
The input record is longer than 64 kilobytes.
For INFORMIX format, if the data file contains simple-large-object columns,
the load query terminates on the first data error, even if you specify a reject
file. In this format, a complete row precedes the TEXT or BYTE data, and the
database server might not detect an error until it inserts the row. The database
server does not undo such insertions and terminates the whole statement.
For DELIMITED format, the rejection behavior is the same whether or not the
table has simple-large-object columns. The reader thread scans the entire row,
which includes the simple-large-object columns, before it submits the row for
insertion. The reader thread detects any bad data and rejects it, and the load
continues.
Error Messages
Most of the relevant error messages are in the -23700 to -23799 range.
Additional messages are -615, -999, -23852, and -23855. In the messages,
c macro, n macro, and r macro refer to the values generated from the substitution characters %c, %n, and %r(first..last). For a list of error messages, refer
to Informix Error Messages in Answers OnLine or use the finderr utility. For
information on the violations table error messages, see Chapter 5, “MessageLog Messages.”
Loading with External Tables for Extended Parallel Server 8-51
Recoverability of Table Types
Recoverability of Table Types
The database server checks the recoverability level of the table during a load:
■
If the table type is RAW, the database server can use light-append (or
express) mode to load data and process check constraints. If the
database server crashes during the load, the data loaded is not rolled
back, and the table might be left in an unknown state.
■
If the table type is STATIC, the database server cannot load the data
at all.
■
If the table type is OPERATIONAL, the database server can roll back
to the preload state if the database server fails. If you want to have
complete recoverability of the table without reloading the data, you
must run a level-0 backup after the load.
■
Only deluxe mode supports data recoverability. Deluxe mode uses
logged, regular inserts. To recover data after a failed express-mode
load, revert to the most recent level-0 backup. The table type must be
STANDARD for this level of recoverability.
For more information on fast recovery of table types, see the chapter on fast
recovery in the Administrator’s Guide. For information on restoring table
types, see the Backup and Restore Guide.
8-52
Informix Administrator’s Reference
Appendix
Files That the Database
Server Uses
This appendix provides brief summaries of the files that you use
when you configure and use the database server. It also includes
descriptions of files (and one directory) created and used internally by the database server. For many of these files, your only
responsibilities are to recognize that those files are legitimate
and refrain from deleting them.
Pathnames that appear in the following format indicate files that
reside on UNIX: /directory/filename. Pathnames that appear in
the following format indicate files that reside on Windows NT:
\directory\filename.
In some cases, environment variables are used to specify the
initial pathname of a file. On UNIX, references to environment
variables begin with a dollar sign: $INFORMIXDIR. On
Windows NT, references to environment variables begin and end
with percent signs: %INFORMIXDIR%.
A
Database Server Files
Database Server Files
Figure A-1 lists the database server files and the directories in which they
reside.
Figure A-1
List of Files That the Database Server Uses
Filename
Directory
Purpose
Created
af.xxx
Specified by DUMPDIR
configuration
parameter
Assertion-failure
information
By the database server
ac_msg.log (IDS)
/tmp,
archecker message log (for
Informix Technical Support)
By the database server
%INFORMIXDIR%\etc
ac_config.std (IDS)
$INFORMIXDIR/etc,
%INFORMIXDIR%\etc
Template for archeckerparameter values
By the database server
bar_act.log
/tmp,
ON-Bar activity log
By ON-Bar
%INFORMIXDIR%\etc
bldutil.process_id
/tmp,
\tmp
Error messages about the
sysutils database appear in
this file.
By the database server
buildsmi.xxx
/tmp,
Error messages about SMI
database
By the database server
The onsnmp utility uses this
file to obtain the database
server configuration.
By the database server
%INFORMIXDIR%\etc
.conf.dbservername
core
Directory from which
the database server
was invoked
Core dump
By the database server
Emergency boot files
(For filenames, see
page A-7.)
$INFORMIXDIR/etc,
%INFORMIXDIR%\etc
Used in a cold restore
By ON-Bar
gcore (UNIX)
Specified by DUMPDIR
configuration
parameter
Assertion failure information By the database server
(1 of 4)
A-2 Informix Administrator’s Reference
Database Server Files
Filename
Directory
Purpose
Created
illlsrra.xx
$INFORMIXDIR/lib,
%INFORMIXDIR%\lib
Shared libraries for the
database server and some
utilities
By install procedure
.informix (UNIX)
User’s home directory
Set personal environment
variables
By the user
informix.rc (UNIX)
$INFORMIXDIR/etc
Set default environment
variables for all users
By the database
administrator
INFORMIXTMP
/tmp,
\tmp
Temporary directory for
internal files
By the database server
.inf.servicename
/INFORMIXTMP,
drive:\INFORMIXTMP
Connection information
By the database server
.infos.dbservername
$INFORMIXDIR/etc,
%INFORMIXDIR%\etc
Connection information
By the database server
.infxdirs
/INFORMIXTMP,
drive:\INFORMIXTMP
Database server discovery
file that onsnmp use
By the database server
InstallServer.log
(IDS, WIN NT)
C:\temp
Database server installation
log.
By the database server
ISM catalog
$INFORMIXDIR/ism,
%ISMDIR%
Records saved backup
objects and storage volumes
that Informix Storage
Manager (ISM) uses
By ISM
ISM logs
$INFORMIXDIR
Operator alert messages,
backend status, additional
ISM information
By ISM
/ism/logs,
%ISMDIR%\logs
ISMversion
$INFORMIXDIR/ism,
%ISMDIR%
ISM version
During installation
The message log
Specified by MSGPATH
configuration
parameter
Error messages and status
information
By the database server
The ONCONFIG file
$INFORMIXDIR/etc,
%INFORMIXDIR%\etc
Configuration information
By the database
administrator
(2 of 4)
Files That the Database Server Uses
A-3
Database Server Files
Filename
Directory
Purpose
Created
onconfig
$INFORMIXDIR/etc,
%INFORMIXDIR%\etc
Default ONCONFIG file
(optional)
By the database server
administrator
onconfig.std
$INFORMIXDIR/etc
Template for configurationparameter values
During installation
onconfig.xps (XPS)
$INFORMIXDIR/etc
Template for multiplecoserver ONCONFIG file
During installation
oncfg_servername.
servernum (IDS)
$INFORMIXDIR/etc,
%INFORMIXDIR%\etc
Configuration information
for whole-system restores
By the database server
oncfg_servername.
servernum.coserverid
(XPS)
$INFORMIXDIR/etc
Information for ON-Bar
restores
By the database server
onsnmp.servername.co
servernum.log (XPS)
/tmp,
\tmp
Log file that the onsnmp
subagent uses.
By onsnmp
/tmp,
\tmp
Log file for the database
server daemon onsrvapd.
By onsnmp
Command qualifier values
for ON-Archive
By the database server
onsnmp.servername
(IDS)
onsrvapd.log
oper_deflt.arc
(IDS, UNIX)
postInstall.tmp (XPS)
/tmp
Output from the postinstall
script.
By the database server.
servicename.exp
/INFORMIXTMP,
drive:\INFORMIXTMP
Connection information
By the database server
servicename.str
/INFORMIXTMP,
drive:\INFORMIXTMP
Connection information
By the database server
shmem.xxx (UNIX)
Specified by DUMPDIR
configuration
parameter
Assertion-failure
information
By the database server
sm_versions.std
$INFORMIXDIR/etc,
%INFORMIXDIR%\etc
Identifies storage manager in
use.
During installation
(3 of 4)
A-4 Informix Administrator’s Reference
Descriptions of Files
Filename
Directory
Purpose
Created
snmpd.log
/tmp,
\tmp
Log file for the SNMP master
agent, snmpdm.
By onsnmp.
sqlhosts (UNIX)
$INFORMIXDIR/etc
Connection information;
contained in the registry on
Windows NT.
During installation;
modified by the
database server
administrator
VP.servername.nnx
/INFORMIXTMP,
drive:\INFORMIXTMP
Connection information
By the database server
xbsa.messages
$INFORMIXDIR
XBSA library call information By ISM
/ism/applogs,
%ISMDIR%\applogs
xcfg_servername.
servernum (XPS)
$INFORMIXDIR/etc
Internal configuration information for ON-Bar restores
By the database server
(4 of 4)
Descriptions of Files
This section provides short descriptions of the files listed in Figure A-1.
af.xxx
The database server writes information about an assertion failure to the
af.xxx file. The file is stored in the directory that the DUMPDIR configuration
parameter specifies. For more information, see the information on
monitoring for data inconsistency in your Administrator’s Guide.
IDS
ac_msg.log
When you use archecker with ON-Bar to verify a backup, it writes brief status
and error messages to the ON-Bar activity log and writes detailed status and
error messages to the archecker message log (ac_msg.log). Informix
Technical Support uses the archecker message log to diagnose problems with
backups and restores.
Files That the Database Server Uses
A-5
ac_config.std
You specify the location of the archecker message log with the AC_MSGPATH
configuration parameter. For more information, see the Backup and Restore
Guide.
IDS
ac_config.std
The ac_config.std file contains the default archecker (archive checking)
utility parameters. To use the template, copy it into another file, and modify
the values. For a comprehensive list of the archecker parameters and how to
use archecker with ON-Bar, see the Backup and Restore Guide.
bar_act.log
As ON-Bar backs up and restores data, it writes progress messages, warnings,
and error messages to the ON-Bar activity log (bar_act.log). You specify the
location of the ON-Bar activity log with the BAR_ACT_LOG configuration
parameter. For more information, see the Backup and Restore Guide.
bldutil.process_id
If the database server cannot build the sysutils database, it creates the
bldutil.<process_id> file which contains the error messages. The process_id
value is the process ID of the bldutil.sh program. To access this output file,
specify ${RESFILE}.
buildsmi.xxx
If the database server cannot build the sysmaster database, it places a
message in the message log that refers you to the buildsmi.xxx file. This file
provides information about why the build failed. For information about the
sysmaster database, refer to Chapter 2, “The sysmaster Database.”
.conf.dbservername
The .conf.dbservername file is created when you initialize the database
server. The onsnmp utility queries this file to find out the configuration status
of the database server. Do not delete this file.
A-6 Informix Administrator’s Reference
core
core
The core file contains a core dump caused by an assertion failure. The
database server writes this file to the directory from which the database
server was invoked. For more information on monitoring for data inconsistency, see the chapter on consistency checking in the Administrator’s Guide.
Emergency Boot Files for ON-Bar
The ON-Bar emergency boot files contain the information needed to perform
a cold restore, and are updated after every backup. For details, see the Backup
and Restore Guide.
XPS
IDS
UNIX
You can specify the location of the emergency boot files with the
BAR_BOOT_DIR configuration parameter. The filenames for the emergency
boot files are as follows:
■
Bixbar_hostname.servernum (backup boot file)
■
Mixbar_hostname.servernum (merge boot file)
■
Rixbar_hostname.servernum (restore boot file) ♦
The filename for the Dynamic Server emergency boot file is
ixbar_hostname.servernum. ♦
gcore.xxx
The database server writes information about an assertion failure to the
gcore.xxx file. The file is stored in the directory specified by the DUMPDIR
configuration parameter. For more information on monitoring for data inconsistency, see the chapter on consistency checking in the Administrator’s Guide.
illlsrra.xx
The illlsrra.xx files are shared libraries that the database server and some
database server utilities use. The shared libraries, if supported on your
platform, are installed in $INFORMIXDIR/lib or %INFORMIXDIR%\lib.
Files That the Database Server Uses
A-7
~/.informix
The naming convention of the Informix shared library filename is as follows:
illlsrra.xx
UNIX
lll
library class (for example, asf or smd)
s
library subclass (d=DSA; s=standard)
rr
major release number (for example, 07 or 08)
a
library version ID (for example, a or b)
xx
shared-library filename extension (for example, so)
Symbolic links to these files are automatically created in /usr/lib when the
products are installed on your computer.
Important: The symbolic links to the shared libraries in /usr/lib are automatically
created by the product installation procedures. However, if your $INFORMIXDIR is
not installed using the standard installation method (for example, your
$INFORMIXDIR is NFS-mounted from another computer or node), you or your
system administrator might need to create manually the symbolic links of the shared
libraries in /usr/lib. ♦
~/.informix
The ~/.informix file is the private-environment file. Users can create this file
and store it in their home directory. The Informix Guide to SQL: Reference
discusses the environment-configuration files.
UNIX
informix.rc
The /informix.rc file is the environment-configuration file. You can use it to set
environment variables for all users of Informix products. The Informix Guide
to SQL: Reference discusses the environment-configuration files.
A-8 Informix Administrator’s Reference
INFORMIXTMP
INFORMIXTMP
The INFORMIXTMP directory is an internal database server directory. During
initialization, the database server creates this directory (if it does not exist
yet) for storing internal files that must be local and relatively safe from
deletion. onsnmp uses the files in the INFORMIXTMP directory.
.inf.servicename
The database server creates the .inf.servicename file if any DBSERVERNAME
or DBSERVERALIASES uses a shared-memory connection type. The database
server removes the file when you take the database server off-line. The name
of this file is derived from the servicename field of the sqlhosts file or registry.
The database server keeps information about client/server connections in
this file. You do not use the .inf.servicename file directly. You only need to
recognize that it is a legitimate file when it appears in the INFORMIXTMP
directory.
If this file is accidentally deleted, you must restart the database server.
.infos.dbservername
The database server creates the .infos.dbservername file when you initialize
shared memory and removes the file when you take the database server offline. This file resides in $INFORMIXDIR/etc or %INFORMIXDIR%\etc. The
name of this file is derived from the DBSERVERNAME parameter in the
ONCONFIG configuration file.
The database server and onsnmp use the .infos.dbservername file for
database server discovery. The database server uses this file to attach to
utilities such as onstat, so do not delete it.
Files That the Database Server Uses
A-9
.infxdirs
.infxdirs
The database server maintains an .infxdirs file in the INFORMIXTMP
directory. This file contains a line for every INFORMIXDIR from which a
database server has been launched. If you remove the .infxdirs file, onsnmp
cannot discover any database servers until the next time you restart the
database server. Each time you restart the database server, it re-creates the
.infxdirs file.
XPS
IDS, WIN NT
InstallServer.log
The database server creates the InstallServer.log during installation.
ISM Catalog
ISM creates the ISM catalog during the ism_startup initialization. The ISM
catalog records information about backup and restore save sets and about
storage volumes that the storage manager uses. The ISM catalog records are
stored in the mm, index, and res files in the $INFORMIXDIR/ism or
%ISMDIR%\ism directory. For more information, see the Informix Storage
Manager Administrator’s Guide.
ISM Logs
ISM creates several logs during ON-Bar backup and restore operations. The
message window in the ISM Administrator GUI displays messages from these
logs.
Log
Description
daemon.log
ISM backend status
messages
Operator alert messages
summary
Additional ISM information
For more information, see the Informix Storage Manager Administrator’s Guide.
A-10 Informix Administrator’s Reference
ISMversion
ISMversion
The ISMversion file, which is installed with the database server, identifies the
ISM version. Do not edit this file.
The Message Log
The database server writes status and error information to the message-log
file. You specify the filename and location of the message log with the
MSGPATH configuration parameter. For more information, refer to
“MSGPATH” on page 1-93.
onconfig.std
The onconfig.std file serves as the template for creating the ONCONFIG
configuration file. To use the template, copy it to another file and modify the
values.
XPS
The onconfig.std file also serves as the template for single-coserver
ONCONFIG files that you create. ♦
Important: Do not modify onconfig.std. The database server uses values listed in
this file when those values are missing from the ONCONFIG file.
“Sample onconfig.std File” on page A-17 shows the contents of the
onconfig.std file. For an overview, see the chapter on configuration parameters in the Administrator’s Guide. For a comprehensive list of the ONCONFIG
parameters, see Chapter 1, “Configuration Parameters.”
XPS
onconfig.xps
The onconfig.xps file serves as the template for multiple-coserver ONCONFIG
files that you create. To use the template, copy it into another file, and modify
the values.
“Sample onconfig.xps File” on page A-26 shows the contents of the
onconfig.xps file. The Administrator’s Guide provides an overview of the
additional parameters required for a multiple-coserver configuration. For a
comprehensive list of the ONCONFIG parameters, see Chapter 1, “Configuration Parameters.”
Files That the Database Server Uses
A-11
The ONCONFIG File
The ONCONFIG File
The current configuration file is the %INFORMIXDIR%\etc\%ONCONFIG% or
$INFORMIXDIR/etc/$ONCONFIG file. The database server uses the
ONCONFIG file during initialization.
If you start the database server with oninit and do not explicitly set the
ONCONFIG environment variable, the database server looks for configuration values in the onconfig.std file. If no onconfig.std file exists, the
database server returns the following error message:
WARNING: Cannot access configuration file $INFORMIXDIR/etc/$ONCONFIG.
For more information on the order of files where the database server looks for
configuration values during initialization, refer the material on initializing
the database server in the Administrator’s Guide.
For more information on setting up your ONCONFIG file, refer to the
materials on installing and configuring the database server in the Administrator’s Guide.
onconfig
The onconfig file is an optional file that you create in the $INFORMIXDIR/etc
or %INFORMIXDIR%\etc directory. The onconfig file is the default configuration file if the ONCONFIG environment variable is not set. For more
information, refer to processing the configuration file in the Administrator’s
Guide.
To create the onconfig file, you can copy onconfig.std or one of your
customized configuration files. For more information on setting up your
ONCONFIG file, refer to installing and configuring the database server in the
Administrator’s Guide.
A-12 Informix Administrator’s Reference
oncfg_servername.servernum
oncfg_servername.servernum
The database server creates the oncfg_servername.servernum file in the
$INFORMIXDIR/etc or %INFORMIXDIR%\etc directory when you initialize
disk space. The database server updates the file every time that you add or
delete a dbspace, a logical-log file, or a chunk. The database server uses the
oncfg_servername.servernum file when it salvages logical-log files during a
whole-system restore. The database server derives the name of this file from
the values of the DBSERVERNAME and SERVERNUM parameters in the
ONCONFIG configuration file.
The database server uses the oncfg_servername.servernum files, so do not
delete them. For more information, refer to creating the
oncfg_servername.servernum file in the Administrator’s Guide and the Backup
and Restore Guide.
XPS
On Extended Parallel Server, the oncfg* filenames include the coserver ID:
oncfg_servername.servernum.coserverid.
onsnmp.servername
The onsnmp subagent uses this log file. For more information, see the
Informix SNMP Subagent Guide. This log file is called onsnmp.servername on
Dynamic Server or onsnmp.servername.coservername on Extended Parallel
Server.
onsrvapd.log
The onsrvapd daemon uses this log file. For more information, see the
Informix SNMP Subagent Guide.
IDS
UNIX
oper_deflt.arc
The oper_deflt.arc file contains default command qualifier values that
ON-Archive uses. Your Archive and Backup Guide describes the oper_dflt.arc
file.
Files That the Database Server Uses
A-13
PostInstall.tmp
Users can set the ARC_DEFAULT environment variable to point to a file that
contains personal defaults that are different from the defaults in the
oper_deflt.arc file.
XPS
PostInstall.tmp
After the database server is installed, the installation server runs the
postinstall script and writes the output to the PostInstall.tmp file in the tmp
directory. If you receive error messages after installation, review this file to
see what went wrong.
XPS
servicename.exp
The database server creates a servicename.exp file on some platforms if any
DBSERVERNAME or DBSERVERALIASES uses a stream-pipe connection type.
This file is used for handling expedited data, which occurs when the client
program issues sqlbreak() or the user enters CTRL-C. The database server
removes the file when you take the database server off-line. The name of this
file is derived from the servicename field of the sqlhosts file or registry.
You do not use the servicename.exp file directly. You only need to recognize
that it is a legitimate file when it appears in the INFORMIXTMP directory.
servicename.str
The database server creates the servicename.str file if any DBSERVERNAME or
DBSERVERALIASES uses a stream-pipe connection type. The database server
removes the file when you take the database server off-line. The name of this
file is derived from the servicename field of the sqlhosts file or registry.
The database server keeps information about client/server connections in
this file. You do not use the .inf.servicename.str file directly. You only need to
recognize that it is a legitimate file when it appears in the INFORMIXTMP
directory.
If this file is accidentally deleted, you must restart the database server.
A-14 Informix Administrator’s Reference
shmem.xxx
UNIX
shmem.xxx
The database server writes information about an assertion failure to the
shmem.xxx file. The file is stored in the directory that the DUMPDIR configuration parameter specifies. For more information on monitoring for data
inconsistency, see the chapter on consistency checking in the Administrator’s
Guide.
sm_versions.std
The sm_versions.std file is a template for the sm_versions file that you
create. The sm_versions file contains a line identifying the current storagemanager version.
The storage manager uses the data in the sm_versions file (no .std suffix). If
you need to update the storage-manager version, you can edit the
sm_versions file directly, run the ism_startup script. For more information,
see the Backup and Restore Guide.
snmpd.log
The SNMP master agent, snmpdm uses this log file. For more information, see
the Informix SNMP Subagent Guide.
sqlhosts
UNIX
WIN NT
The sqlhosts file is the connectivity file on UNIX platforms. It contains information that lets an Informix client connect to an Informix database server. For
more information on the sqlhosts file, see client/server communications in
the Administrator’s Guide. ♦
On Windows NT, the connectivity information is in the
HKEY_LOCAL_MACHINE\SOFTWARE\Informix\SQLHOSTS key in the
Windows registry. ♦
Files That the Database Server Uses
A-15
VP.servername.nnx
VP.servername.nnx
The database server creates the VP.servername.nnx file, if needed, when you
initialize shared memory. The name of this file comes from DBSERVERNAME
or DBSERVERALIASES in the ONCONFIG file, the VP number (nn), and an
internal identifier (x).
The database server keeps information about client/server connections in the
VP.servername.nnx file. You do not use the file directly. You only need to
recognize that it is a legitimate file.
If this file is accidentally deleted, you must restart the database server.
xbsa.messages
The xbsa.messages log contains XBSA library call information. ON-Bar and
ISM use XBSA to communicate with each other. Informix Technical Support
would use the xbsa.messages log to diagnose problems with ON-Bar and ISM
communications.
XPS
xcfg_servername.servernum
The database server creates the xcfg_servername.servernum.coserverid file,
which contains information about coserver location and dbslice definitions.
A-16 Informix Administrator’s Reference
Sample onconfig.std File
Sample onconfig.std File
The following files are sample copies of the onconfig.std file. Some of the
values might be different from the ones in your onconfig.std file because
some values are platform dependent.
IDS
This onconfig.std file is for Dynamic Server.
#*******************************************************************************
#
#
INFORMIX SOFTWARE, INC.
#
# Title:onconfig.std
# Description: Informix Dynamic Server 2000 Configuration Parameters
#
#*******************************************************************************
# Root Dbspace Configuration
ROOTNAME
ROOTPATH
ROOTOFFSET
ROOTSIZE
rootdbs
/dev/online_root
0
30000
#
#
#
#
Root dbspace name
Path for device containing root dbspace
Offset of root dbspace into device (Kbytes)
Size of root dbspace (Kbytes)
# Disk Mirroring Configuration Parameters
MIRROR
MIRRORPATH
MIRROROFFSET
0
0
# Mirroring flag (Yes = 1, No = 0)
# Path for device containing mirrored root
# Offset into mirrored device (Kbytes)
# Physical Log Configuration
PHYSDBS
PHYSFILE
rootdbs
2000
# Location (dbspace) of physical log
# Physical log file size (Kbytes)
# Logical Log Configuration
LOGFILES
LOGSIZE
6
1500
# Number of logical log files
# Logical log size (Kbytes)
# Diagnostics
MSGPATH
CONSOLE
ALARMPROGRAM
TBLSPACE_STATS
/usr/informix/online.log
/dev/console
/usr/informix/etc/log_full.sh
1
# System message log file path
# System console message path
# Alarm program path
# Maintain tblspace statistics
Files That the Database Server Uses
A-17
Sample onconfig.std File
# System Archive Tape Device
TAPEDEV
dev/tapedev
TAPEBLK
16
TAPESIZE
10240
# Tape device path
# Tape block size (Kbytes)
# Maximum amount of data to put on tape (Kbytes)
# Log Archive Tape Device
LTAPEDEV
LTAPEBLK
LTAPESIZE
dev/tapedev
16
10240
# Log tape device path
# Log tape block size (Kbytes)
# Max amount of data to put on log tape (Kbytes)
# Optical
STAGEBLOB
# Optical Subsystem staging area
# System Configuration
SERVERNUM
0
DBSERVERNAME
DBSERVERALIASES
NETTYPE
DEADLOCK_TIMEOUT
60
RESIDENT
0
# Unique id corresponding to a database server instance
# Name of default database server
# List of alternate dbservernames
# Override sqlhosts nettype parameters
# Max time to wait of lock in distributed env.
# Forced residency flag (Yes = 1, No = 0)
MULTIPROCESSOR
NUMCPUVPS
SINGLE_CPU_VP
0
1
0
# 0 for single-processor, 1 for multi-processor
# Number of user (cpu) vps
# If non-zero, limit number of cpu vps to one
NOAGE
AFF_SPROC
AFF_NPROCS
0
0
0
# Process aging
# Affinity start processor
# Affinity number of processors
# Shared Memory Parameters
LOCKS
BUFFERS
NUMAIOVPS
PHYSBUFF
LOGBUFF
LOGSMAX
CLEANERS
SHMBASE
SHMVIRTSIZE
SHMADD
SHMTOTAL
CKPTINTVL
LRUS
LRU_MAX_DIRTY
LRU_MIN_DIRTY
LTXHWM
LTXEHWM
TXTIMEOUT
STACKSIZE
A-18 Informix Administrator’s Reference
2000
1000
32
32
6
1
8000
8192
0
300
8
60
50
50
60
300
32
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
Maximum number of locks
Maximum number of shared buffers
Number of asynchronous I/O VPs
Physical-log buffer size (Kbytes)
Logical-log buffer size (Kbytes)
Maximum number of logical-log files
Number of buffer cleaner processes
Shared memory base address (platform dependent)
Initial virtual shared memory segment size
Size of new shared memory segments (Kbytes)
Total shared memory (Kbytes). 0=>unlimited
Check point interval (in seconds)
Number of LRU queues
LRU percent dirty begin cleaning limit
LRU percent dirty end cleaning limit
Long transaction high water mark percentage
Long transaction high water mark
Transaction timeout (in seconds)
Stack size (Kbytes)
Sample onconfig.std File
# System Page Size
# BUFFSIZE - The database server no longer supports this configuration parameter.
#
To determine the page size used by the database server on your platform,
#
see the last line of output from the command, 'onstat -b'.
#
#
#
#
#
Recovery Variables
OFF_RECVRY_THREADS:
Number of parallel worker threads during fast recovery or an offline restore.
ON_RECVRY_THREADS:
Number of parallel worker threads during an online restore.
OFF_RECVRY_THREADS 10
ON_RECVRY_THREADS 1
# Default number of offline worker threads
# Default number of online worker threads
# Data Replication Variables
DRINTERVAL
30
# DR max time between DR buffer flushes (secs)
DRTIMEOUT
30
# DR network timeout (in sec)
DRLOSTFOUND
/usr/informix/etc/dr.lostfound
# DR lost+found file path
Enterprise Replication Variables
CDR_EVALTHREADS
1,2
# Evaluator threads (per-cpu-vp, additional)
CDR_DSLOCKWAIT
5
# DS lockwait timeout (seconds)
CDR_QUEUEMEN
4096
# Maximum amount of memory for any ER queue (Kbytes)
CDR_LOGDELTA
30
# Percentage of log space allowed in queue memory
CDR_NUMCONNECT
16
# Expected connections per server
CDR_NIFRETRY
300
# Connection retry (seconds)
CDR_NIFCOMPRESS
0
# Link level compression
# (-1 = never, 0 = none, 9 = max)
# Backup/Restore Variables
BAR_ACT_LOG
/tmp/bar_act.log # File for errors, warnings, and messages
BAR_MAX_BACKUP
0
# Number of processes to start for backup or restore
BAR_RETRY
1
# Number of times to retry failures
BAR_NB_XPORT_COUNT 10
# Number of transport buffersr
BAR_XFER_BUF_SIZE
31
# Size of each transport buffer
RESTARTABLE_RESTORE OFF
# 1 = enables restartable restore,
# 0 = turns off restartable restore
BAR_HISTORY
0
# ON-Bar message history level
BAR_PROGRESS_FREQ
0
# ON-Bar progress output interval
BAR_BSALIB_PATH
/usr/lib/ibsad001.so # Full pathname of storage-manager
# XBSA shared library (platform dependent)
# Informix Storage Manager Variables
ISM_DATA_POOL
ISMData
# Default volume pool for spaces
ISM_LOG_POOL
ISMLogs
# Default volume pool for logical-log files
# Read Ahead Variables
RA_PAGES
RA_THRESHOLD
# Number of pages to attempt to read ahead
# Number of pages left before next group
Files That the Database Server Uses
A-19
Sample onconfig.std File
#
#
#
#
#
#
DBSPACETEMP:
The list of dbspaces that the database server SQL engine will use to create temp
tables. If specified,it must be a colon-separated list of dbspaces that exist
when the database serveris brought on-line. If not specified, or if all dbspaces
specified are invalid, various ad hoc queries will create temporary files in /tmp
instead.
DBSPACETEMP
#
#
#
#
#
# Default temp dbspaces
DUMP*:
The following parameters control the type of diagnostics information which
is preserved when an unanticipated error condition (assertion failure) occurs
during database server operations.
For DUMPSHMEM, DUMPGCORE and DUMPCORE 1 means Yes, 0 means No.
DUMPDIR
DUMPSHMEM
DUMPGCORE
DUMPCORE
DUMPCNT
/tmp
1
0
0
1
#
#
#
#
#
#
#
Preserve diagnostics in this directory
Dump a copy of shared memory
Dump a core image using 'gcore'
Dump a core image (Warning: this
aborts the database server
Number of shared memory or gcore dumps
for a single user's session
# Index Fill Factor
FILLFACTOR
90
# Fill factor for building indexes
# Method for the database server to use when determining current time
USEOSTIME
0
# 0: use internal time (fast),
# 1: get time from OS (slow)
# Parallel Database Queries (pdq)
MAX_PDQPRIORITY 100
# Maximum allowed pdqpriority
DS_MAX_QUERIES
# Maximum number of decision-support queries
DS_TOTAL_MEMORY
# Decision-support memory (Kbytes)
DS_MAX_SCANS
1048576
# Maximum number of decision-support scans
DATASKIP
# List of dbspaces to skip
# OPTCOMPIND
# 0 => Nested loop joins are preferred (where possible) over sortmerge
#
joins and hash joins.
# 1 => If the transaction isolation mode is not "repeatable read", optimizer
#
behaves as in (2) below. Otherwise it behaves as in (0) above.
# 2 => Use costs regardless of the transaction isolation mode. Nested
#
loop joins are not necessarily preferred. Optimizer bases its
#
its decision purely on costs.
OPTCOMPIND
2
# To hint the optimizer
DIRECTIVES
1
# Optimizer DIRECTIVES (1 = ON, 0 = OFF)
ONDBSPACEDOWN
2
LBU_PRESERVE
OPCACHEMAX
0
0
A-20 Informix Administrator’s Reference
#
#
#
#
Dbspace down option: 0 = CONTINUE,
1 = ABORT, 2 = WAIT
Preserve last log for log backup
Maximum optical cache size (Kbytes)
Sample onconfig.std File
HETERO_COMMIT
0
# Gateway participation in distributed transactions
# 1 => Heterogeneous Commit is enabled
# 0 (or any other value) => Heterogeneous Commit is disabled
SBSPACENAME
#
#
#
#
SYSSBSPACENAME
BLOCKTIMEOUT
SYSALARMPROGRAM
OPT_GOAL
ALLOW_NEWLINE
Default smart large object space name i
f no sbspace specified
Default smart large object space name for
statistics collection
3600
# Default timeout for system block
/usr/informix/etc/evidence.sh
# System alarm program path
-1
0
# Optimization goal:
# -1 = ALL_ROWS (default), 0 = FIRST_ROW
# embedded newlines
# (Yes = 1, No = 0 or anything but 1)
# The following are default settings for enabling Java in the database.
# Replace all occurrences of /usr/informix with $INFORMIXDIR.
#VPCLASS
JVPJAVAHOME
JVPHOME
jvp,num=1
# Number of JVPs to start
/usr/java
# JDK installation root directory
/usr/informix/extend/krakatoa
# Krakatoa installation directory
JVPPROPFILE
JVPLOGFILE
/usr/informix/extend/krakatoa/.jvpprops
/usr/informix/jvp.log
JDKVERSION
JVMTHREAD
1.1
native
# JVP property file
# JVP log file.
# JDK version (1.1 vs. 1.2)
# Java VM thread type (green or native)
# The path from JVPJAVAHOME to the JDK libraries
JVPJAVALIB
/lib/sparc/native_threads
# The JDK libraries to use for the Java VM (use _g version for debugging)
# JVPJAVAVM
JVPJAVAVM
java:net:zip:mmedia:jpeg:sysresource
java_g:net_g:zip_g:mmedia_g:jpeg_g:sysresource_g
# Class path to use upon Java VM start-up (use _g version for debugging)
# JVPCLASSPATH
/usr/informix/extend/krakatoa/krakatoa.jar:/usr/informix/extend/krakatoa/
jdbc.jar
JVPCLASSPATH
/usr/informix/extend/krakatoa/krakatoa_g.jar:/usr/informix/extend/krakatoa/
jdbc_g.jar
♦
Files That the Database Server Uses
A-21
Sample onconfig.std File
XPS
This onconfig.std file is for Extended Parallel Server.
#*******************************************************************************
#
#
INFORMIX SOFTWARE, INC.
#
# Title:
onconfig.std
# Sccsid:
@(#)onconfig.std
9.24
9/30/93 10:04:32
# Description: Extended Parallel Server Configuration Parameters
#
#**************************************************************************
# Root Dbspace Configuration
ROOTNAME
ROOTPATH
ROOTOFFSET
#
#
#
#
#
#
rootdbs
# Root dbspace name
/dev/online_root # Path for device containing root dbspace
0
# Offset of root dbspace into device (Kbytes)
On some UNIX platforms, it is an error to set ROOTOFFSET to 0.
When this parameter is incorrectly set, you might have to
reinitialize the disk space and reload the data before
resuming proper operation of the database server.
Always check the machine notes to get machine-specific information
before setting your configuration parameters.
ROOTSIZE
20000
# Size of root dbspace (Kbytes)
# Disk Mirroring Configuration Parameters
MIRROR
MIRRORPATH
MIRROROFFSET
0
0
# Mirroring flag (Yes = 1, No = 0)
# Path for device containing mirrored root
# Offset into mirrored device (Kbytes)
# Physical Log Configuration
PHYSDBS
PHYSFILE
rootdbs
1500
# Location (dbspace) of physical log
# Physical log file size (Kbytes)
# Logical Log Configuration
LOGFILES
LOGSIZE
6
1024
# Number of logical log files
# Logical log size (Kbytes)
# Configuration Manager
CONFIGSIZE
A-22 Informix Administrator’s Reference
STANDARD
# Amt of rootdbs space to reserve for CM data
# Only applies to CM coservers
Sample onconfig.std File
# Diagnostics
MSGPATH
/usr/informix/online.log # System message log file path
CONSOLE
/dev/console
# System console message path
ALARMPROGRAM
# Alarm program path
SYSALARMPROGRAM evidence.sh
# System Alarm program path (a relative path
# is expanded to $INFORMIXDIR/etc/<path>)
# System Configuration
SERVERNUM
0
DBSERVERNAME
DBSERVERALIASES
NETTYPE
RESIDENT
0
#
#
#
#
#
MULTIPROCESSOR
NUMCPUVPS
SINGLE_CPU_VP
0
1
0
# 0 for single-processor, 1 for multi-processor
# Number of user (cpu) vps
# If non-zero, limit number of cpu vps to one
NOAGE
AFF_SPROC
AFF_NPROCS
0
0
0
# Process aging
# Affinity start processor
# Affinity number of processors
PAGESIZE
4096
# Shared Memory Parameters
LOCKS
BUFFERS
NUMAIOVPS
NUMFIFOVPS
PHYSBUFF
LOGBUFF
LOGSMAX
CLEANERS
SHMBASE
SHMVIRTSIZE
SHMADD
SHMTOTAL
CKPTINTVL
LRUS
LRU_MAX_DIRTY
LRU_MIN_DIRTY
LTXHWM
LTXEHWM
STACKSIZE
Unique id corresponding to a DB server instance
Name of default database server
List of alternate dbservernames
Override sqlhosts nettype parameters
Forced residency flag: All = -1,No = 0, or > 0
# System pagesize
2000
100
# Maximum number of locks
# Maximum number of shared buffers
# Number of IO vps
2
# Number of FIFO vps
32
# Physical log buffer size (Kbytes)
32
# Logical log buffer size (Kbytes)
6
# Maximum number of logical-log files
1
# Number of buffer cleaner processes
SHMBASE_DIST # Shared memory base address
8192
# Initial virtual shared memory segment size
8192
# Size of new shared memory segments (Kbytes)
0
# Total shared memory (Kbytes). 0=>unlimited
300
# Check point interval (in sec)
8
# Number of LRU queues
60
# LRU percent dirty begin cleaning limit
50
# LRU percent dirty end cleaning limit
50
# Long transaction high water mark percentage
60
# Long transaction high water mark (exclusive)
32
# Stack size (Kbytes)
# System Page Size
# BUFFSIZE - The database server no longer supports this configuration parameter.
#
To determine the page size used on your platform,
#
see the last line of output from the command: 'onstat -b'.
Files That the Database Server Uses
A-23
Sample onconfig.std File
#
#
#
#
#
Recovery Variables
OFF_RECVRY_THREADS:
Number of parallel worker threads during fast recovery or an off-line restore.
ON_RECVRY_THREADS:
Number of parallel worker threads during an on-line restore operation
OFF_RECVRY_THREADS
ON_RECVRY_THREADS
10
1
# Read Ahead Variables
RA_PAGES
RA_THRESHOLD
IDX_RA_PAGES
IDX_RA_THRESHOLD
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
Number
Number
Number
Number
of
of
of
of
pages
pages
index
index
to attempt to read ahead
left before next group
pages to attempt to read ahead
pages left before next group
DBSPACETEMP:
This is the list of dbspaces
that the SQL Engine will use to create temp tables, etc.
The list can be specified using various preset "sets" that are
ALL - all dbspaces can be used for temp files
TEMP - use only temporary dbspaces for temp files
NOTCRITICAL - use only noncritical dbspaces for temp files
Critical dbspaces are the root dbspaces and dbspaces containing
log files.
The list can also be specified as an explicit list of dbspaces/dbslices
that exist when the database server is brought on-line. If not specified,
or if all dbspaces specified are invalid, various ad hoc queries will create
temporary files in /tmp instead. If a dbspace in this list is
added to the system at a later point in time, it is automatically added
to the list of dbspaces that can be used for temp purposes.
DBSPACETEMP
#
#
#
#
#
# Default number of off-line worker threads
# Default number of on-line worker threads
NOTCRITICAL
# Default temp dbspaces
DUMP*:
The following parameters control the type of diagnostics information which
is preserved when an unanticipated error condition (assertion failure) occurs
during database server operations.
For DUMPSHMEM, DUMPGCORE, and DUMPCORE 1 means Yes, 0 means No.
DUMPDIR
DUMPSHMEM
DUMPGCORE
DUMPCORE
DUMPCNT
/tmp
1
0
0
1
#
#
#
#
#
#
Preserve diagnostics in this directory
Dump a copy of shared memory
Dump a core image using 'gcore'
Dump a core image (Warning: aborts XPS)
Number of shared memory or gcore dumps for
a single user's session
FILLFACTOR
90
# Fill factor for building indexes
# method for the database server to use when determining current time
USEOSTIME
0
# 0: use internal time (fast), 1: get time from OS (slow)
A-24 Informix Administrator’s Reference
Sample onconfig.std File
# Parallel Database Queries (pdq)
PDQPRIORITY
0
# Degree of parallelism: 0 => OFF, 1 => LOW,
#
-2 => HIGH, max of 100.
MAX_PDQPRIORITY 100
# Maximum allowed pdqpriority
DS_ADM_POLICY
FAIR
# Decision-support admission and allocation policy
# FAIR: service queries based on scheduling level
# but preferring lower pdqpriority queries,
# STRICT: service queries based on scheduling level
# (highest before lowest) and FCFS within each level
DS_MAX_QUERIES
# Maximum number of decision-support queries
DS_TOTAL_MEMORY
# Decision-support memory (Kbytes)
DS_MAX_SCANS 1048576
# Maximum number of decision-support scans
DATASKIP
# List of dbspaces to skip
ONDBSPACEDOWN
2
CAMPORT
10300
PLAN_MONITORING 1
# Dbspace down option: 0 = CONTINUE, 1 = ABORT, 2 = WAIT
# start of UDP port range used to monitor coservers
# Turns on Plan Monitoring for the Query Monitor.
# To leave Plan Monitoring inactive, set it to 0.
# Backup/Restore
BAR_ACT_LOG
BAR_BOOT_DIR
BAR_RETRY
BAR_WORKER_MAX
BAR_IDLE_TIMEOUT
BAR_XPORT_COUNT
BAR_XFER_BUFSIZE
BAR_BSALIB_PATH
Variables
/tmp/bar_act.log # File for errors, warnings, and messages
/usr/informix/etc
0
# Number of times to retry failures
0
# Do not auto-start onbar workers
0
# Never timeout onbar workers
10
# Number of transport buffers per onbar worker
8
# Size of each transport buffer
/usr/lib/ibsad001.so # Full pathname of storage-manager
# XBSA shared library (platform dependent)
BAR_HISTORY
0
# ON-Bar message history level
BAR_PROGRESS_FREQ 0
# ON-Bar progress output interval
ISM_DATA_POOL
ISMData
# Default volume pool for spaces
ISM_LOG_POOL
ISMLogs
# Default volume pool for logical log files
LOG_BACKUP_MODE
MANUAL
#
#
#
#
#
#
#
When to back up logical log files:
CONT - backup as soon as the file fills
MANUAL - user must perform log backups
NONE - do not back up logs and re-use them
as soon as they fill. Use of NONE is not
recommended as data will be lost if the
database server must be restored.
♦
Files That the Database Server Uses
A-25
Sample onconfig.xps File
XPS
Sample onconfig.xps File
The following file is a sample copy of the onconfig.xps file for Extended
Parallel Server. A few of the values might be different from the ones in your
onconfig.xps file because some values are platform dependent.
#*******************************************************************************
#
#
INFORMIX SOFTWARE, INC.
#
# Title:onconfig.xps
# Description: Extended Parallel Server Configuration Parameters
#
#*******************************************************************************
# Root Dbspace Configuration
ROOTSLICE
ROOTPATH
ROOTOFFSET
#
#
#
#
#
#
rootdbs
# Root dbspace name
/dev/online_root.%c # Path for device containing root dbspace
0
# Offset of root dbspace into device (Kbytes)
On some UNIX platforms, it is an error to set ROOTOFFSET to 0.
When this parameter is incorrectly set, you might have to
reinitialize the disk space and reload the data before
resuming proper operation of the database server.
Always check the machine notes to get machine-specific information
before setting your configuration parameters.
ROOTSIZE
20000
# Size of root dbspace (Kbytes)
# Disk Mirroring Configuration Parameters
MIRROR
MIRRORPATH
MIRROROFFSET
0
0
# Mirroring flag (Yes = 1, No = 0)
# Path for device containing mirrored root
# Offset into mirrored device (Kbytes)
# Physical Log Configuration
PHYSSLICE
PHYSFILE
rootdbs
1500
# Location (dbslice) of physical log
# Physical log file size (Kbytes)
# Logical Log Configuration
LOGFILES
LOGSIZE
6
1024
# Number of logical log files
# Logical log size (Kbytes)
# Configuration Manager
CONFIGSIZE
A-26 Informix Administrator’s Reference
STANDARD
# Amt of rootdbs space to reserve for CM data
# Only applies to CM coservers
Sample onconfig.xps File
# Diagnostics
MSGPATH
/usr/informix/online.log # System message log file path
CONSOLE
/dev/console # System console message path
ALARMPROGRAM
# Alarm program path
SYSALARMPROGRAM evidence.sh
# System Alarm program path (a relative path
# is expanded to $INFORMIXDIR/etc/<path>)
# System Configuration
SERVERNUM
0
DBSERVERNAME
xps
DBSERVERALIASES
NETTYPE
RESIDENT
0
# Unique ID corresponding to a database serverinstance
# Name of default database server
# List of alternate dbservernames
# Override sqlhosts nettype parameters
# Forced residency flag: All = -1, No = 0, or >0
MULTIPROCESSOR
NUMCPUVPS
SINGLE_CPU_VP
0
1
0
# 0 for single-processor, 1 for multi-processor
# Number of user (cpu) vps
# If non-zero, limit number of cpu vps to one
NOAGE
AFF_SPROC
AFF_NPROCS
0
0
0
# Process aging
# Affinity start processor
# Affinity number of processors
PAGESIZE
4096
# System pagesize
# Shared Memory
LOCKS
BUFFERS
NUMAIOVPS
NUMFIFOVPS
PHYSBUFF
LOGBUFF
LOGSMAX
CLEANERS
SHMBASE
SHMVIRTSIZE
SHMADD
SHMTOTAL
CKPTINTVL
LRUS
LRU_MAX_DIRTY
LRU_MIN_DIRTY
LTXHWM
LTXEHWM
STACKSIZE
Parameters
2000
1000
2
32
32
6
1
SHMBASE_DIST
8192
8192
0
300
8
60
50
50
60
32
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
Maximum number of locks
Maximum number of shared buffers
Number of IO vps
Number of FIFO vps
Physical log buffer size (Kbytes)
Logical log buffer size (Kbytes)
Maximum number of logical log files
Number of buffer cleaner processes
Shared memory base address
initial virtual shared memory segment size
Size of new shared memory segments (Kbytes)
Total shared memory (Kbytes). 0=>unlimited
Check point interval (in sec)
Number of LRU queues
LRU percent dirty begin cleaning limit
LRU percent dirty end cleaning limit
Long transaction high water mark percentage
Long transaction high water mark (exclusive)
Stack size (Kbytes)
# System Page Size
# BUFFSIZE - The database server no longer supports this configuration parameter.
#
To determine the page size used on your platform,
#
see the last line of output from the command: 'onstat -b'.
Files That the Database Server Uses
A-27
Sample onconfig.xps File
#
#
#
#
#
Recovery Variables
OFF_RECVRY_THREADS:
Number of parallel worker threads during fast recovery or an off-line restore.
ON_RECVRY_THREADS:
Number of parallel worker threads during an on-line restore operation
OFF_RECVRY_THREADS
ON_RECVRY_THREADS
# Read Ahead Variables
RA_PAGES
RA_THRESHOLD
IDX_RA_PAGES
IDX_RA_THRESHOLD
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
10 # Default number of off-line worker threads
1 # Default number of on-line worker threads
#
#
#
#
Number
Number
Number
Number
of
of
of
of
pages
pages
index
index
to attempt to read ahead
left before next group
pages to attempt to read ahead
pages left before next group
DBSPACETEMP:
This is the list of dbspaces
that the SQL engine will use to create temp tables.
The list can be specified using various preset "sets" that are
ALL - all dbspaces can be used for temp files
TEMP - use only temporary dbspaces for temp files
NOTCRITICAL - use only noncritical dbspaces for temp files.
Critical dbspaces are the rootdbspaces and dbspaces containing
log files.
The list can also be specified as an explicit list of dbspaces/dbslices
that exist when the database serfer is brought on-line. If not specified,
or if all dbspaces specified are invalid, various ad hoc queries will create
temporary files in /tmp instead. If a dbspaces in this list is
added to the system at a later point in time, it is automatically added
to the list of dbspaces that can be used for temp purposes.
DBSPACETEMP
NOTCRITICAL
# Default temp dbspaces
# DUMP*:
# The following parameters control the type of diagnostics information which
# is preserved when an unanticipated error condition (assertion failure) occurs
# during database server operations.
# For DUMPSHMEM, DUMPGCORE and DUMPCORE 1 means Yes, 0 means No.
DUMPDIR
DUMPSHMEM
DUMPGCORE
DUMPCORE
DUMPCNT
/tmp
1
0
0
1
#
#
#
#
#
#
Preserve diagnostics in this directory
Dump a copy of shared memory
Dump a core image using 'gcore'
Dump a core image (Warning:this aborts db server)
Number of shared memory or gcore dumps for
a single user's session
FILLFACTOR
90
# Fill factor for building indexes
# method for the database server to use when determining current time
USEOSTIME
0
# 0: use internal time (fast), 1: get time from OS (slow)
A-28 Informix Administrator’s Reference
Sample onconfig.xps File
# Parallel Database Queries (pdq)
PDQPRIORITY
0
# Degree of parallelism: 0 => OFF, 1 => LOW,
#
-2 => HIGH, max of 100.
MAX_PDQPRIORITY 100
# Maximum allowed pdqprioirity
DS_ADM_POLICY
FAIR
# Decision-support admission and allocation policy
# FAIR: service queries based on scheduling level
# but preferring lower pdqpriority queries,
# STRICT: service queries based on scheduling level
# (highest before lowest) and FCFS within each level
DS_MAX_QUERIES
# Maximum number of decision-support queries
DS_TOTAL_MEMORY
# Decision-support memory (Kbytes)
DS_MAX_SCANS 1048576
# Maximum number of decision-support scans
DATASKIP
# List of dbspaces to skip
ONDBSPACEDOWN
2
CAMPORT
10300
PLAN_MONITORING 1
# Dbspace down option: 0 = CONTINUE, 1 = ABORT, 2 = WAIT
# start of UDP port range used to monitor coservers
# Turns on Plan Monitoring for the Query Monitor.
# To leave Plan Monitoring inactive, set it to 0.
# Backup/Restore variables
BAR_ACT_LOG
/tmp/bar_act.log
BAR_BOOT_DIR
/usr/informix/etc
BAR_RETRY
0
BAR_XPORT_COUNT
10
BAR_XFER_BUFSIZE 8
BAR_HISTORY
0
BAR_PROGRESS_FREQ 0
LOG_BACKUP_MODE
MANUAL
# File for errors, warnings, and messages
#
#
#
#
#
#
#
#
#
#
#
#
#
Number of times to retry failures
Number of transport buffers per worker
Size of each transport buffer
ON-Bar message history level
ON-Bar progress output interval
When to backup logical log files:
CONT - backup as soon as the file fills
MANUAL - user must perform log backups
NONE - do not backup logs and re-use them
as soon as they fill. Use of
NONE is not recommended as data
will belost if the database server
must be restored
# Storage Manager instances
BAR_SM
1
# Storage manager ID
BAR_SM_NAME
# Storage manager name
BAR_WORKER_COSVR 1
# Storage manager is located on coserver 1
BAR_DBS_COSVR
1
# Route dbspaces from this coserver to this
# storage-manager instance
BAR_LOG_COSVR
1
# Route logical log files from this coserver to this
# storage-manager instance
BAR_WORKER_MAX
0
# Number of backup/restore objects this storage
# manager can support concurrently
BAR_IDLE_TIMEOUT 0
# Number of idle minutes before an onbar_w
# process is stopped
BAR_BSALIB_PATH /usr/lib/ibsad001.so # full pathname of storage-manager
# XBSA shared library (platform dependent)
ISM_DATA_POOL
ISMData
# Default volume pool for spaces
ISM_LOG_POOL
ISMLogs
# Default volume pool for logical log files
END
Files That the Database Server Uses
A-29
Sample onconfig.xps File
COSERVER
NODE
END
1
node1
COSERVER
NODE
END
2
node2
♦
A-30 Informix Administrator’s Reference
Appendix
Trapping Errors
Occasionally, a series of events causes the database server to
return unexpected error codes. If you do not have the appropriate diagnostic tools in place when these events occur, it might
be difficult for you to determine the cause of these errors. This
section discusses the following diagnostic tools:
IDS
XPS
■
onmode -I
■
tracepoints ♦
■
onclean utility ♦
Collecting Diagnostics
To help collect additional diagnostics, you can use onmode -I to
instruct the database server to perform the diagnostics collection
procedures that the Administrator’s Guide describes. To use
onmode -I when you encounter an error number, supply the
iserrno and an optional session ID. The -I option is just one of
many onmode options. For more information about onmode,
see “onmode: Change Mode and Shared Memory” on page 3-37.
B
Creating Tracepoints
Syntax
-I
onmode
iserrno
,
sid
Element
-I iserrno
sid
Purpose
Key Considerations
Error number of the error for which you want to collect diagnostic None.
information
Session ID of the session for which you want to collect diagnostic None.
information
Whenever the database server sets iserrno to this value, the corresponding
diagnostics events produce an af.* file that you can fax or email to Informix
Technical Support.
IDS
Creating Tracepoints
Tracepoints are useful in debugging user-defined routines. You can create a
user-defined tracepoint to send special information about the current
execution state of a user-defined routine.
Each tracepoint has the following parts:
■
A trace class groups related tracepoints together so that they can be
turned on or off at the same time.
You can either use the built-in trace class called _myErrors or create
your own. To create your own trace class, you insert rows into the
systraceclasses system catalog table.
■
A trace message is the text that the database server sends to the
tracing-output file.
You can store internationalized trace messages in the systracemsgs
system catalog table.
■
A tracepoint threshold determines when the tracepoint executes.
B-2 Informix Administrator’s Reference
The onclean Utility
By default, the database server puts all trace messages in the trace-output file
in the tmp directory with the following filename:
session_num.trc
For more information on tracing user-defined routines, see the DataBlade API
Programmer’s Manual.
The onclean Utility
XPS
The onclean utility allows you to clean up resources (shared memory,
semaphores, and processes) and shut down the database server. You must be
user root or informix to execute onclean.
Syntax
onclean
-v
Element
-v
-k
-k
Purpose
Displays messages about what onclean is
removing. If you do not specify -v, you see
no output unless an error occurs.
Kills all the processes, semaphores, and
shared-memory segments on this coserver
even if it is running.
Restrictions
None.
You can use the -k option when the database
server is on-line or off-line.
Usage
Specify onclean or onclean -v to remove resources when all the coservers are
off-line. Specify onclean -k to remove resources if one or more coservers are
running.
Trapping Errors
B-3
The onclean Utility
Use onclean to clean up one or more coservers that fail to respond to normal
shutdown commands (onmode -yuk or onmode -ky), or when you cannot
restart the database server. Perhaps the database server shut down in an
uncontrolled way and cannot recover, or it is hung. If the database server fails
to restart, the old instance of the database server still has the shared-memory
segment.
Check the message log to see if the database server shut down abnormally.
Warning: Do not use onclean to perform a normal shut down of the database server.
The onclean utility kills all processes and removes all shared-memory segments and
semaphores that are recorded in the /sqldist/etc/.conf file. Transactions and
processes fail to complete, and user sessions are disconnected abruptly. However, the
database server rolls back transactions when it comes back up.
To shut down the database server with onclean
If you cannot shut down the database server with onmode -yuk or
onmode -ky, follow these steps:
1.
Execute the xctl onclean command.
2.
If onclean cannot clean up any of the coservers but reports that they
are still up, try shutting down those coservers with the onmode
command.
3.
Issue the UNIX ipcs and ps commands to determine whether user
informix still owns system resources. If ipcs displays sharedmemory segments and semaphores, or if ps displays processes, issue
the xctl onclean -k command to shut down all the coservers.
If the onclean command successfully cleans up the coservers, it issues return
code 0. If you use the -v option, onclean displays messages on the screen
about which resources it is trying to remove, as the following example shows:
looking for shmem key 5266c802
looking for semaphore ID 21168129
Coserver was shut down cleanly
If no error messages display, it means the resources were successfully
removed. You can write a UNIX script to test the return codes.
B-4 Informix Administrator’s Reference
The onclean Utility
If onclean is unsuccessful, one of the following error messages displays, and
return code 1 is issued:
The coserver is still up, use onmode or "onclean -k"
Must be user informix or root to run this program
INFORMIXDIR env var not set
open of .conf.* filename failed
unknown option: -x
usage: onclean [-v] [-k]
-v verbose, display full info while cleaning
-k kill coserver if still running
If onclean encounters an operating-system error while it attempts to remove
a process, semaphore, or shared-memory segment, it reports the name of the
system call that failed and its error code and issues return code 2.
Examples of onclean
The following command kills only the coserver to which your
INFORMIXSERVER environment variable is set (usually coserver 1) and
displays verbose output messages:
onclean -v -k
Use the xctl and onclean commands to kill coserver eds.3 only. The other
coservers might still have processes executing. If killing one coserver does
not solve the database server problem, try killing all of the coservers.
xctl -C eds.3 onclean -k
The following command kills and cleans up all the coservers on your system
when the database server is off-line:
xctl onclean
The following command kills and cleans up all the coservers on your system
whether or not they are running:
xctl onclean -k
Trapping Errors
B-5
Appendix
XPS
Thread Suspension
For increased reliability, in certain specific circumstances,
Extended Parallel Server can suspend a thread that has failed an
assertion instead of shutting down the entire database server.
Thread suspension is part of the fault isolation strategy that the
the database server uses. If a problem thread is isolated, the other
threads in the process can continue their work.
In addition to increasing database server stability, this feature
improves problem diagnostics. Because the suspended thread
still exists, you can examine it to help diagnose the problem.
For more information on threads, see the chapter on parallel
database queries in your Performance Guide.
C
When a Thread Can Be Suspended
When a Thread Can Be Suspended
When a thread fails, the database server can perform a set of tests to
determine whether it can safely suspend the thread. The thread must meet
these requirements:
■
It must not be a member of a class of threads that are critical to the
database server. For example, secondary session threads (x_exec_*)
are critical to database server operation and cannot be suspended,
but parallel sort threads (psortproc) are not critical and can be
suspended.
■
It must not be holding a shared resource, such as a mutex.
■
It must not be in a critical section.
If the thread meets these requirements, the database server can suspend it.
When the database server suspends a thread, it also rolls back any work that
the thread has performed and sets appropriate alarms.
If the suspended thread is the primary session thread of the client, such as the
sqlexec or onutil thread, the client is disconnected. If the suspended thread
is not the primary session thread, the client remains connected to the
database server and can start a new transaction. If the suspended thread was
processing a transaction, the transaction is rolled back globally after the
thread is suspended.
The client receives the following two error messages.
Number
Message
-959
The current transaction has been rolled back due to an
internal error.
-172
ISAM error: Unexpected internal error.
If the database server cannot suspend a thread that has failed an assertion, it
writes an appropriate message to the message log before it shuts down.
C-2 Informix Administrator’s Reference
Finding Out If Threads Are Suspended
For information about identifying threads that have been suspended and
removed, refer to the examples of onstat output in “Examples of Suspended
Thread Output” on page C-3. For information about what to do if processes
incur suspended threads, see “Reporting and Clearing Suspended Threads”
on page C-5.
Finding Out If Threads Are Suspended
To find out if threads are suspended, use one or all of these methods:
■
Examine the message log for suspended-thread alarm messages.
■
Run onstat -u.
■
Run onstat -g ath.
■
Run onstat -g con.
When you know the number of the session that spawned the suspended
thread, you can also run onstat -g ses session_number.
Examples of Suspended Thread Output
The following output examples show a suspended thread. In all output, the
word defunct marks the suspended thread.
The onstat -u output shows the following user-thread information:
Userthreads
address flags
sessid user
tty
wait
b3a4018 ---P--D 9
root
0
...
b3a7244 DEFUNCT 18
informix 14 active, 128 total, 15 maximum concurrent
tout locks nreads
0
0
40
nwrites
21
-
-
-
-
The onstat -g ath output shows the following list of threads:
Threads:
tid
tcb
2
b336730
...
45
b93b670
47
b93be88
52
b990278
53
b9906b8
54
b990c68
rstcb
0
prty
2
status
running
vp-class
2adm
b3a6a8c
0
b3a66b0
b3a6e68
b3a7244
2
2
2
2
2
sleeping secs: 27
yield forever
cond wait sm_read
yield forever
cond wait defunct
1cpu
1cpu
1cpu
1cpu
1cpu
name
adminthd
bum_sched
bum_rcv
sqlexec_1.15
x_exec_1.15
x_update_0
Thread Suspension C-3
Finding Out If Threads Are Suspended
The onstat -g con output shows the following waiting conditions:
Conditions with waiters:
cid
addr
271
b990230
273
b990f70
name
sm_read
defunct
waiter
52
54
waittime
105
110
When you run onstat -g ses 18 to examine session 18, you see the following
output:
local
sessid
1.15
sessid user
18
informix
tid
53
54
tcb
b9906b8
b990c68
tty
-
rstcb
b3a6e68
b3a7244
pid
8925
flags
---P--DEFUNCT
Memory pools
count 1
name
class addr
18
V
ba85018
name
overhead
...
sqtcb
Sess
Id
1.15
#RSAM
hostname threads
2
curstk
912
5560
total
memory
90112
status
yield forever
cond wait(defunct)
totalsize
90112
freesize
28520
name
x_exec_1.15
x_update_0
#allocfrag #freefrag
180
10
free
0
used
128
name
scb
free
0
used
96
0
1016
fragman
0
1232
SQL
Stmt type
-
Current
Database
ts_test_db
Iso Lock
Lvl Mode
CR Not Wait
used
memory
61592
SQL
ERR
0
ISAM F.E.
ERR Vers
0
8.30
No current SQL statement.
Examples of Output After the Suspended Thread Exits
After the session that spawned the suspended thread exits, you see the
following output for onstat -u, which shows that no session is associated
with the suspended thread:
Userthreads
address flags
sessid
user
tty
b3a4018 ---P--D 9
root
...
b3a7244 DEFUNCT
informix 12 active, 128 total, 15 maximum concurrent
wait
0
-
tout locks nreads
0
0
40
-
-
-
nwrites
21
-
For more information on these onstat options, see the chapter on the
Resource Grant Manager in your Performance Guide and “onstat: Monitor
Database Server Operation” on page 3-88.
C-4 Informix Administrator’s Reference
Reporting and Clearing Suspended Threads
Reporting and Clearing Suspended Threads
Any assertion failure that results in a suspended thread is a serious error.
Report information about the context of the suspended threads to Informix
Technical Support as soon as possible.
Be prepared to provide the assertion-failure file that the database server
generates. The path to this file is recorded in the database server message log
as part of the message that reports the suspended thread.
To clear suspended threads, shut down and restart the database server.
Thread Suspension C-5
Appendix
Event Alarms
The database server provides a mechanism for automatically
triggering administrative actions based on an event that occurs
in the database server environment. This mechanism is the
event-alarm feature. Events can be informative (for example,
Backup Complete) or can indicate an error condition that
requires your attention (for example, Unable to Allocate
Memory).
Using ALARMPROGRAM to Capture Events
To use the event-alarm feature, set the ALARMPROGRAM configuration parameter to the full pathname of an executable file that
performs the necessary administrative actions. You must
provide this executable file. It can be a shell script or binary
program. When any of the events in a predefined set occur, the
database server invokes this executable file and passes it the
event-alarm parameters (see Figure D-1 on page D-2). The
executable file must be written to accept these parameters.
Some of the events that the database server reports to the
message log cause it to invoke the alarm program. The class
messages indicate the events that the database server reports.
The database server reports a nonzero exit code in the message
log. In the alarm program, set the EXIT_STATUS variable to 0 for
successful completion and to another number for a failure.
D
Event-Alarm Parameters
For example, if a thread attempts to acquire a lock, but the maximum number
of locks that LOCKS specifies has already been reached, the database server
writes the following message to the message log:
10:37:22
10:51:08
10:51:10
10:51:12
Checkpoint
Lock table
Lock table
Checkpoint
Completed: duration was
overflow - user id 30032,
overflow - user id 30032,
Completed: duration was
0 seconds.
rstcb 10132264
rstcb 10132264
1 seconds.
If you set ALARMPROGRAM to the pathname of an alarm program, the
database server passes the following arguments to your alarm program:
3
21
Database server resource overflow: 'Locks'.
Lock table overflow - user id 30032, rstcb 10132264
In this example, the database server does not pass a value for a see-also file.
Event-Alarm Parameters
Figure D-1 lists the event-alarm parameters.
Figure D-1
Event-Alarm Parameters
Parameter
Type
Event severity (See Figure D-2 for values.)
integer
Event class ID (See Figure D-3 for values.)
integer
Event class message (See Figure D-3 for IDS
messages or Figure D-4 for XPS messages.)
string
Event specific message (IDS)
Tag ID (XPS)
string
Event see-also file
string
D-2 Informix Administrator’s Reference
Event Severity
Event Severity
The first parameter passed to the alarm program is the event-severity code.
All events reported to the message log have one of the severity codes listed
in Figure D-2. Message-log events that have severity 1 do not cause the
database server to invoke the alarm program.
Figure D-2
Event-Severity Codes
Severity
Description
1
Not noteworthy. The event is not reported to the alarm program (for
example, date change in the message log).
2
Information. No error has occurred, but some routine event completed
successfully (for example, checkpoint or log backup completed).
3
Attention. This event does not compromise data or prevent the use of the
system; however, it warrants attention (for example, one chunk of a
mirrored pair goes down).
4
Emergency. Something unexpected occurred that might compromise
data or access to data (assertion failure, or oncheck reports data corrupt).
Take action immediately.
5
Fatal. Something unexpected occurred and caused the database server to
fail.
Event Class ID
An event class ID is an integer that the database server substitutes as the
second parameter in your alarm program. Each event class ID is associated
with one of the events that causes the database server to run your alarm
program.
Event Alarms D-3
Class Message
Class Message
A class message is the text of the message that the database server substitutes
for the third parameter of your alarm program when an event causes the
database server to run your alarm program. The class messages are different
for Dynamic Server and Extended Parallel Server.
IDS
Specific Messages
The database server substitutes additional information for the fourth
parameter of your alarm program. In general, the text of this message is that
of the message written to the message log for the event.
XPS
Tag ID
Each alarm contains a tag ID to identify it.
See Also Paths
For some events, the database server writes additional information to a file
when the event occurs. The pathname in this context refers to the pathname
of the file where the database server writes the additional information.
IDS
Event Alarms on Dynamic Server
Figure D-3 on page D-5 shows the class IDs and class messages for alarms on
Dynamic Server. The first column lists the class IDs that identify each alarm
and the second column lists the class messages. For more information about
setting the ALARMPROGRAM parameter, which controls alarms, see
“ALARMPROGRAM on Dynamic Server” on page 1-22.
D-4 Informix Administrator’s Reference
Event Alarms on Dynamic Server
Figure D-3
Event Alarms on Dynamic Server
Class ID
Class Message
1
Table failure: '%s' (dbsname:"owner".tabname)
2
Index failure: '%s' (dbsname:"owner".tabname-idxname)
3
Blob failure: '%s' (dbsname:"owner".tabname)
4
Chunk is off-line, mirror is active: %ld (chunk number)
5
Dbspace is off-line: '%s' (dbspace name)
6
Internal subsystem failure: '%s'
7
Database server initialization failure
8
Physical restore failed
9
Physical recovery failed
10
Logical recovery failed
11
Cannot open chunk: '%s' (pathname)
12
Cannot open dbspace: '%s' (dbspace name)
13
Performance improvement possible
14
Database failure. '%s' (database name)
15
High-availability data-replication failure (IDS)
16
Backup completed: '%s' (dbspace list)
17
Backup aborted: '%s' (dbspace list)
18
Log backup completed: %ld (log number)
19
Log backup aborted: %ld (log number)
20
Logical logs are full -- Backup is needed
21
Database server resource overflow: '%s' (resource name)
22
Long transaction detected
(1 of 2)
Event Alarms D-5
Alarms on Extended Parallel Server
Class ID
Class Message
23
Logical log '%ld' (number) complete
24
Unable to allocate memory
N/A
Chunk (storage) failure
N/A
Data capacity
N/A
Logical log capacity
N/A
Maximum locks
N/A
Maximum capacity
N/A
Maximum sessions
(2 of 2)
XPS
Alarms on Extended Parallel Server
Figure D-4 shows the class IDs, tag IDs, and class messages for alarms on
Extended Parallel Server. Some class IDs do not have an associated tag ID.
The combination of the class and tag IDs identify each alarm.
The database server generates an alarm when the database server mode
changes. For more information about setting the ALARMPROGRAM
parameter, which controls alarms, see “ALARMPROGRAM on Extended
Parallel Server” on page 1-24.
Figure D-4
Alarms on Extended Parallel Server
Class ID
Tag ID
Class Message
1
1
Current log is full
1
2
All logs are full
2
1
Dbspace backup completed
2
2
Log backup completed
(1 of 2)
D-6 Informix Administrator’s Reference
Alarms on Extended Parallel Server
Class ID
Tag ID
Class Message
3
1
Dbspace backup failed
3
2
Log backup failed
4
0
Database server is initializing
4
1
Database server mode changed to quiescent
4
2
Database server in micro-kernel mode
4
3
Database server in fast recovery mode
4
4
Database server performing a backup
4
5
Database server is shutting down
4
6
Database server is on-line
4
7
Database server is aborting
4
8
Database server is terminating
5
1
Preconfigured limit hit (such as too many locks or
transactions)
5
2
Long transaction high-water mark hit
5
3
Database server is out of memory
6
Sub-system failure
7
1
Corrupt table
7
2
Corrupt index
7
3
Corrupt simple large object
8
1
Device problem: chunk problem
8
2
Device problem: dbspace problem
10
Performance improvement possible
12
Error occurred during database server initialization
(2 of 2)
Event Alarms D-7
A
B C
D
E
F
G
H
I
J
K
L
M
N O
P
Q
R
S
T
U
V W
X
Y
Z
@
Index
Index
Numerics
64-bit addressing
and buffer pool 1-26
and locks 1-70
and LRU queues 1-77
and maximum queries 1-52
and memory 1-134, 1-137
A
ac_config.std file A-6
AC_MSGPATH parameter 1-19
ac_msg.log file A-5
AC_STORAGE parameter 1-19
AC_VERBOSE parameter 1-19
ADDCHK logical-log record 6-8
ADDDBS logical-log record 6-8
Adding end-of-line character 8-26
Adding virtual processors
CPU 3-50
syntax diagram 3-49
ADDITEM logical-log record 6-8
ADDLOG logical-log record 6-8
ADTERR parameter 1-19
ADTMODE parameter 1-19
ADTPATH parameter 1-19
ADTSIZE parameter 1-19
AFF_NPROCS parameter
and VPCLASS 1-21
description of 1-20, 1-21
with MULTIPROCESSOR
parameter 1-94
AFF_SPROC parameter
and VPCLASS 1-22
description of 1-21, 1-22
with MULTIPROCESSOR
parameter 1-94
af.xxx file A-5
ALARMPROGRAM
parameter 1-22, 1-24, D-1
Aliases. See DBSERVERALIASES
parameter.
ALLOW_NEWLINE
parameter 1-25
ALTER FRAGMENT
statement 3-150
ALTERDONE logical-log
record 6-8
Alternate dbservername 1-37
ANSI compliance Intro-21
Archive configuration file A-13
ARC_KEYPAD environment
variables A-14
Assertion failure
af.xxx file A-5
DUMPCNT parameter 1-58
DUMPCORE parameter 1-59
DUMPSHMEM parameter 1-62
gcore file A-7
shmem.xxx file A-15
suspended threads C-5
Asynchronous I/O 1-101
ASYNCRQT parameter 1-26, 1-158
Audit records
configuration parameters 1-19
sysadtinfo table 2-11
sysaudit table 2-12
A
B
C
D
E
F
G
H
B
Backup
and onstat -g bus 3-105
and onstat -g bus_sm 3-105
displaying contents of 3-31
external 3-42
logical log, parameters 1-71
using ontape 3-132
Backup boot file
bixbar A-7
ixbar A-7
Backup Scheduler tables 2-10
BADIDX logical-log record 6-8
bar_action table 2-10
bar_act.log file A-6
BAR_ACT_LOG parameter 1-105
BAR_BOOT_DIR parameter 1-105
BAR_BSALIB_PATH
parameter 1-105
BAR_DBS_COSVR
parameter 1-106
BAR_HISTORY parameter 1-106
BAR_IDLE_TIMEOUT
parameter 1-106
bar_instance table 2-10
BAR_LOG_COSVR
parameter 1-106
BAR_MAX_BACKUP
parameter 1-106
BAR_NB_XPORT_COUNT
parameter 1-106
bar_object table 2-10
BAR_PROGRESS_FREQ
parameter 1-106
BAR_RETRY parameter 1-106
bar_server table 2-10
BAR_SM parameter 1-106
BAR_SM_NAME parameter 1-106
BAR_WORKER_COSVR
parameter 1-106
BAR_WORKER_MAX
parameter 1-107
BAR_XFER_BUFSIZE
parameter 1-107
BAR_XFER_BUF_SIZE
parameter 1-107
2
Informix Administrator’s Reference
I
J
K
L
M
N
O
P
Q
R
BAR_XPORT_COUNT
parameter 1-107
Before-image journal. See Physical
log.
BEGCOM logical-log record 6-8
BEGIN logical-log record 6-8
BEGPREP logical-log record 6-8
BFRMAP logical-log record 6-9
Big-remainder page 7-25
Binding CPU virtual
processors 1-20, 1-21
Bit-map page
blobspace 7-39
tblspace tblspace 7-11, 7-12
BLDCL logical-log record 6-9
bldutil.sh script 2-5, A-6
BLOB data type. See Smart large
objects.
Blobpage
average fullness statistics 3-12,
3-19
blobpage size 7-36
size, storage efficiency of 7-36
specifying size of 7-36
structure and storage 7-36, 7-39
structure in dbspace 7-37
Blobspace
bit-map page 7-39
blobpage structure 7-39
blobspace mirror chunk,
structure 7-7
free-map page
description of 7-38
location in blobspace 7-36
role in blobpage logging 7-39
tracked by bit-map 7-39
page types 7-38
restriction, dropping 3-74
simple-large-object storage 7-37
structure 7-36
Blocking database server 3-42
BMAP2TO4 logical-log record 6-9
BMAPFULL logical-log record 6-9
Boldface type Intro-12
Bringing the database server online 3-39, 3-40
BSPADD logical-log record 6-9
BTCPYBCK logical-log record 6-9
BTMERGE logical-log record 6-10
S
T
U
V
W
X
Y
Z
@
B-tree
functional index 7-34
key-value locking 7-32
structure 7-27
BTSHUFFL logical-log record 6-10
BTSPLIT logical-log record 6-10
Buffer
access-level flag bits 3-97
page-type codes 3-96
Buffer pool, 64-bit addressing 1-26
Buffered transaction logging. See
Logging.
BUFFERS parameter
64-bit addressing 1-26
description of 1-27
buildsmi script
buildsmi.xxx file, description A-6
error log message 5-18
failure of A-6
initializing database server 2-5
buildsmi.xxx file A-6
BYTE data type. See Simple large
objects.
C
CDR_DSLOCKWAIT
parameter 1-28
CDR_EVALTHREADS
parameter 1-28
CDR_LOGBUFFERS
parameter 1-28
CDR_QUEUEMEM
parameter 1-28
CHALLOC
logical-log record 6-10
record subtype (SBLOB) 6-21
CHCOMBINE
logical-log record 6-10
record subtype (SBLOB) 6-21
Check constraints and reject
file 8-4, 8-49
Checking
catalog tables 3-170
data pages 3-171
free space 3-186
index keys 3-176
index pages 3-174
A
B
C
D
E
F
G
H
logical logs 3-181
physical logs 3-181
reserved pages 3-183
space usage with onutil 3-178
CHFREE
logical-log record 6-11
record subtype (SBLOB) 6-22
CHSPLIT
logical-log record 6-11
record subtype (SBLOB) 6-22
Chunk
checking for overlap 3-18
checking free list 3-186
free-list page 7-5, 7-6, 7-8
initial chunk of dbspace 7-4
initial mirror offset 1-91
monitoring 2-13
structure
additional dbspace chunk 7-6
initial dbspace chunk 7-5
mirror chunk 7-7
using a symbolic link for the
pathname 1-93, 1-129
Chunk free list
checking with CHECK
SPACE 3-186
oncheck
checking with 3-11, 3-17
displaying with 3-12, 3-17
CINDEX logical-log record 6-11
CKPOINT logical-log record 6-11
CKPTINTVL parameter 1-29
CLEANERS parameter 1-30
Client
and USEOSTIME
parameter 1-150
killing a client session 3-44
printing client sessions (onstat -g
ath) 3-104
results of connection 1-102
specifying coserver name 1-39
specifying dbservername 1-39
CLOB data type. See Smart large
objects.
CLR logical-log record 6-11
CLUSIDX logical-log record 6-11
COARSELOCK logical-log
record 6-11
Code set, ISO 8859-1 Intro-4
I
J
K
L
M
N
O
P
Q
R
CODESET EBCDIC 8-17
Code, sample, conventions
for Intro-17
Cogroup
creating with onutil 3-188
description 3-193
dropping with onutil 3-220
cogroup_all 3-188
Cogroup_range_identifier 3-141
Cold restore, number of recovery
threads 1-104
COLREPAI logical-log record 6-11
Command-line conventions
elements of Intro-15
example diagram Intro-16
how to read Intro-16
Comment icons Intro-13
COMMIT logical-log record 6-11
Communication configuration file.
See ONCONFIG configuration
file.
Compactness of index page 1-63
Compliance with industry
standards Intro-21
CONFIGSIZE parameter 1-30
Configuration file
processing A-12
warning about not modifying
onconfig.std 1-8, A-11
Configuration parameter
AC_MSGPATH 1-19
AC_STORAGE 1-19
AC_VERBOSE 1-19
ADTERR 1-19
ADTMODE 1-19
ADTPATH 1-19
ADTSIZE 1-19
AFF_NPROCS 1-20, 1-21
AFF_SPROC 1-21, 1-22
ALARMPROGRAM 1-22, 1-24,
D-1
ALLOW_NEWLINE 1-25
ASYNCRQT 1-26, 1-158
BAR_ACT_LOG 1-105
BAR_BOOT_DIR 1-105
BAR_BSALIB_PATH 1-105
BAR_DBS_COSVR 1-106
BAR_HISTORY 1-106
BAR_IDLE_TIMEOUT 1-106
S
T
U
V
W
X
Y
Z
@
BAR_LOG_COSVR 1-106
BAR_MAX_BACKUP 1-106
BAR_NB_XPORT_COUNT 1-106
BAR_PROGRESS_FREQ 1-106
BAR_RETRY 1-106
BAR_SM 1-106
BAR_SM_NAME 1-106
BAR_WORKER_COSVR 1-106
BAR_WORKER_MAX 1-107
BAR_XFER_BUFSIZE 1-107
BAR_XFER_BUF_SIZE 1-107
BAR_XPORT_COUNT 1-107
BUFFERS 1-27
CDR_DSLOCKWAIT 1-28
CDR_EVALTHREADS 1-28
CDR_LOGBUFFERS 1-28
CDR_QUEUEMEM 1-28
CKPTINTVL 1-29
CLEANERS 1-30
CONFIGSIZE 1-30
CONSOLE 1-32
COSERVER 1-33
DATASKIP 1-35
DBSERVERALIASES 1-37, 3-46
DBSERVERNAME 1-39, 3-46
DBSPACETEMP 1-40, 8-42
DD_HASHMAX 1-45
DD_HASHSIZE 1-45
DEADLOCK_TIMEOUT 1-46
DGINFO 1-34
DIRECTIVES 1-46
DRAUTO 1-47
DRINTERVAL 1-48
DRLOSTFOUND 1-49
DRTIMEOUT 1-50
DS_ADM_POLICY 1-51
DS_MAX_QUERIES 1-51, 3-53
DS_MAX_SCANS 1-53, 3-53
DS_TOTAL_MEMORY 1-54, 3-52
DUMPCNT 1-58
DUMPCORE 1-59
DUMPDIR 1-60
DUMPGCORE 1-61
DUMPSHMEM 1-62
END 1-63
FILLFACTOR 1-63, 7-33
HADDR 1-34
HBUFFER 1-158
HETERO_COMMIT 1-64
Index 3
A
B
C
D
E
F
G
H
IDX_RA_PAGES 1-65
IDX_RA_THRESHOLD 1-66
ISM_DATA_POOL 1-67
ISM_LOG_POOL 1-67, 1-107
ISOLATION_LOCKS 1-67
JVPxx and JVMTHREAD 1-68
LADDR 1-34
LBUFFER 1-158
LBU_PRESERVE 1-69
LOCKS 1-70
LOGBUFF 1-71
LOGFILES 1-73
LOGSIZE 1-75
LOGSMAX 1-76
LOG_BACKUP_MODE 1-71,
1-107
LRUS 1-77
LRU_MAX_DIRTY 1-78
LRU_MIN_DIRTY 1-79
LTAPEBLK 1-79
LTAPEDEV 1-81
LTAPESIZE 1-82
LTXEHWM 1-83
LTXHWM 1-84
MAX_CHUNKS 1-85
MAX_DBSLICES 1-86
MAX_DBSPACES 1-87
MAX_PDQPRIORITY 1-88, 3-52
MIRROR 1-90
MIRROROFFSET 1-91
MIRRORPATH 1-92
MSGPATH 1-93
MULTIPROCESSOR 1-94
NETTYPE 1-96
NOAGE 1-99
NODE 1-100
NUMAIOVPS 1-101
NUMCPUVPS 1-102
NUMFIFOVPS 1-103, 8-24
OFF_RECVRY_THREADS 1-104
ON-Bar, types of 1-105
ONDBSPACEDOWN 1-108, 3-55
ON_RECVRY_THREADS 1-104
OPCACHEMAX 1-109
OPTCOMPIND 1-110, 1-111
OPT_GOAL 1-111
PAGESIZE 1-112
PC_HASHSIZE 1-114
4
Informix Administrator’s Reference
I
J
K
L
M
N
O
P
Q
R
PC_POOLSIZE 1-114
PDQPRIORITY 1-115
PHYSBUFF 1-117
PHYSDBS 1-119
PHYSFILE 1-120
PHYSSLICE 1-121
PLAN_MONITORING 1-122
RA_PAGES 1-123
RA_THRESHOLD 1-124
RESIDENT 1-125, 3-43
RESTARTABLE_RESTORE
1-107, 1-125
ROOTOFFSET 1-127
ROOTPATH 1-127, 1-128, 1-129
ROOTSIZE 1-130
ROOTSLICE 1-130
SADDR 1-34
SBSPACENAME 1-131
SBUFFER 1-158
SENDEPDS 1-132
SERVERNUM 1-133
SHMADD 1-134
SHMBASE 1-135
SHMTOTAL 1-136
SHMVIRTSIZE 1-137
SINGLE_CPU_VP 1-139
STACKSIZE 1-140
STAGEBLOB 1-141
STMT_CACHE 1-142
STMT_CACHE_SIZE 1-142
SYSALARMPROGRAM 1-143
SYSSBSPACENAME 1-144
TAPEBLK 1-145
TAPEDEV 1-146
TAPESIZE 1-147
TBLSPACE_STATS 1-148
TXTIMEOUT 1-149, 3-45
USEOSTIME 1-149
VPCLASS 1-151, 3-50
See also Configuration parameter
use; individual parameter
names; and Administrator’s
Guide.
Configuration parameter use,
displayed in
data-replication screen 4-15
diagnostics screen 4-16
initialization screen 4-12
S
T
U
V
W
X
Y
Z
@
PDQ screen 4-16
performance screen 4-14
shared-memory screen 4-13
.conf.dbservername file A-6
CONSOLE parameter 1-32
Contact information Intro-22
Continuous log backups 1-71
Conventions
documentation Intro-11
naming tables 3-151, 3-194
Conversion
data-format 8-8
errors during a load 8-49, 8-51
optimizing 8-10
Converter threads 8-10
Core dump
and DUMPCORE parameter 1-59
contained in core file A-7
See also DUMPCNT; DUMPDIR;
DUMPGCORE;
DUMPSHMEM.
core.pid.cnt file 1-61
Coserver group. See Cogroup.
Coserver name
DBSERVERALIASES 1-37
DBSERVERNAME 1-39
definition of 3-142
COSERVER parameter 1-33
Coservers
balancing the load process 8-10
home 3-172, 3-210
list of 3-143
range identifiers 3-145
xcfg_servername.servernum
file A-16
coserver_list identifier 3-143
coserver_range_identifier 3-145
CPU virtual processor
and SINGLE_CPU_VP
parameter 1-139
binding 1-20, 1-21
CPU, time tabulated 3-119
CREATE EXTERNAL TABLE
statement
adding a newline 8-27
adding an end-of-line
character 8-26
delimited format example 8-14,
8-17
A
B
C
D
E
F
G
H
deluxe load example 8-15
EBCDIC format example 8-22
fixed format example 8-5, 8-20
Informix internal format
example 8-34
loading from another database
server 8-31
loading simple large objects 8-38
mapping columns 8-18
named-pipes example 8-23, 8-24
refreshing a data warehouse
table 8-29
CREATE FUNCTION
statement 1-155
CREATE INDEX statement, using
FILLFACTOR 1-63
CREATE record subtype
(SBLOB) 6-22
CREATE TABLE statement
example, defining a fragmented
table in a dbslice 8-6
newline example 8-27
row-locking example 8-15
simple large objects 8-33
Creating
cogroups 3-188
dbslices 3-194
dbspaces 3-207
log files 3-212
logslices 3-215
D
daemon.log A-10
Data block. See Page.
Data distributions
sbspace 1-144
user-defined data type 1-144
Data files. See Logging.
Data file, formats 8-9, 8-32
Data load. See Loading data with
external tables.
Data pages
and oncheck 3-10, 3-15
checking with onutil 3-171
displaying with onutil 3-217
number to read ahead 1-123
I
J
K
L
M
N
O
P
Q
R
Data replication
flush interval 1-48
information in sysdri table 2-19
lost-and-found file 1-49
wait time for response 1-50
Data row
and rowid 7-23
big-remainder page 7-25
forward pointer 7-23
home page 7-23, 7-25
how database server locates 7-23
storage strategies 7-22
storing data on a page 7-25
TEXT and BYTE data
descriptor 7-37
Data storage. See Disk space.
Data Type segment. See Disk space.
Data unload. See Unloading data.
Data warehouse tables
initial load 8-28
loading from other database
servers 8-31
refreshing tables
continually 8-30
periodically 8-29
Database
creating, what happens on
disk 7-45
effect of creation 7-45
information in sysdatabases
table 2-16
locale, in sysdbslocale table 2-17
owner, in sysmaster
database 2-16
Database server
assertion failures C-5
blocking 3-42
bringing on-line from quiescent
mode 3-39, 3-40
quiescent mode 3-39, 3-40
remote 2-29
restarting 1-18
shutting down 3-39, 3-40
unblocking 3-42
Database server name 1-38
Database tblspace
entries 7-13
location in root dbspace 7-4, 7-12
S
T
U
V
W
X
Y
Z
@
relation to systable 7-46
structure and function 7-12
tblspace number 7-13
DATAFILES clause 8-12
Data-flow manager 8-10
Data-format conversion 8-8
Datagram (DG) layer 1-34
DATASKIP parameter
description of 1-35
specifying with onspaces
utility 3-87
DB-Access utility Intro-5
dbexport. See Informix Migration
Guide.
dbimport. See Informix Migration
Guide.
dbschema. See Informix Migration
Guide.
DBSERVERALIASES parameter
description of 1-37
use with onmode 3-46
dbservername 1-39
DBSERVERNAME parameter
description of 1-39
use with onmode 3-46
Dbslice
altering 3-150
creating uniform dbspaces 3-197
creating with onutil 3-194
derived identifiers 3-146
dropping 3-222
specified in onutil 3-146
specifying formatting characters
in pathname 3-155, 3-199
Dbspace
altering 3-159
blobpage structure 7-37
creating with onutil 3-207
dropping 3-223
list of structures contained in 7-5
modifying with onspaces
utility 3-87
monitoring with SMI 2-17
root name 1-127
simple-large-object storage 7-37
specified in onutil 3-146
storage 7-4
Index 5
A
B
C
D
E
F
G
H
structure 7-4, 7-5, 7-6
of additional dbspace chunk 7-6
of chunk free-list page 7-8
of mirror chunk 7-7
of nonroot dbspace 7-5
of tblspace tblspace 7-9
usage report 7-4
DBSPACETEMP environment
variable 8-42
DBSPACETEMP parameter
and PSORT_DBTEMP 8-42
description of 1-40
load staging from pipes 8-42
temporary spaces for pipes 8-42
DD_HASHMAX parameter 1-45
DD_HASHSIZE parameter 1-45
Deadlock. See
DEADLOCK_TIMEOUT
parameter.
DEADLOCK_TIMEOUT
parameter 1-46
Decision-support query
DS_MAX_QUERIES
parameter 1-52
DS_TOTAL_MEMORY
parameter 1-54
MAX_PDQPRIORITY
parameter 1-88
setting parameters with
onmode 3-52
See also PDQ.
Default configuration file 1-8, A-12
Default locale Intro-4
DELETE
logical-log record 6-11
record subtype (SBLOB) 6-22
Deleting all the rows in a table 8-30
Delimited format
description 8-34
external column types 8-34
loading 8-17
loading simple large objects 8-34
unloading 8-17
when to use 8-34
DELITEM logical-log record 6-12
6
Informix Administrator’s Reference
I
J
K
L
M
N
O
P
Q
R
Deluxe-mode load
definition of 8-9
procedure 8-15
Demonstration databases Intro-5
Dependencies, software Intro-4
DERASE logical-log record 6-12
derived_dbspace_identifier 3-146
Descriptor, TEXT and BYTE
data 7-37
DGINFO parameter 1-34
Diagnostic messages. See Message
log.
Diagnostics, using onmode B-1
DIRECTIVES parameter 1-46
Disk page
page compression 7-26
storing data on a page 7-25
structure
blobspace blobpage 7-15
dbspace page 7-22
types of pages in an extent 7-14,
7-17
Disk space
allocating
when a database is created 7-45
when a table is created 7-47
allocation for system
catalogs 7-45
checking with onutil 3-178, 3-186
chunk free-list page 7-8
initialization with oninit 3-26
limits due to maximum chunk
size 3-66
list of structures 7-3
page compression 7-26
tracking
available space in a
blobspace 7-38
available space in a chunk 7-8
Distributed transactions
killing 3-45
monitoring (onstat -x) 3-129
Documentation notes Intro-20
Documentation, types of
documentation notes Intro-20
error message files Intro-19
machine notes Intro-20
S
T
U
V
W
X
Y
Z
@
on-line help Intro-19
on-line manuals Intro-18
printed manuals Intro-18
related reading Intro-21
release notes Intro-20
DPT logical-log record 6-12
DRAUTO parameter 1-47
DRINTERVAL parameter 1-48
DRLOSTFOUND parameter 1-49
Dropping
cogroups 3-220
dbslices 3-222
dbspaces 3-223
logical-log files 3-224
logslice 3-226
DRPBSP logical-log record 6-12
DRPCHK logical-log record 6-12
DRPDBS logical-log record 6-12
DRPLOG logical-log record 6-12
DRTIMEOUT parameter 1-50
dr.lostfound file 1-49
DS_ADM_POLICY parameter 1-51
DS_MAX_QUERIES parameter
64-bit addressing 1-52
changing the value 3-53
description of 1-52
DS_MAX_SCANS parameter
changing the value of 3-53
description of 1-53
DS_TOTAL_MEMORY parameter
changing the value of 3-52
deriving the value of 1-56
description of 1-55
recalculated by database
server 1-56
DUMPCNT parameter 1-58
DUMPCORE parameter 1-59
DUMPDIR parameter
af.xxx assertion failure file A-5
and shmem file A-15
description of 1-60
gcore file A-7
DUMPGCORE parameter 1-61
Dumping stack of thread (onstat -g
stk) 3-108
DUMPSHMEM parameter 1-62
Dynamic lock allocation 1-70
A
B
C
D
E
F
G
H
E
EBCDIC format
FORMAT clause 8-13
loading 8-22
unloading 8-27
Emergency boot files A-7
END parameter 1-63
ENDTRANS logical-log
record 6-13
Enterprise Replication
parameters 1-28
See also Guide to Informix Enterprise
Replication.
Environment configuration file A-8
Environment variables Intro-12
affecting I/O 8-42
ARC_KEYPAD A-14
DBSPACETEMP 8-42
for xctl 3-229
INFORMIXOPCACHE 1-109
INFORMIXSERVER 3-51
ONCONFIG 3-98, A-12
OPTCOMPIND 1-110
PSORT_DBTEMP 8-42
STMT_CACHE 3-56
en_us.8859-1 locale Intro-4
ERASE logical-log record 6-13
Error messages
files Intro-19
thread suspension C-2
Errors
load and unload 8-49
reject files 8-49, 8-51
violations table 8-4
Event alarms
ALARMPROGRAM
parameter D-1
class ID parameter D-3
class message parameter D-4
description D-1
event severity codes D-3
exit code D-1
mentioned 2-8
Event severity codes D-3
Exit codes, ontape utility 3-134
EXIT_STATUS exit code D-1
I
J
K
L
M
N
O
P
Q
Express-mode load
definition of 8-9
procedure 8-13
EXTEND record subtype
(SBLOB) 6-22
Extent
automatic doubling of size 7-19
default size 7-14
disk page types 7-14, 7-17
information in sysextents
table 2-20
initial size 7-14
merging 7-20
next-extent
allocation 7-19
allocation strategies 7-21
size 7-19
procedure for allocating 7-19
size
index fragments 7-14
limitations 7-14
structure 7-13
External backup, commands 3-42
External spaces, in sysextspaces
table 2-20
External tables
adding end-of-line character 8-26
adding newline character 8-27
conceptual diagram 8-11
data-format conversion 8-8
description of 8-4
diagram of load process 8-6
high-performance loading of
data 8-3
loading
from a delimited file 8-17
from a named pipe 8-23
simple large objects 8-32, 8-38
tables with the same
schema 8-19
to a fixed-ASCII file 8-20
to an EBCDIC file 8-22
mapping columns 8-18
pipe staging 8-41
R
S
T
U
V
W
X
Y
Z
@
unloading
from a named pipe 8-25
to a delimited file 8-17, 8-34
to a fixed-ASCII file 8-21
to Informix internal
format 8-19, 8-33
F
Fast recovery of table types 8-52
Feature icons Intro-13
Features of this product,
new Intro-6
FIFO 8-22, 8-46
FIFO file. See Named pipes.
File
ac_config.std A-6
ac_msg.log A-5
af.xxx A-5
archecker configuration file A-6
bar_act.log A-6
buildsmi.xxx A-6
configuration file A-11
.conf.dbservername A-6
core A-7
core.pid.cnt 1-61
default configuration file A-12
dr.lostfound 1-49
first-in-first-out 8-22
gcore 1-60
gcore. xxx A-7
in INFORMIXTMP directory A-9
.informix A-8
informix.rc environment file A-8
.infos.dbservername A-9
.infxdirs A-10
.inf.servicename A-9
ISM logs A-10
ISMVersion A-11
oncfg* A-13
onconfig A-12
onconfig.std
description of A-11
sample file A-17, A-26
onconfig.xps A-11
oper_deflt.arc A-13
private environment file A-8
servicename.exp A-14
Index 7
A
B
C
D
E
F
G
H
servicename.str A-14
shmem.pid.cnt 1-62
shmem.xxx A-15
sm_versions A-15
summary of database server
files A-1
VP.servername.nnx A-16
xbsa.messages A-16
xcfg_servername.servernum A-1
6
File I/O. See Disk I/O.
FILLFACTOR parameter
control how indexes fill 7-33
description of 1-63
Find Error utility Intro-19
finderr utility Intro-19
First-in-first-out data file 8-22
Fixed-ASCII files
adding end-of-line character 8-26
unloading 8-20, 8-21
Flushing, data-replication
buffer 1-48
Forced residency, starting and
ending with onmode 3-43
Forcing a checkpoint. See
Checkpoint.
FORMAT clause 8-13
Format, definition of 8-32
Formula, temporary space for pipe
staging 8-43
Forward pointer
description of 7-23
role in a blobspace blobpage 7-40
role in dbspace storage of simple
large objects 7-37
Fragment
and rowids 7-24
index 7-14
internal structure of tables 7-26
turning DATASKIP ON or OFF
for 3-87
warning returned when skipped
during query 1-35
Fragmentation. See Fragment.
Fragmented table, using primary
keys 7-24
Free list. See Chunk free list.
Freeing blobpages 3-102
8
Informix Administrator’s Reference
I
J
K
L
M
N
O
P
Q
R
Freeing unused memory
segments 3-54
Free-map page, description of
blobspace free-map page 7-38
Functional index 7-34
Fuzzy checkpoint
forcing 3-42
log record 6-12
G
Gateway transactions 1-64
gcore, utility 1-58, 1-61
gcore.xxx file A-7
Global Language Support
(GLS) Intro-4
H
HADDR parameter 1-34
HBUFFER parameter 1-158
HDELETE logical-log record 6-13
HDRUPD record subtype
(SBLOB) 6-22
Heterogeneous-commit
transactions 1-64
HETERO_COMMIT
parameter 1-64
HEURTX logical-log record 6-13
HEX external type
definition of 8-37
SQL example 8-35
High-availability data replication
(HDR). See Data replication.
HINSERT logical-log record 6-13
Home coserver 3-172, 3-210
Home page 7-23, 7-25
Host name, specifying in NODE
parameter 1-100
Hosts file 3-228
HUPAFT logical-log record 6-13
HUPBEF logical-log record 6-14
HUPDATE logical-log record 6-14
S
T
U
V
W
X
Y
Z
@
I
IBM EBCDIC format. See EBCDIC
format.
Icons
feature Intro-13
Important Intro-13
platform Intro-13
product Intro-13
Tip Intro-13
Warning Intro-13
Identifier, description of 1-38, 3-140
IDXFLAGS logical-log record 6-14
IDX_RA_PAGES parameter 1-65
IDX_RA_THRESHOLD
parameter 1-66
illlsrra.xx file A-7
Important paragraphs, icon
for Intro-13
Index
branch node 7-28
checking with onutil
index keys 3-176
index pages 3-174
configuration 7-33
duplicate key values 7-32
functional 7-34
how created and filled 7-29
item described 7-29
key-value locking 7-32
leaf node 7-28
names, specified in onutil 3-147
repairing structures with oncheck
utility 3-5
reuse of freed pages 7-33
root node 7-28
structure of B-tree 7-27
Index item
calculating the length of 7-33
defined 7-29
Index page
compactness 1-63
creation of first 7-29
effect of creation 7-29
number to read ahead 1-65
structure of 7-27
Industry standards, compliance
with Intro-21
.informix file A-8
A
B
C
D
E
F
G
H
Informix internal format
and simple large objects 8-33
description of 8-33
unloading 8-19
Informix Storage Manager (ISM)
catalog A-10
ISMversion file A-11
logs A-10
sm_versions file A-15
INFORMIXDIR/bin
directory Intro-5
INFORMIXOPCACHE
environment variables 1-109
INFORMIXSERVER environment
variable
relation to
DBSERVERNAME 1-39
INFORMIXSERVER environment
variables 3-51
INFORMIX-STAR queries 3-129
INFORMIXTMP directory
description of A-9
servicename.exp file A-14
servicename.str file A-14
.inf.servicename file A-9
informix.rc environment file A-8
.infos.dbservername file
description of A-9
regenerate 3-51
.infxdirs file A-10
.inf.servicename file A-9
Initialization
disk structures initialized 1-18,
7-4
shared memory initialized 1-18
In-Place ALTER TABLE
message 5-43
INSERT logical-log record 6-14
InstallServer.log file A-10
Internal format
load file type 8-33, 8-35
when to use 8-34
Internal format. See Informix
internal format.
Interval, checkpoint 1-29
ISAM calls tabulated 3-118
ISMVersion file A-11
ISM. See Informix Storage Manager
(ISM).
I
J
K
L
M
N
O
P
Q
R
ISM_DATA_POOL
parameter 1-67, 1-107
ISM_LOG_POOL parameter 1-67,
1-107
ISO 8859-1 code set Intro-4
ISOLATION_LOCKS
parameter 1-67
J
Java configuration parameters 1-68
JDBC parameters 1-68
K
Key value
checking order with
oncheck 3-11, 3-17
checking order with onutil 3-174,
3-176
duplicates 7-32
locking 7-32
Killing a session 3-44
L
LADDR parameter 1-34
Latch
displaying information with
onstat 3-91
displaying information with
onstat -s 3-123
identifying the resource
controlled 3-123
LBUFFER parameter 1-158
LBU_PRESERVE parameter 1-69
LCKLVL logical-log record 6-14
LG_CDINDEX logical-log
record 6-14
LG_DERASE logical-log
record 6-14
LG_ENDTRUNCATE logical-log
record 6-14
LG_PTRUNCATE logical-log
record 6-14
LG_TRUNCATE logical-log
record 6-14
S
T
U
V
W
X
Y
Z
@
Linking, name of root
dbspace 1-128, 1-129
LIST/LOGRECORDS command
(ON-Archive) 6-3
Load converter 8-47
Loader threads 8-10
Loading data with external tables
balancing the load process across
multiple coservers 8-10
data warehouse table
initial load 8-28
refreshing continually 8-30
refreshing periodically 8-29
definition of 8-8
deluxe-mode procedure 8-15
diagram 8-6
express-mode procedure 8-13
file types and formats 8-9
from a delimited file 8-17
from an EBCDIC file 8-22
from other database servers 8-31
loading modes 8-9
monitoring time for 8-44
named pipes 8-23
reject file 8-4
serial columns 8-28
tables with the same schema 8-19
to a delimited file 8-34
to a fixed-ASCII file 8-20
to an Informix file 8-33
violations table 8-4
Loading modes. See Express-mode
load or Deluxe-mode load.
Locale Intro-4
default Intro-4
en_us.8859-1 Intro-4
Lock
and oncheck 3-6
buffer-access-level flag bits 3-97
information in syslocks table 2-21
key-value 7-32
maximum time to acquire 1-46
monitoring 3-90
monitoring with onstat -k 3-111,
3-112
type codes 3-111
Index 9
A
B
C
D
E
F
G
H
Locking
dynamic allocation 1-70
for multiprocessor 1-94
with onutil CHECK options 3-139
LOCKS parameter
64-bit addressing 1-70
description of 1-70
LOGBUFF parameter 1-71
LOGFILES parameter 1-73
Logging
role of blobspace free-map
page 7-39
See also Administrator’s Guide.
Logical log
adding log files with onutil 3-212
backups 1-71
checking consistency 3-18
dropping 3-224
in root dbspace 7-4
maximum number of files 1-76
monitoring with SMI 2-22
See also Logical-log file.
Logical logs
checking 3-181
Logical recovery, number of
threads 1-104
Logical-log buffer and LOGBUFF
parameter 1-71
Logical-log file
created during initialization 1-73
displaying contents 3-31
reading the log file 3-31
size 1-75
switching with onmode 3-44
See also Logical log.
Logical-log record
additional columns of 6-7
displaying 3-31
for a checkpoint 6-5
for a DROP TABLE operation 6-4
generated by a rollback 6-4
header columns 6-6
involved in distributed
transactions 6-5
involved in two-phase commit
protocol 6-5
types 6-7, 6-21
logical-log record 6-12
logmessage table 5-4
10
Informix Administrator’s Reference
I
J
K
L
M
N
O
P
Q
R
LOGSIZE parameter 1-75
Logslice
altering 3-167
creating with onutil 3-215
dropping 3-226
specified in onutil 3-147
LOGSMAX parameter 1-76
LOG_BACKUP_MODE
parameter 1-71, 1-107
Long transaction, starting
percentage 1-83, 1-84
LRU queues
displaying information with
onstat 3-91
displaying information with
onstat -R 3-121
FLRU queues 3-121
MLRU queues 3-121
modified pages, percentage
of 1-78, 1-79
LRUS parameter
64-bit addressing 1-77
description of 1-77
LRU_MAX_DIRTY parameter 1-78
LRU_MIN_DIRTY parameter 1-79
LTAPEBLK parameter 1-79
LTAPEDEV parameter 1-81
LTAPESIZE parameter 1-82
LTXEHWM parameter 1-83
LTXHWM parameter 1-84
M
Machine notes Intro-20
Manual log backups 1-71
Mapping columns in a load 8-18
MAX_CHUNKS parameter 1-85
MAX_DBSLICES parameter 1-86
MAX_DBSPACES parameter 1-87
MAX_PDQPRIORITY parameter
changing the value 3-52
description of 1-88
Memory
freeing unused segments 3-54
specifying size of 1-109
See also Shared memory.
Merge boot file (mixbar) A-7
S
T
U
V
W
X
Y
Z
@
Message file for error
messages Intro-19
Message log
alphabetical listing of
messages 5-4
and event alarms D-1
categories of messages 5-5
description of 5-3
displaying with onstat -m 3-115
displaying with onstat
utility 3-91
file pathname 1-93
location of 1-93
mentioned A-11
syslogd 1-24
viewing messages 5-4
Messages for onspaces 5-34
Metadata
area, structure of 7-42
checking with oncheck 3-5
Microkernel mode 3-26
Mirror chunk, structure 7-7
MIRROR parameter 1-90
Mirroring
enable flag 1-90
initial chunk 1-92
MIRROROFFSET parameter 1-91
MIRRORPATH parameter
description of 1-92
specifying a link pathname 1-92
mknod UNIX command 8-23
MLRU queues. See LRU queues.
Mode, microkernel 3-26
Monitoring
distributed queries 3-129
FIFO queues 8-45
loads and unloads 8-44, 8-46
pipe staging 8-48
SET EXPLAIN ON 8-46
MSGPATH parameter 1-93
Multibyte characters 8-37
Multiprocessor computer
AFF_SPROC parameter 1-21
processor affinity 1-156
MULTIPROCESSOR
parameter 1-94
MVIDXND logical-log record 6-15
A
B
C
D
E
F
G
H
N
Named pipes
anonymity of 8-10
creating with mknod 8-23
definition of 8-22
FIF virtual processors 1-103
loading 8-23
unloading 8-25
NETTYPE parameter
description of 1-96
tuning example 1-96
New features of this
product Intro-6
Newline character
adding 8-27
delimiter usage 8-35
NOAGE parameter
and VPCLASS 1-99
description of 1-99
NODE parameter
description of 1-100
specifying host name 1-100
Node, coserver ID assigned to 1-33
Node, index
branch
creating 7-30, 7-31
definition of 7-28
what points to 7-31
checking horizontal and vertical
nodes 3-11, 3-17, 3-174, 3-176
definition of 7-29
leaf
contents of 7-30
definition of 7-28
pointer 7-30
root 7-29
root node
creating 7-29
definition of 7-28
types of 7-28
when root node fills 7-30
NUMAIOVPS parameter
and VPCLASS 1-101
description of 1-101
Number of page-cleaner
threads 1-30
I
J
K
L
M
N
O
P
Q
NUMCPUVPS parameter
and VPCLASS 1-102
description of 1-102
used by
DS_TOTAL_MEMORY 1-56
NUMFIFOVPS parameter 1-103,
8-24
O
OFF_RECVRY_THREADS
parameter 1-104
ON-Bar
activity log A-6
configuration parameters 1-105
emergency boot files A-7
sm_versions file A-15
system tables 2-10
xbsa.messages log A-16
oncfg_servername.servernum
file A-13
oncheck utility
and locking 3-8
check-and-repair options 3-5
description of 3-5
list of functions 3-6
option descriptions 3-9
options
-cc 3-15
-cd and -cD 3-15
-ce 3-11, 3-17
-ci and -cI 3-17
-cr and -cR 3-18
-cS 3-19
-cs 3-19
-cS and -pS 3-19
-cs and -ps 3-19
-n 3-7, 3-11
-pB 3-19, 3-102
-pD 3-20
-pd 3-20
-pe 3-17, 7-4
-pK 3-20
-pk 3-20
-pL 3-21
-pl 3-21
R
S
T
U
V
W
X
Y
Z
@
-pP 3-21
-pp 3-21
-pr 3-22
-pS 3-19
-ps 3-19
-pT 3-22
-pt 3-22
-u 3-23
-x 3-23
-y 3-7, 3-13
overview of functionality 3-5
suppressing messages 3-13
syntax 3-9
onclean utility B-3
ONCONFIG configuration file
conventions 1-7, 1-10
description A-12
displaying 3-90, 3-98
templates 1-8
white space 1-7
ONCONFIG environment
variable 3-98, A-12
onconfig file A-12
ONCONFIG file parameters. See
Configuration parameter.
onconfig.std file
description A-11
sample A-17, A-26
onconfig.xps file A-11
ondblog utility 3-24
ONDBSPACEDOWN parameter
description of 1-108
overriding WAIT mode 3-55
oninit utility
-m option 3-26
option descriptions 3-29
starting database server 3-26
temporary tables 3-27
On-line help Intro-19
On-line manuals Intro-18
onload utility. See Informix
Migration Guide.
onlog utility
description of 3-31
filters for logical-log records
displaying 3-35
reading 3-34
Index 11
A
B
C
D
E
F
G
H
onmode utility
adding a shared-memory
segment 3-48
changing
database server mode 3-39, 3-41
shared-memory residency 3-43
SQL statement cache usage 3-56
decision-support parameters,
changing 3-52
description of 3-37
forcing a checkpoint 3-41
killing a session 3-44
options
-a add shared-memory
segment 3-48
block 3-42
-c fuzzy 3-42
-D change value of
MAX_PDQPRIORITY 3-52
-d set data replication type 3-46
-e change SQL statement cache
usage 3-56
-F free memory segments 3-54
-I collect diagnostics B-1
-k take off-line 3-39, 3-40
-l switch logical-log file 3-44
-m bring on-line 3-39, 3-40
-M change value of
DS_TOTAL_MEMORY 3-52
-n end forced residency 3-43
-O mark disabled dbspace as
down 3-55
-p add or remove virtual
processor 3-50
-Q change value of
DS_MAX_QUERIES 3-53
-r begin forced residency 3-43
-R regenerate .infos file 3-51
-S change value of
DS_MAX_SCANS 3-53
-s take to quiescent 3-39, 3-40
-u shut down immediately 3-39,
3-40
unblock 3-42
vpclass 3-50
-y confirm action 3-39
-z kill a session 3-44
-Z kill transaction 3-45
12
Informix Administrator’s Reference
I
J
K
L
M
N
O
P
Q
R
overriding ONDBSPACEDOWN
parameter 3-55
setting database server type 3-46
setting decision-support
parameters 3-52
switching logical-log files 3-43
trapping errors B-1
ON-Monitor
archive menu and options 4-11
changing database server
mode 3-41
data-replication screen 4-15
dbspaces menu and options 4-5
diagnostics screen 4-15
force-ckpt option 4-9, 4-11
help 4-4
initialization screen 4-12
mode menu and options 4-11
parameters menu and options 4-5
parameters screens 4-12 to 4-16
PDQ screen 4-16
performance screen 4-14
status menu and options 4-5
onparams utility
adding a logical-log file 3-58
changing physical log size and
location 3-60
description of 3-57
dropping a logical-log file 3-59
onsnmp log file A-13
onspaces utility
adding a chunk 3-76
adding a chunk to an
sbspace 3-78
changing chunk status 3-85
changing sbspace default
specifications 3-73
creating a blobspace, dbspace,
extspace, or temporary
dbspace 3-64
creating an sbspace 3-68
creating an sbspace with -Df 3-69
-Df and CREATE TABLE 3-72
dropping a blobspace, dbspace,
extspace, or sbspace 3-74
dropping a chunk 3-80
ending mirroring 3-84
specifying DATASKIP 3-87
starting mirroring 3-82
S
T
U
V
W
X
Y
Z
onsrvapd.log file A-13
onstat utility
description of 3-88
displaying the ONCONFIG
file 3-90
filename_dest 3-92
filename_source 3-92
freeing blobpages and
timing 3-102
header 3-93
options
-a 3-90, 3-95
-B 3-90, 3-97
-b 3-90, 3-95
-C 3-90
-c 3-90, 3-98
-D 3-90, 3-102
-d 3-90, 3-98, 3-102
-F 3-90, 3-103
-f 3-90
-g 3-104
-g act 3-104
-g afr 3-104
-g all 3-104
-g ath 3-104, C-3
-g bus 3-105
-g bus_sm 3-105
-g cac agg 3-105
-g cac stmt 3-105
-g con 3-105, C-4
-g dfm 3-105
-g dic 3-105
-g dll 3-105
-g dri 3-105
-g dsc 3-105
-g ffr 3-105
-g glo 3-106
-g ioa 3-106
-g iob 3-95, 3-106
-g iof 3-106
-g iog 3-106
-g ioq 3-106, 8-44, 8-45
-g iov 3-106
-g lmx 3-106
-g mgm 3-53, 3-106
-g nbm 3-106
-g nsc 3-107
-g nsd 3-107
-g nss 3-107
@
A
B
C
D
E
F
-g nta 3-107
-g ntd 3-107
-g ntm 3-107
-g ntt 3-107
-g ntu 3-107
-g pos 3-107
-g ppf 3-107
-g prc 3-107
-g qst 3-107
-g rbm 3-107
-g rea 3-108
-g rgm 3-108
-g sch 3-108
-g seg 3-108
-g ses C-4
-g sle 3-108
-g spi 3-108
-g sql 3-108, 8-44
-g stk 3-108
-g sts 3-109
-g tpf 3-109
-g ufr 3-109
-g wai 3-109
-g wmx 3-109
-g wst 3-109
-g xmf 3-109
-g xmp 3-109, 8-44
-g xqp 3-109
-g xqs 3-109, 8-44, 8-48
-h 3-90
-i 3-90, 3-110
-k 3-90, 3-111, 3-112
-l 3-91, 3-113
-m 3-91, 3-115, 5-4
-O 3-91, 3-115
-o 3-91
-P 3-91
-p 3-117
-R 3-91, 3-121
-r 3-91
-s 3-91, 3-123
-t 3-91, 3-125
-u 3-91, 3-126, C-3, C-4
-X 3-92, 3-131
-x 3-45, 3-92, 3-129
-z 3-92, 3-131
-- 3-90, 3-95
(none) 3-95
G
H
I
J
K
L
M
N
O
P
Q
R
repeated execution with -r 3-91
repeated execution with seconds
parameter 3-93
syntax 3-89
table of options and
functions 3-90
terminating interactive
mode 3-110
terminating repeating
sequence 3-110
using SMI tables for onstat
information 2-37
using with shared-memory
source file 3-92
ontape utility
data-replication functions 3-134
description of 3-132
exit codes 3-134
LTAPEBLK, use of 1-79, 1-145
LTAPEDEV, use of 1-81
LTAPESIZE, use of 1-82
TAPEDEV, use of 1-146
TAPESIZE, use of 1-147
tasks performed by 3-132
onunload utility
LTAPEBLK, use of 1-79, 1-145
LTAPEDEV, use of 1-81
LTAPESIZE, use of 1-82
TAPEDEV, use of 1-146
TAPESIZE, use of 1-147
See also Informix Migration Guide.
onutil thread C-2
onutil utility
cogroup name 3-141
cogroup_range_identifier 3-141
commands
ALTER DBSLICE ADD
DBSPACE 3-150
ALTER DBSPACE 3-159
ALTER LOGSLICE ADD
LOG 3-167
CHECK CATALOGS 3-170
CHECK DATA 3-171
CHECK INDEX 3-174
CHECK INDEX KEYS WITH
DATA 3-176
CHECK INFO 3-178, 3-179,
3-181
CHECK LOGS 3-181
S
T
U
V
W
X
Y
Z
@
CHECK RESERVED 3-183
CHECK SPACE 3-186
CREATE COGROUP 3-188
CREATE DBSLICE 3-194
CREATE DBSPACE 3-207
CREATE LOGICAL LOG 3-212
CREATE LOGICAL
LOGSLICE 3-215
DISPLAY PAGE 3-217
DROP COGROUP 3-220
DROP DBSLICE 3-222
DROP DBSPACE 3-223
DROP LOGICAL LOG 3-224
DROP LOGSLICE 3-226
coserver_list 3-143
coserver_name 3-142
coserver_range_identifier 3-145
dbslice names 3-146
dbspace names 3-146
derviced_dbspace_identifier 3-14
6
description of 3-135
DISPLAY and SAVE
keywords 3-138
identifers 3-140
index names 3-147
invoking 3-136
logslice names 3-147
onxfer utility. See Informix
Migration Guide.
ON_RECVRY_THREADS
parameter 1-104
OPCACHEMAX parameter 1-109
OPERATIONAL table
express-mode loads 8-9, 8-13,
8-30
recovery of 8-52
oper_deflt.arc file, contents A-13
OPTCOMPIND
configuration parameter 1-110
environment variables 1-110
Optical storage and STAGEBLOB
parameter 1-141
Optical Subsystem memory cache
allocation 3-115
availability of memory 3-115
description of 3-91, 3-115
kilobytes of TEXT and BYTE data
written to staging area 3-116
Index 13
A
B
C
D
E
F
G
H
number of kilobytes 3-115
number of objects written 3-115,
3-116
number of simple large objects
written 3-116
session ID for user 3-116
size 3-115
size of simple large object 3-116
user ID of client 3-116
Optimizing
hash joins and nested-loop
joins 1-111
load performance 8-10
OPT_GOAL parameter 1-111
P
Page
bit-map page 7-38
blobspace blobpage 7-38
blobspace free-map page 7-38
components of dbspace page 7-22
compression 7-26
dbspace blobpage 7-37
dbspace page types 7-14, 7-17
definition of full page 7-25
displaying contents with
oncheck 3-21
free page, definition of 7-15, 7-17
page types in extent 7-14, 7-17
reuse of index page 7-33
size, shown with onstat -b 3-97
structure and storage of 7-22
Page compression 7-26
Page-cleaner threads
codes for activity state 3-103
monitoring activity 3-90, 3-103
number of 1-30
PAGESIZE parameter 1-112
PAGE_CONFIG reserved
page 3-18
Parallel database query. See PDQ.
Parallel sort threads
(psortproc) C-2
Parallel-processing platform 1-20,
1-21
Parameters, setting decisionsupport with onmode 3-52
14
Informix Administrator’s Reference
I
J
K
L
M
N
O
P
Q
R
Partition. See Tblspace.
Partnum field in systables 7-10
Pathname-format
description of 3-148
specifying in ALTER
DBSLICE 3-155
specifying in CREATE
DBSLICE 3-199
PBDELETE logical-log record 6-15
PBINSERT logical-log record 6-15
PC_HASHSIZE parameter 1-114
PC_POOLSIZE parameter 1-114
PDELETE record subtype
(SBLOB) 6-22
PDINDEX logical-log record 6-15
PDQ (parallel database query)
DS_MAX_QUERIES
parameter 1-52
DS_MAX_SCANS
parameter 1-53
DS_TOTAL_MEMORY
parameter 1-55
MAX_PDQPRIORITY
parameter 1-88
PDQPRIORITY parameter 1-88
PDQPRIORITY parameter
and MAX_PDQPRIORITY 1-88
description of 1-115
Pending transaction 3-129
PERASE logical-log record 6-16
PGALTER logical-log record 6-15
PGMODE logical-log record 6-16
PHYSBUFF parameter 1-117
PHYSDBS parameter 1-119
PHYSFILE parameter 1-120
Physical log
checking consistency 3-18
in root dbspace 7-4
size of 1-120
Physical-log buffer
dbspace location 1-119
size of 1-117
PHYSSLICE parameter 1-121
Pipe staging
and simple large objects 8-40
definition 8-40
illustration 8-40
using temporary dbspaces 8-41
xlread operators 8-43
S
T
U
V
W
X
Y
Z
@
Plan Monitoring Infrastructure
(PMI), using
PLAN_MONITORING
parameter 1-122
PLAN_MONITORING
parameter 1-122
Platform icons Intro-13
Platform, parallel-processing 1-20,
1-21
PNLOCKID logical-log record 6-16
PNSIZES logical-log record 6-16
Point-in-time restore. See Backup and
Restore Guide or Archive and
Backup Guide.
PostInstall.tmp file A-14
PREPARE logical-log record 6-16
Primary key, use in fragmented
table 7-24
Primary thread C-2
Printed manuals Intro-18
Printing
active threads (onstat -g
act) 3-104
AIO global information (onstat -g
iog) 3-106
allocated fragments (onstat -g
ufr) 3-109
allocated memory fragments
(onstat -g afr) 3-104
asynchronous I/O statistics
(onstat -g iof) 3-106
asynchronous I/O statistics
(onstat -g iov) 3-106
backup scheduler status (onstat -g
bus) 3-105
big-buffer use (onstat -g
iob) 3-106
block bit map (onstat -g
nbm) 3-106
block bit map (onstat -g
rbm) 3-107
combined information (onstat -g
ioa) 3-106
conditions with waiters (onstat -g
con) 3-105
coserver communications (onstat
-g xmf) 3-109
A
B
C
D
E
F
G
H
data-distribution cache
information (onstat -g
dsc) 3-105
data-flow information (onstat -g
dfm) 3-105
data-replication information
(onstat -g dri) 3-105
free fragments for a sharedmemory pool (onstat -g
ffr) 3-105
global multithreading
information (onstat -g
glo) 3-106
information about query plan
(onstat -g xqp) 3-109
information about query
segments (onstat -g
xmp) 3-109
list of loaded dynamic libraries
(onstat -g dll) 3-105
locked mutexes (onstat -g
lmx) 3-106
MGM resource information
(onstat -g mgm) 3-106
multithreading information
(onstat -g all) 3-104
mutexes with waiters (onstat
-wmx) 3-109
network statistics
by service (onstat -g ntd) 3-107
combined (onstat -g nta) 3-107
mail (onstat -g ntm) 3-107
users (onstat -g ntu) 3-107
network user times (onstat -g
ntt) 3-107
partition profile (onstat -g
ppf) 3-107
pending I/O operations (onstat -g
ioq) 3-106
query statistics for active plans
(onstat -g xqs) 3-109
queue statistics (onstat -g
qst) 3-107
ready threads (onstat -g
rea) 3-108
RGM information (onstat -g
rgm) 3-108
semaphores, spins, busy waits
(onstat -g sch) 3-108
I
J
K
L
M
N
O
P
Q
R
shared-memory data for poll
threads (onstat -g nsd) 3-107
shared-memory segment statistics
(onstat -g seg) 3-108
shared-memory status for clients
(onstat -g nsc) 3-107
shared-memory status for
sessions (onstat -g nss) 3-107
sleeping threads (onstat -g
sle) 3-108
spin locks (onstat -g spi) 3-108
SPL routine cache (onstat -g
prc) 3-107
SQL information (onstat -g
sql) 3-108
SQL statement cache (onstat -g cac
stmt) 3-105
stack use per thread (onstat -g
sts) 3-109
storage-manager configuration
(onstat -g bus_sm) 3-105
tables cached in shared-memory
dictionary (onstat -g
dic) 3-105
thread profile (onstat -g tpf) 3-109
wait statistics (onstat -g
wst) 3-109
waiting threads (onstat -g
wai) 3-109
.infos.dbservername file (onstat -g
pos) 3-107
Priority aging, of CPU virtual
processors 1-99
Private environment file A-8
Processor affinity
AFF_NPROCS parameter 1-20
and AFF_SPROC parameter 1-21,
1-156
set with VPCLASS 1-156
Processor, locking for multiple or
single 1-94
Product icons Intro-13
Profile
displaying counts with
onstat -p 3-117
displaying counts with onstat
utility 3-91
monitoring with SMI 2-23
setting counts to zero 3-92, 3-131
S
T
U
V
W
X
Y
Z
@
Program group
Documentation notes Intro-20
Release notes Intro-20
psortproc threads C-2
PSORT_DBTEMP environment
variable 8-42
PTADESC logical-log record 6-16
PTALTER logical-log record 6-17
PTCOLUMN logical-log
record 6-17
PTEXTEND logical-log record 6-17
PTRENAME logical-log
record 6-17
PTRUNC record subtype
(SBLOB) 6-22
Q
Query Monitor,
PLAN_MONITORING
parameter 1-122
Query plan, XMP section 8-47
Quiescent mode
oninit -s option 3-27, 3-28, 3-39,
3-40
R
RAW table
express-mode loads 8-9, 8-13,
8-28
loading from another database
server 8-31
recovery of 8-52
RA_PAGES parameter 1-123
RA_THRESHOLD
parameter 1-124
RDELETE logical-log record 6-17
Read-ahead
number of
data pages 1-123
index pages 1-65
threshold for
data pages 1-124
index pages 1-66
RECORDEND keyword 8-17
Index 15
A
B
C
D
E
F
G
H
Recovery threads
off-line 1-104
on-line 1-104
REFCOUNT record subtype
(SBLOB) 6-22
Referential constraints and
violations table 8-5
Reject files 8-4, 8-49
REJECTFILE keyword 8-49
Related reading Intro-21
Release notes Intro-20
Remainder page, description
of 7-25
Removing virtual processors
CPU 3-50
syntax diagram 3-49
Replication server. See Data
replication.
Reserved pages
checking with oncheck 3-11, 3-18
checking with onutil 3-183
description of 7-5
location in root dbspace 7-4
viewing contents 7-5
RESIDENT parameter
and onmode utility 3-43
description of 1-125
Resident shared memory
RESIDENT parameter 1-125
turning on and off residency 3-43
RESTARTABLE_RESTORE
parameter 1-107, 1-125
Restarting the database server 1-18
Restore boot file (rixbar) A-7
Reuse of freed index pages 7-33
Reversion. See Informix Migration
Guide.
REVERT logical-log record 6-17
RINSERT logical-log record 6-17
rofferr utility Intro-19
ROLLBACK logical-log record 6-18
Root dbspace
initial chunk 1-128, 1-129
linking to 1-129
mirroring 1-92
specified by ROOTNAME
parameter 1-127
structure 7-4
using a link 1-128
16
Informix Administrator’s Reference
I
J
K
L
M
N
O
P
Q
R
ROOTNAME parameter
description of 1-127
use by PHYSDBS 1-118
ROOTOFFSET parameter 1-127
ROOTPATH parameter
description of 1-128, 1-129
specifying as a link 1-93, 1-129
ROOTSIZE parameter 1-130
ROOTSLICE parameter 1-130
Row
data, storage of 7-25
displaying contents with
oncheck 3-20
storage location 7-25
Rowid
description of 7-23
for fragmented table 7-24
functions as forward pointer 7-23
locking information derived
from 3-112
stored in index pages 7-23
RSVEXTEN logical-log record 6-18
RUPAFT logical-log record 6-18
RUPBEF logical-log record 6-18
RUPDATE logical-log record 6-18
S
SADDR parameter 1-34
sales_demo database Intro-5
Sample onconfig.std file A-17, A-26
Sample-code conventions Intro-17
SBLOB logical-log record 6-19, 6-21
Sbpage structure 7-43
Sbspace
chunk free extent list 7-41
chunk header structure 7-41
default name 1-131
metadata area structure 7-42
multiple chunk 7-44
onstat -d usage 3-101
sbpage structure 7-43
statistics for user-defined
data 1-144
structure 7-40
SBSPACENAME parameter 1-131
SBUFFER parameter 1-158
S
T
U
V
W
X
Y
Z
@
Screen-illustration
conventions Intro-17
Secondary session thread
(x_exec_*) C-2
Segment. See Chunk.
SENDEPDS parameter 1-132, 1-158
Serial columns, loading 8-28
SERVERNUM parameter 1-133
servicename.exp file A-14
servicename.str file A-14
Session, information in SMI
tables 2-25, 2-26
SET EXPLAIN ON example 8-46
SET STATEMENT CACHE ON
statement 3-56
Setting the data replication
type 3-46
Shared library files A-7
Shared memory
adding segment with
onmode 3-48
base address 1-135
buffer, frequency of flushing 1-77
buffer, maximum number 1-27
changing residency with
onmode 3-43
changing with onmode 3-52
dumps 1-60, 1-62
examining with SMI 2-6
initializing 3-26
monitoring 3-88
physical-log buffer 1-117
resident portion, flag 1-125
saving copy of with onstat 3-91
segments, dynamically added,
size of 1-134
size displayed by onstat 3-93
use of SERVERNUM
parameter 1-133
virtual segment, initial size 1-137
SHMADD parameter
64-bit addressing 1-134
description of 1-134
SHMBASE parameter 1-135
shmem file
and DUMPSHMEM
parameter 1-62
shmem.xxx A-15
SHMTOTAL parameter 1-136
A
B
C
D
E
F
G
H
SHMVIRTSIZE parameter
64-bit addressing 1-137
description of 1-137
Shutting down the database
server 3-39, 3-40
Simple large objects
loading with external tables 8-32,
8-38
pipe staging 8-40
SINGLE_CPU_VP parameter 1-139
Size, index fragments 7-14
Smart large object
default name 1-131
logging 3-71, 3-73
logical-log records 6-21
statistics for user-defined
data 1-144
SMI table
Backup Scheduler tables 2-10
description of 2-6
list of supported tables 2-8
See also sysmaster database;
System-monitoring interface.
sm_versions.std file A-15
snmpd.log file A-15
Software dependencies Intro-4
SQL code Intro-17
SQL statement cache, changing
usage 3-56
SQLCA, warning flag when
fragment skipped during
query 1-35
sqlexec thread C-2
sqlhosts file A-15
sqlhosts file and registry, multiple
dbservernames 1-37
sqlmux, multiplexed connections in
NETTYPE parameter 1-99
STACKSIZE parameter 1-140
STAGEBLOB parameter 1-141
Staging. See Pipe staging.
STANDARD table
deluxe-mode load 8-13, 8-15
recovery of 8-52
Starting database server with
oninit 3-26
STATIC table
loading data 8-29
recovery of 8-52
I
J
K
L
M
N
O
P
Q
R
Statistics. See onstat utility.
STMT_CACHE environment
variables 3-56
STMT_CACHE parameter 1-142
STMT_CACHE_SIZE
parameter 1-142
Storage manager
and onstat -g bus_sm 3-105
xbsa.messages log A-16
stores_demo database Intro-5
Structured Query Language (SQL)
UPDATE STATISTICS
statement 1-144
superstores_demo database Intro-5
Suspension, thread. See Thread
Suspension.
Symbolic link
using with shared libraries A-8
using with TAPEDEV 1-146
SYNC logical-log record 6-19
sysadtinfo table 2-11
SYSALARMPROGRAM
parameter 1-143
sysaudit table 2-12
sysbuobject table 2-10
sysbuobjses table 2-10
sysbusession table 2-10
sysbusm table 2-10
sysbusmdbspace table 2-10
sysbusmlog table 2-11
sysbusmworker table 2-11
sysbuworker table 2-11
syschkio table 2-13
syschunks table 2-13
syscogroupmembers table 2-33
syscogroups table 2-33
sysconfig table 2-15
sysdatabases table 2-16
sysdbslocale table 2-17
sysdbspaces table 2-17
sysdri table 2-19
sysessions table 2-28
sysextents table 2-20
sysextspaces table 2-20
syslocks table 2-21
syslogd (UNIX message log) 1-24
syslogs table 2-22
S
T
U
V
W
X
Y
Z
@
sysmaster database
buildsmi.xxx file A-6
description 2-3
failure to build A-6
functionality of 2-3
initialization 3-26
list of topics covered by 2-6
SMI tables 2-6
space required to build 2-5
sysextspaces 2-20
types of tables 2-3
warning 2-4
when created 2-4
See also SMI table; Systemmonitoring interface.
sysprofile table 2-23
sysptprof table 2-25
SYSSBSPACENAME
parameter 1-144
syssesprof table 2-26
sysseswts table 2-30
systabnames table 2-31, 3-179
System catalog tables
and oncheck 3-15
checking with onutil 3-170
disk space allocation for 7-45
how tracked 7-46
listing 3-12, 3-186
sysdistrib 1-144
sysfragments table 7-11
systraceclasses B-2
systracemsgs B-2
tracking a new database 7-46
tracking a new table 7-47
System requirements
database Intro-4
software Intro-4
System-monitoring interface (SMI)
accessing SMI tables 2-7
and locking 2-8
and SPL 2-8
and triggers 2-7
description 2-3
obtaining onstat information 2-37
tables
Backup Scheduler tables 2-10
list of supported 2-8
sysadtinfo 2-11
sysaudit 2-12
Index 17
A
B
C
D
E
F
G
H
sysbuobject 2-10
sysbuobjses 2-10
sysbusession 2-10
sysbusm 2-10
sysbusmdbspace 2-10
sysbusmlog 2-11
sysbusmworker 2-11
sysbuworker 2-11
syschkio 2-13
syschunks 2-13
syscogroupmembers 2-33
syscogroups 2-33
sysconfig 2-15
sysdatabases 2-16
sysdbslocale 2-17
sysdbspaces 2-17
sysdri 2-19
sysextents 2-20
sysextspaces 2-20
syslocks 2-21
syslogs 2-22
sysprofile 2-23
sysptprof 2-25
syssesprof 2-26
syssessions 2-28
sysseswts 2-30
systabnames 2-31
sysvpprof 2-32
using SELECT statements 2-7
viewing tables with dbaccess 2-7
See also SMI table.
systraceclasses system catalog
table B-2
systracemsgs system catalog
table B-2
sysutil tables 2-10
sysvpprof table 2-32
T
Table
creating, what happens on
disk 7-45, 7-46
displaying allocation
information 3-22
migration. See also Informix
Migration Guide.
monitoring with SMI 2-31
18
Informix Administrator’s Reference
I
J
K
L
M
N
O
P
Q
R
naming conventions 3-151, 3-194
pseudotables 2-6
SMI tables 2-6
temporary
effects of creating 7-48
message reporting cleanup 5-17
TABLOCKS logical-log record 6-20
tail -f command 5-4
Tape device, block size 1-80
TAPEBLK parameter 1-145
TAPEDEV parameter
description of 1-146
using a symbolic link 1-146
TAPESIZE parameter 1-147
Tblspace
displaying information with
onstat 3-91
displaying information with
onstat -t 3-125
for table fragment 7-11, 7-27
monitoring with SMI 2-25
number 7-10
displayed 3-125
elements 7-11
Tblspace number
description of 7-10
displaying with onstat -t 3-125
for table fragment 7-11
includes dbspace number 7-10
Tblspace tblspace
bit-map page 7-12
description of 7-9
entries 7-9
location in a chunk 7-5
location in root dbspace 7-4
size 7-11
structure and function 7-9
tracking new tables 7-47
TBLSPACE_STATS
parameter 1-148
Template
AC_CONFIG file A-6
ONCONFIG file
multicoserver A-11
standard A-11
Temporary dbspace
creating 3-207, 3-210
staging of simple large
objects 8-41
S
T
U
V
W
X
Y
Z
@
Temporary table
DBSPACETEMP parameter 1-40
rules for use 1-41
with oninit utility 3-27
TEXT and BYTE data
descriptor, description of 7-22,
7-37
effect of modifying on
storage 7-38
role of descriptor 7-38
role of descriptor in storage 7-37
size limitations 7-38
storage on disk 7-37
storing 7-36
updating 7-38
when modified 7-38
when written 7-37
TEXT data type
See Simple large objects.
TEXT external type
definition of 8-35
SQL example 8-35
Thread
coserver 8-10
onstat -X usage 3-92, 3-131
suspension
monitoring C-3
primary threads C-2
reporting and clearing C-5
secondary threads C-2
Thread suspension C-1
Time stamp, blobspace
blobpage 7-40
Time-out condition 3-104
Tip icons Intro-13
Trace class B-2
Trace message B-2
Tracepoints B-2
Transaction
heterogeneous commit 1-64
kill with onmode -Z 3-45
pending 3-129
Transaction logging. See Logging.
Trapping errors with onmode B-1
TRUNCATE statement 8-30
Truncating a table 8-30
Tuning
large number of users 1-97
use of NETTYPE parameter 1-96
A
B
C
D
E
F
G
H
Two-phase commit protocol, killing
distributed transactions 3-45
TXTIMEOUT parameter
and onmode utility 3-45
description of 1-149
U
UDINSERT
logical-log record 6-20
record subtype (SBLOB) 6-23
UDUPAFT
logical-log record 6-20
record subtype (SBLOB) 6-23
UDUPBEF
logical-log record 6-20
record subtype (SBLOB) 6-23
UDWRITE
logical-log record 6-20
record subtype (SBLOB) 6-23
Unblocking database server 3-42
Unbuffered transaction logging. See
Logging.
UNDO logical-log record 6-20
UNDOBLDC logical-log
record 6-20
UNIQID logical-log record 6-21
Unique constraints and violations
table 8-5
UNIX operating system, default
locale for Intro-4
Unloading data
from a fixed-ASCII file 8-21
from Informix internal
format 8-33
named pipes 8-25
to a delimited file 8-17, 8-34
to an Informix file 8-19
UPDAFT logical-log record 6-21
UPDATE STATISTICS statement
DROP DISTRIBUTIONS 1-144
HIGH mode 1-144
MEDIUM mode 1-144
UPDBEF logical-log record 6-21
USEOSTIME parameter 1-149
I
J
K
L
M
N
O
P
Q
R
User session
monitoring with SMI 2-28
status codes 3-126
User-defined aggregate, definitions
in cache (onstat -g cac
agg) 3-105
User-defined data type, data
distributions 1-144
User-defined routines,
debugging B-2
Users, types of Intro-3
Utilities
gcore 1-58, 1-61
oncheck 3-5
onclean B-3
ondblog 3-24
oninit 3-26
onlog 3-31
onmode 3-37
onparams 3-57
onspaces 3-62
onstat 3-88
ontape 3-132
onutil 3-135
-V option 3-4
xctl 3-227
V
-V option 3-4
VARCHAR data type
4-bit bit map requirement 7-14,
7-17
implications for data row
storage 7-25
indexing considerations 7-34
storage considerations 7-22
Violations table
deferred constraints 8-16
description of 8-4
errors 8-51
messages 5-50, 5-53
referential or unique
constraints 8-5, 8-30
S
T
U
V
W
X
Y
Z
@
Virtual processor
adding or removing with
onmode 3-49
number in
AIO class 1-101
CPU class 1-102
FIF class 1-103, 8-46
priority aging 1-99
VPCLASS parameter
and AFF_NPROCS 1-21
and AFF_SPROC 1-22
and NOAGE 1-99
and NUMAIOVPS 1-101
and onmode utility 3-50
default values 1-152
description of 1-151
in ONCONFIG file 1-151
reserved names 1-153
setting maximum VPs 1-156
setting number of VPs 1-155
setting processor affinity 1-156
use by
DS_TOTAL_MEMORY 1-56
user-defined classes 1-154
VP.servername.nnx file A-16
W
Warning
buildsmi script 2-5
when fragment skipped during
query processing 1-35
Warning icons Intro-13
White space in ONCONFIG file 1-7
wids 7-23
Windows NT
adding or removing virtual
processors 3-50
default locale for Intro-4
Index 19
A
B
C
D
E
F
G
H
X
XAPREPARE logical-log
record 6-21
xbsa.messages log A-16
xcfg_servername.servernum
file A-16
xctl utility
environment variables for 3-229
execution on multiple
coservers 3-231
hosts file 3-228
selecting type of processing
background 3-230
interactive 3-231
specifying coservers 3-230
syntax 3-227
working directory 3-229
xlc (xload load converter) 8-6
xlcnv (load converter) 8-47
xlr (xload load reader) 8-6
xlread instance
and pipe staging 8-41, 8-43
coservers 8-46
XMF configuration
parameters 1-158
XMF (eXtended Message
Facility) 1-158
XMP query plan 8-47
X/Open compliance level Intro-21
x_exec_* thread C-2
Symbols
%c formatting character
3-148, 3-153, 3-197
%n formatting character
3-148
%o formatting character
3-148
%r formatting character
20
3-143,
3-143,
3-143,
3-141
Informix Administrator’s Reference
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
@
Download PDF
Similar pages