Informix 11.70 information center home
Notices
Links to non-IBM websites
Complete Informix library
Find publications in PDF format
Translated documentation
Become a site contributor
What's new in the information center
Subscribing to information center updates
OpenSearch browser plugin
Example code conventions
Syntax diagrams
Reading command-line syntax diagrams
Keywords and punctuation
Identifiers and names
Dotted decimal syntax diagrams
Viewing information in the information center
Preparing to use information center
Supported browsers for the information center
Displaying information in your preferred language
Navigating in the information center
Searching the information center
Advanced search techniques
Performing a quick search
Setting the appropriate scope
Using the existing scope
Modifying the existing scope
Creating a new scope
Reading multiple topics
Finding information by using the index view
Printing topics in the information center
Setting bookmarks in the information center
Accessibility features in the information center
Frame structure used in the information center
Keyboard shortcuts and accelerators
Collaborating in the information center
Setting collaboration preferences
Collaborating with other information center users
Collaborating by using the keyboard
Notices
Links to non-IBM websites
Complete Informix library
Find publications in PDF format
Translated documentation
Become a site contributor
What's new in the information center
Subscribing to information center updates
OpenSearch browser plugin
Example code conventions
Syntax diagrams
Reading command-line syntax diagrams
Keywords and punctuation
Identifiers and names
Dotted decimal syntax diagrams
Viewing information in the information center
Preparing to use information center
Supported browsers for the information center
Displaying information in your preferred language
Navigating in the information center
Searching the information center
Advanced search techniques
Performing a quick search
Setting the appropriate scope
Using the existing scope
Modifying the existing scope
Creating a new scope
Reading multiple topics
Finding information by using the index view
Printing topics in the information center
Setting bookmarks in the information center
Accessibility features in the information center
Frame structure used in the information center
Keyboard shortcuts and accelerators
Collaborating in the information center
Setting collaboration preferences
Collaborating with other information center users
Collaborating by using the keyboard
Product overview
What's new in Informix
Getting started
Products
IBM Informix editions
Accessibility features for IBM Informix products
Compliance with industry standards
Assumptions about your locale
Demonstration databases
Release information
Informix
11.70.xC4
Release notes (Windows)
Fixed and known defects (Windows)
Release notes (UNIX, Linux, Mac OS X)
Fixed and known defects (UNIX, Linux, Mac OS X)
Documentation notes
Machine notes
HEWLETT PACKARD HP-UX 64bit
HEWLETT PACKARD HP-UX Itanium
IBM AIX 64bit
Linux Intel
Linux Power Series
Linux x86_64
Linux zSeries
Mac OS X Server x86_64
SUN SOLARIS 64bit
SUN Solaris x64
Windows
Window x64
Informix ILS 3.50.MC6 Readme
Developer Edition
Release notes (Windows)
Release notes (UNIX, Linux, Mac OS X)
11.70.xC3
Release notes (Windows)
Release notes (UNIX, Linux, Mac OS X)
Fixed and known defects
Documentation notes
Machine notes
HEWLETT PACKARD HP-UX 64bit
HEWLETT PACKARD HP-UX Itanium
IBM AIX 6.1 64bit
Linux Intel
Linux Power Series
Linux x86_64
Linux zSeries
Mac OS X Server x86_64
SUN SOLARIS 64bit
SUN Solaris x64
Windows
Window x64
Informix ILS 3.50.MC5 Readme
Developer Edition
Release notes (Windows)
Release notes (UNIX, Linux, Mac OS X)
11.70.xC2
Release notes (Windows)
Fixed and known defects (Windows)
Release notes (UNIX, Linux, Mac OS X)
Fixed and known defects (UNIX, Linux, Mac OS X)
Documentation notes
Machine notes
HEWLETT PACKARD HP-UX 64bit
HEWLETT PACKARD HP-UX Itanium
IBM AIX 6.1 64bit
Linux Intel
Linux Power Series
Linux x86_64
Linux zSeries
Mac OS X Server x86_64
SUN SOLARIS 64bit
SUN Solaris x64
Windows
Window x64
Informix ILS 3.50.MC5 Readme
Developer Edition
Release notes (Windows)
Release notes (UNIX, Linux, Mac OS X)
11.70.xC1
Release notes (Windows)
Fixed and known defects (Windows)
Release notes (UNIX, Linux, Mac OS X)
Fixed and known defects (UNIX, Linux, Mac OS X)
Documentation notes
Machine notes
HEWLETT PACKARD HP-UX 64bit
HEWLETT PACKARD HP-UX Itanium
IBM AIX 6.1 64bit
Linux Intel
Linux Power Series
Linux x86_64
Linux zSeries
Mac OS X Server x86_64
SUN SOLARIS 64bit
SUN Solaris x64
Windows
Window x64
Informix ILS 3.50.MC5 Readme
Developer Edition
Release notes (Windows)
Release notes (UNIX, Linux, Mac OS X)
Client SDK
3.70.xC4
CSDK and ICONNECT Release and documentation notes
Connection Manager Release and documentation notes
ESQL/C Release and documentation notes
GLS 5.00.xC5 Release and documentation notes
Informix JDBC Driver 3.70.JC4 Release and documentation notes
Informix .NET Provider Release and documentation notes
Object Interface for C++ Release and documentation notes
ODBC Driver Release and documentation notes
OLE DB Provider Release and documentation notes
Defects Fixed Addendum
Machine notes
C++ Interface
ESQL/C
GLS API
Informix .NET Provider
ODBC Driver
OLE DB Provider
Informix ILS 3.50.MC6 Readme
3.70.xC3
CSDK and ICONNECT Release and documentation notes
Connection Manager Release and documentation notes
ESQL/C Release and documentation notes
GLS 5.00.xC4 Release and documentation notes
Informix JDBC Driver 3.70.JC3 Release and documentation notes
Informix .NET Provider Release and documentation notes
Object Interface for C++ Release and documentation notes
ODBC Driver Release and documentation notes
OLE DB Provider Release and documentation notes
Defects Fixed Addendum
Machine notes
C++ Interface
ESQL/C
GLS API
Informix .NET Provider
ODBC Driver
OLE DB Provider
Informix ILS 3.50.MC5 Readme
3.70.xC2
CSDK and ICONNECT Release and documentation notes
Connection Manager Release and documentation notes
ESQL/C Release and documentation notes
GLS 5.00.xC4 Release and documentation notes
Informix JDBC Driver 3.70.JC2 Release and documentation notes
Informix .NET Provider Release and documentation notes
Object Interface for C++ Release and documentation notes
ODBC Driver Release and documentation notes
OLE DB Provider Release and documentation notes
Defects Fixed Addendum
Machine notes
C++ Interface
ESQL/C
GLS API
Informix .NET Provider
ODBC Driver
OLE DB Provider
Informix ILS 3.50.MC5 Readme
3.70.xC1
CSDK and ICONNECT Release and documentation notes
Connection Manager Release and documentation notes
ESQL/C Release and documentation notes
GLS 5.00.xC4 Release and documentation notes
Informix JDBC Driver 3.70.JC1 Release and documentation notes
Informix .NET Provider Release and documentation notes
Object Interface for C++ Release and documentation notes
ODBC Driver Release and documentation notes
OLE DB Provider Release and documentation notes
Defects Fixed Addendum
Machine notes
C++ Interface
ESQL/C
GLS API
Informix .NET Provider
ODBC Driver
OLE DB Provider
Informix ILS 3.50.MC5 Readme
Informix JDBC Driver
Release and documentation notes, 3.70.JC4
Release and documentation notes, 3.70.JC3
Release and documentation notes, 3.70.JC2
Release and documentation notes, 3.70.JC1
DBDK and BladeManager
DBDK Release notes, 4.20.xC1
DBDK Documentation notes, 4.20.xC1
BladeManager Release notes, 4.20.xC1
BladeManager Documentation notes, 4.20.xC1
Excalibur Text Search DataBlade Module
Release and documentation notes, 1.31.xC1
Machine notes, 1.31.xC1
Geodetic DataBlade Module
Release notes, 3.12.xC1
Documentation notes, 3.12.xC1
Web DataBlade Module
Release notes, 4.13.xC4
Documentation notes, 4.13.xC4
Machine notes, 4.13.xC4
Informix Warehouse Accelerator
Release notes, 11.70.xC4
Release notes, 1.1.3
Release notes, 1.1
Informix SQL Warehousing Tool
Release notes, 11.70
Informix Virtual Appliance
Release notes, 11.70.xC4
Release notes, 11.70.xC3
Release notes, 11.70.xC2
Release notes, 11.70.xC1
Informix 4GL
7.50.xC6
Release notes
Documentation notes
Machine notes
Machine notes for AIX 6.1 32-bit
Machine notes for AIX 6.1 64-bit
Machine notes for HP-UX 11 32-bit
Machine notes for HP-UX 11 64-bit
Machine notes for HP-UX Itanium 11.31 32-bit
Machine notes for HP-UX Itanium 11.31 64-bit
Machine notes for Linux Intel 32-bit
Machine notes for Linux Intel/AMD 64-bit
Machine notes for Linux PPC 64-bit
Machine notes for Solaris 32-bit
Machine notes for Solaris 64-bit
7.50.xC5
Release notes
Documentation notes
Machine notes
Machine notes for AIX 5.3 32-bit
Machine notes for AIX 5.3 64-bit
Machine notes for HP-UX 11 32-bit
Machine notes for HP-UX 11 64-bit
Machine notes for HP-UX Itanium 11.23 32-bit
Machine notes for HP-UX Itanium 11.23 64-bit
Machine notes for Linux Intel 32-bit
Machine notes for Linux Intel/AMD 64-bit
Machine notes for Solaris 32-bit
Machine notes for Solaris 64-bit
7.50.xC4
Release notes
Documentation notes
Machine notes
Machine notes for AIX 5.3 64-bit
Machine notes for HP-UX Itanium 11.23 64-bit
Machine notes for Linux Intel 32-bit
Machine notes for Solaris 64-bit
OpenAdmin Tool (OAT)
Release notes, 2.74
Release notes, 2.73
Education
Course catalog
e-Learning
Certification
Academic Initiative program
Conferences and public events
What's new in Informix
Getting started
Products
IBM Informix editions
Accessibility features for IBM Informix products
Compliance with industry standards
Assumptions about your locale
Demonstration databases
Release information
Informix
11.70.xC4
Release notes (Windows)
Fixed and known defects (Windows)
Release notes (UNIX, Linux, Mac OS X)
Fixed and known defects (UNIX, Linux, Mac OS X)
Documentation notes
Machine notes
HEWLETT PACKARD HP-UX 64bit
HEWLETT PACKARD HP-UX Itanium
IBM AIX 64bit
Linux Intel
Linux Power Series
Linux x86_64
Linux zSeries
Mac OS X Server x86_64
SUN SOLARIS 64bit
SUN Solaris x64
Windows
Window x64
Informix ILS 3.50.MC6 Readme
Developer Edition
Release notes (Windows)
Release notes (UNIX, Linux, Mac OS X)
11.70.xC3
Release notes (Windows)
Release notes (UNIX, Linux, Mac OS X)
Fixed and known defects
Documentation notes
Machine notes
HEWLETT PACKARD HP-UX 64bit
HEWLETT PACKARD HP-UX Itanium
IBM AIX 6.1 64bit
Linux Intel
Linux Power Series
Linux x86_64
Linux zSeries
Mac OS X Server x86_64
SUN SOLARIS 64bit
SUN Solaris x64
Windows
Window x64
Informix ILS 3.50.MC5 Readme
Developer Edition
Release notes (Windows)
Release notes (UNIX, Linux, Mac OS X)
11.70.xC2
Release notes (Windows)
Fixed and known defects (Windows)
Release notes (UNIX, Linux, Mac OS X)
Fixed and known defects (UNIX, Linux, Mac OS X)
Documentation notes
Machine notes
HEWLETT PACKARD HP-UX 64bit
HEWLETT PACKARD HP-UX Itanium
IBM AIX 6.1 64bit
Linux Intel
Linux Power Series
Linux x86_64
Linux zSeries
Mac OS X Server x86_64
SUN SOLARIS 64bit
SUN Solaris x64
Windows
Window x64
Informix ILS 3.50.MC5 Readme
Developer Edition
Release notes (Windows)
Release notes (UNIX, Linux, Mac OS X)
11.70.xC1
Release notes (Windows)
Fixed and known defects (Windows)
Release notes (UNIX, Linux, Mac OS X)
Fixed and known defects (UNIX, Linux, Mac OS X)
Documentation notes
Machine notes
HEWLETT PACKARD HP-UX 64bit
HEWLETT PACKARD HP-UX Itanium
IBM AIX 6.1 64bit
Linux Intel
Linux Power Series
Linux x86_64
Linux zSeries
Mac OS X Server x86_64
SUN SOLARIS 64bit
SUN Solaris x64
Windows
Window x64
Informix ILS 3.50.MC5 Readme
Developer Edition
Release notes (Windows)
Release notes (UNIX, Linux, Mac OS X)
Client SDK
3.70.xC4
CSDK and ICONNECT Release and documentation notes
Connection Manager Release and documentation notes
ESQL/C Release and documentation notes
GLS 5.00.xC5 Release and documentation notes
Informix JDBC Driver 3.70.JC4 Release and documentation notes
Informix .NET Provider Release and documentation notes
Object Interface for C++ Release and documentation notes
ODBC Driver Release and documentation notes
OLE DB Provider Release and documentation notes
Defects Fixed Addendum
Machine notes
C++ Interface
ESQL/C
GLS API
Informix .NET Provider
ODBC Driver
OLE DB Provider
Informix ILS 3.50.MC6 Readme
3.70.xC3
CSDK and ICONNECT Release and documentation notes
Connection Manager Release and documentation notes
ESQL/C Release and documentation notes
GLS 5.00.xC4 Release and documentation notes
Informix JDBC Driver 3.70.JC3 Release and documentation notes
Informix .NET Provider Release and documentation notes
Object Interface for C++ Release and documentation notes
ODBC Driver Release and documentation notes
OLE DB Provider Release and documentation notes
Defects Fixed Addendum
Machine notes
C++ Interface
ESQL/C
GLS API
Informix .NET Provider
ODBC Driver
OLE DB Provider
Informix ILS 3.50.MC5 Readme
3.70.xC2
CSDK and ICONNECT Release and documentation notes
Connection Manager Release and documentation notes
ESQL/C Release and documentation notes
GLS 5.00.xC4 Release and documentation notes
Informix JDBC Driver 3.70.JC2 Release and documentation notes
Informix .NET Provider Release and documentation notes
Object Interface for C++ Release and documentation notes
ODBC Driver Release and documentation notes
OLE DB Provider Release and documentation notes
Defects Fixed Addendum
Machine notes
C++ Interface
ESQL/C
GLS API
Informix .NET Provider
ODBC Driver
OLE DB Provider
Informix ILS 3.50.MC5 Readme
3.70.xC1
CSDK and ICONNECT Release and documentation notes
Connection Manager Release and documentation notes
ESQL/C Release and documentation notes
GLS 5.00.xC4 Release and documentation notes
Informix JDBC Driver 3.70.JC1 Release and documentation notes
Informix .NET Provider Release and documentation notes
Object Interface for C++ Release and documentation notes
ODBC Driver Release and documentation notes
OLE DB Provider Release and documentation notes
Defects Fixed Addendum
Machine notes
C++ Interface
ESQL/C
GLS API
Informix .NET Provider
ODBC Driver
OLE DB Provider
Informix ILS 3.50.MC5 Readme
Informix JDBC Driver
Release and documentation notes, 3.70.JC4
Release and documentation notes, 3.70.JC3
Release and documentation notes, 3.70.JC2
Release and documentation notes, 3.70.JC1
DBDK and BladeManager
DBDK Release notes, 4.20.xC1
DBDK Documentation notes, 4.20.xC1
BladeManager Release notes, 4.20.xC1
BladeManager Documentation notes, 4.20.xC1
Excalibur Text Search DataBlade Module
Release and documentation notes, 1.31.xC1
Machine notes, 1.31.xC1
Geodetic DataBlade Module
Release notes, 3.12.xC1
Documentation notes, 3.12.xC1
Web DataBlade Module
Release notes, 4.13.xC4
Documentation notes, 4.13.xC4
Machine notes, 4.13.xC4
Informix Warehouse Accelerator
Release notes, 11.70.xC4
Release notes, 1.1.3
Release notes, 1.1
Informix SQL Warehousing Tool
Release notes, 11.70
Informix Virtual Appliance
Release notes, 11.70.xC4
Release notes, 11.70.xC3
Release notes, 11.70.xC2
Release notes, 11.70.xC1
Informix 4GL
7.50.xC6
Release notes
Documentation notes
Machine notes
Machine notes for AIX 6.1 32-bit
Machine notes for AIX 6.1 64-bit
Machine notes for HP-UX 11 32-bit
Machine notes for HP-UX 11 64-bit
Machine notes for HP-UX Itanium 11.31 32-bit
Machine notes for HP-UX Itanium 11.31 64-bit
Machine notes for Linux Intel 32-bit
Machine notes for Linux Intel/AMD 64-bit
Machine notes for Linux PPC 64-bit
Machine notes for Solaris 32-bit
Machine notes for Solaris 64-bit
7.50.xC5
Release notes
Documentation notes
Machine notes
Machine notes for AIX 5.3 32-bit
Machine notes for AIX 5.3 64-bit
Machine notes for HP-UX 11 32-bit
Machine notes for HP-UX 11 64-bit
Machine notes for HP-UX Itanium 11.23 32-bit
Machine notes for HP-UX Itanium 11.23 64-bit
Machine notes for Linux Intel 32-bit
Machine notes for Linux Intel/AMD 64-bit
Machine notes for Solaris 32-bit
Machine notes for Solaris 64-bit
7.50.xC4
Release notes
Documentation notes
Machine notes
Machine notes for AIX 5.3 64-bit
Machine notes for HP-UX Itanium 11.23 64-bit
Machine notes for Linux Intel 32-bit
Machine notes for Solaris 64-bit
OpenAdmin Tool (OAT)
Release notes, 2.74
Release notes, 2.73
Education
Course catalog
e-Learning
Certification
Academic Initiative program
Conferences and public events
Migrating and upgrading
Migrating Informix database systems
What's new in migration for Informix, Version 11.70
Overview of migration
Overview of Informix migration
The migration process
Migration effort
Migration skills
Migration plans
Types of migration
Migration tools
Upgrading Informix (in-place migration)
Migrating Informix (non-in-place migration)
Hardware prerequisites
Software prerequisites
Supported operating systems
Fix pack naming conventions
Paths for migration to the new version
Migration paths on UNIX, Linux, and Windows operating systems
Migration paths on Mac OS X operating systems
Changes in the new version of Informix
Overview of moving data
Automatic data migration
Prerequisites before moving data
Data-migration tools
High-Performance Loader performance advantages for large databases
Nonlogging raw tables that speed up data loading time
When TEXT and BYTE data is scanned, not compressed
Moving non-Informix data between computers and dbspaces
Importing data from a non-Informix source
Importing data with IBM Informix Enterprise Gateway products
Moving data by using distributed SQL
Migration to and reversion from Version 11.70
Preparing for migration to Version 11.70
Preparing for migration
Checking and configuring available space
Configuring for recovery of restore point data in case an upgrade fails
Saving copies of the current configuration files
Saving a copy of the Storage Manager sm_versions file
Closing all transactions and shutting down the source database server
Initiating fast recovery to verify that no open transactions exist
Verifying the integrity of the data
Verifying that the database server is in quiescent mode
Making a final backup of the source database server
Verifying that the source database server Is offline
Modifying kernel parameters (UNIX, Linux)
Pre-migration checklist of diagnostic information
Migrating from 32-bit to 64-bit database servers
Enterprise Replication and migration
Preparing to migrate with Enterprise Replication
Migrating with Enterprise Replication
Converting replication of 9.21 user-defined data types
Reverting with Enterprise Replication
High-availability cluster migration
Preparing to migrate, upgrade, or revert clusters
Upgrading clusters to a new PID or fix pack
Migrating clusters to a new release
Upgrading a cluster while it is online
Errors and warnings generated by the sec2er command
Reverting clusters
Restoring clusters to a consistent point
Restoring a cluster from a backup archive
Restoring a cluster from the HDR secondary server
Migrating to Informix Version 11.70
Migrating to the new version of Informix
Installing the new version of Informix
Migration status messages
Setting environment variables
Customizing configuration files
Adding Communications Support Modules
Installing or upgrading any DataBlade modules
Starting the new version of Informix
Upgrading the High-Performance Loader onpload database
Restoring to a previous consistent state after a failed upgrade
Completing required post-migration tasks
For ON-Bar, rename the sm_versions.std file
Optionally update statistics on your tables after migrating
Update statistics on some system catalog tables after migrating
Review client applications and registry keys
Verify the integrity of migrated data
Back up Informix after migrating to the new version
Tune the new version for performance
Register DataBlade modules
Reverting from Informix Version 11.70
Preparing to revert
Ascertain that reversion is possible and identify reversion requirements
Reversion requirements and limitations
Check and configure available space for reversion
Save copies of the current configuration files
Save system catalog information
Verify the integrity of the Version 11.70 data
Back up Informix Version 11.70
Run dummy UPDATE statements
Remove Version 11.70 features
Remove new BladeManager extensions
Reverting from Informix Version 11.70
Run the reversion utility
Restore original configuration parameters
Restore original environment variables
Remove Any Communications Support Module Settings
Recompile any Java UDRs that were compiled using JDK 5.0
Reinstall and start the earlier database server
Optionally update statistics on your tables after reverting
Update statistics on some system catalog tables after reverting
Verify the integrity of the reverted data
Back up the database server after reversion
Return the database server to online mode
Reverting clusters
Migration of data between database servers
Migrating database servers to a new operating system
Choosing a tool for moving data before migrating between operating systems
Adjusting database tables for file-system variations
Moving data to a database server on a different operating system
Moving data between Informix and Workgroup Edition Version 7.24 on different operating systems
Adapting your programs for a different operating system
Ensuring the successful creation of system databases
Data migration utilities
The dbexport and dbimport utilities
Migration of a case-insensitive database to an NLSCASE SENSITIVE database
Syntax of the dbexport Command
Termination of the dbexport utility
dbexport errors
dbexport server-specific information
dbexport destination options
Contents of the schema file that dbexport creates
Syntax of the dbimport command
Termination of the dbimport utility
dbimport errors and warnings
dbimport input-file location options
dbimport create options
Database-logging mode
Database renaming
Changing the database locale with dbimport
Simple large objects (Version 9.21 or later versions)
The dbload utility
Syntax of the dbload command
Table locking during a load operation
Rows to ignore during a load operation
Bad-row limit during a load operation
Termination of the dbload utility
Name and object guidelines for the dbload utility
Command file for the dbload utility
Delimiter form of the FILE and INSERT statements
Syntax for the delimiter form
How to write a dbload command file in delimiter form
Character-position form of the FILE and INSERT statements
Syntax for the character-position form
How to write a dbload command file in character-position form
Command file to load complex data types (Version 9.21 or later versions)
Using the dbload utility with named row types
Using the dbload utility with unnamed row types
Using the dbload utility with collection data types
SET data type example
LIST data type example
The dbschema utility
Object modes and violation detection in dbschema output
Guidelines for using the dbschema utility
Syntax of the dbschema command
Database schema creation
Creating schemas for databases across a UNIX or Linux network
Changing the owner of an object
dbschema server-specific information
User-defined and complex data types (Version 9.21 or later versions)
Sequence creation
Synonym creation
Table, view, or procedure creation
Table information
Storage space, chunk, and log creation
Sample output for the creation of storage spaces, chunks, and logs
Role creation
Privileges
Granting privileges
Displaying privilege information for a role
Distribution information for tables in dbschema output
Example of dbschema output showing distribution information
Distribution information in dbschema output
Overflow information in dbschema output
Use dbschema output as DB-Access input
Inserting a table into a dbschema output file
Re-creating the schema of a database
The LOAD and UNLOAD statements
Syntax of the UNLOAD statement
Syntax of the LOAD statement
Load and unload statements for locales that support multibyte code sets
Load and unload statements for nondefault locales and the GL_DATETIME and USE_DTENV environment variables
The onunload and onload utilities
Guidelines for when to use the onunload and onload utilities
Requirements for using the onload and onunload utilities
How the onunload and onload utilities work
Syntax of the onunload command
onunload destination parameters
Constraints that affect onunload
Privileges for database or table unloading
Tables that are unloaded with a database
Data that is unloaded with a table
Locking during unload operation
Logging mode
Syntax of the onload command
onload source parameters
onload create options
Constraints that affect onload
Logging during loading
Movement of simple large objects to a blobspace
Ownership and privileges
Exclusive locking during a load operation
Moving a database between computers with the onunload and onload utilities
Moving a table between computers with the onunload and onload utilities
Moving a table between dbspaces with the onunload and onload utilities
The onmode utility reversion option
What the onmode -b command does
Preparation for using the onmode -b command
Syntax of the onmode -b command
The onrestorept utility
Syntax of the onrestorept command
Appendixes
New environment variables
New configuration parameters
Configuration parameters that have been changed or removed
Configuration parameter changes in the Version 11.70
Configuration parameter changes in the Version 11.50 onconfig.std File
Configuration parameters that have been changed or removed in Versions 9.30 through 11.10
New keywords of SQL
System catalog and system database changes
Changes for version 11.70
Changes for version 11.50
Changes for version 11.10
Changes for version 10.0
Changes for version 9.40
Changes for version 9.30
Column-width changes in sysmaster tables in Version 9.20 and later versions
Data type changes in sysmaster tables in Version 9.20 and later versions
Changes in Treatment of Null Values in sysmaster Tables in Version 9.30
Other sysmaster Database Table and Column Changes in Version 9.30
Remote queries on system catalog tables between Version 7.31 and later versions
Difference in sysindexes between Version 7.31 and later versions
New and changed features
Server library name changes
Migrating Informix database systems
What's new in migration for Informix, Version 11.70
Overview of migration
Overview of Informix migration
The migration process
Migration effort
Migration skills
Migration plans
Types of migration
Migration tools
Upgrading Informix (in-place migration)
Migrating Informix (non-in-place migration)
Hardware prerequisites
Software prerequisites
Supported operating systems
Fix pack naming conventions
Paths for migration to the new version
Migration paths on UNIX, Linux, and Windows operating systems
Migration paths on Mac OS X operating systems
Changes in the new version of Informix
Overview of moving data
Automatic data migration
Prerequisites before moving data
Data-migration tools
High-Performance Loader performance advantages for large databases
Nonlogging raw tables that speed up data loading time
When TEXT and BYTE data is scanned, not compressed
Moving non-Informix data between computers and dbspaces
Importing data from a non-Informix source
Importing data with IBM Informix Enterprise Gateway products
Moving data by using distributed SQL
Migration to and reversion from Version 11.70
Preparing for migration to Version 11.70
Preparing for migration
Checking and configuring available space
Configuring for recovery of restore point data in case an upgrade fails
Saving copies of the current configuration files
Saving a copy of the Storage Manager sm_versions file
Closing all transactions and shutting down the source database server
Initiating fast recovery to verify that no open transactions exist
Verifying the integrity of the data
Verifying that the database server is in quiescent mode
Making a final backup of the source database server
Verifying that the source database server Is offline
Modifying kernel parameters (UNIX, Linux)
Pre-migration checklist of diagnostic information
Migrating from 32-bit to 64-bit database servers
Enterprise Replication and migration
Preparing to migrate with Enterprise Replication
Migrating with Enterprise Replication
Converting replication of 9.21 user-defined data types
Reverting with Enterprise Replication
High-availability cluster migration
Preparing to migrate, upgrade, or revert clusters
Upgrading clusters to a new PID or fix pack
Migrating clusters to a new release
Upgrading a cluster while it is online
Errors and warnings generated by the sec2er command
Reverting clusters
Restoring clusters to a consistent point
Restoring a cluster from a backup archive
Restoring a cluster from the HDR secondary server
Migrating to Informix Version 11.70
Migrating to the new version of Informix
Installing the new version of Informix
Migration status messages
Setting environment variables
Customizing configuration files
Adding Communications Support Modules
Installing or upgrading any DataBlade modules
Starting the new version of Informix
Upgrading the High-Performance Loader onpload database
Restoring to a previous consistent state after a failed upgrade
Completing required post-migration tasks
For ON-Bar, rename the sm_versions.std file
Optionally update statistics on your tables after migrating
Update statistics on some system catalog tables after migrating
Review client applications and registry keys
Verify the integrity of migrated data
Back up Informix after migrating to the new version
Tune the new version for performance
Register DataBlade modules
Reverting from Informix Version 11.70
Preparing to revert
Ascertain that reversion is possible and identify reversion requirements
Reversion requirements and limitations
Check and configure available space for reversion
Save copies of the current configuration files
Save system catalog information
Verify the integrity of the Version 11.70 data
Back up Informix Version 11.70
Run dummy UPDATE statements
Remove Version 11.70 features
Remove new BladeManager extensions
Reverting from Informix Version 11.70
Run the reversion utility
Restore original configuration parameters
Restore original environment variables
Remove Any Communications Support Module Settings
Recompile any Java UDRs that were compiled using JDK 5.0
Reinstall and start the earlier database server
Optionally update statistics on your tables after reverting
Update statistics on some system catalog tables after reverting
Verify the integrity of the reverted data
Back up the database server after reversion
Return the database server to online mode
Reverting clusters
Migration of data between database servers
Migrating database servers to a new operating system
Choosing a tool for moving data before migrating between operating systems
Adjusting database tables for file-system variations
Moving data to a database server on a different operating system
Moving data between Informix and Workgroup Edition Version 7.24 on different operating systems
Adapting your programs for a different operating system
Ensuring the successful creation of system databases
Data migration utilities
The dbexport and dbimport utilities
Migration of a case-insensitive database to an NLSCASE SENSITIVE database
Syntax of the dbexport Command
Termination of the dbexport utility
dbexport errors
dbexport server-specific information
dbexport destination options
Contents of the schema file that dbexport creates
Syntax of the dbimport command
Termination of the dbimport utility
dbimport errors and warnings
dbimport input-file location options
dbimport create options
Database-logging mode
Database renaming
Changing the database locale with dbimport
Simple large objects (Version 9.21 or later versions)
The dbload utility
Syntax of the dbload command
Table locking during a load operation
Rows to ignore during a load operation
Bad-row limit during a load operation
Termination of the dbload utility
Name and object guidelines for the dbload utility
Command file for the dbload utility
Delimiter form of the FILE and INSERT statements
Syntax for the delimiter form
How to write a dbload command file in delimiter form
Character-position form of the FILE and INSERT statements
Syntax for the character-position form
How to write a dbload command file in character-position form
Command file to load complex data types (Version 9.21 or later versions)
Using the dbload utility with named row types
Using the dbload utility with unnamed row types
Using the dbload utility with collection data types
SET data type example
LIST data type example
The dbschema utility
Object modes and violation detection in dbschema output
Guidelines for using the dbschema utility
Syntax of the dbschema command
Database schema creation
Creating schemas for databases across a UNIX or Linux network
Changing the owner of an object
dbschema server-specific information
User-defined and complex data types (Version 9.21 or later versions)
Sequence creation
Synonym creation
Table, view, or procedure creation
Table information
Storage space, chunk, and log creation
Sample output for the creation of storage spaces, chunks, and logs
Role creation
Privileges
Granting privileges
Displaying privilege information for a role
Distribution information for tables in dbschema output
Example of dbschema output showing distribution information
Distribution information in dbschema output
Overflow information in dbschema output
Use dbschema output as DB-Access input
Inserting a table into a dbschema output file
Re-creating the schema of a database
The LOAD and UNLOAD statements
Syntax of the UNLOAD statement
Syntax of the LOAD statement
Load and unload statements for locales that support multibyte code sets
Load and unload statements for nondefault locales and the GL_DATETIME and USE_DTENV environment variables
The onunload and onload utilities
Guidelines for when to use the onunload and onload utilities
Requirements for using the onload and onunload utilities
How the onunload and onload utilities work
Syntax of the onunload command
onunload destination parameters
Constraints that affect onunload
Privileges for database or table unloading
Tables that are unloaded with a database
Data that is unloaded with a table
Locking during unload operation
Logging mode
Syntax of the onload command
onload source parameters
onload create options
Constraints that affect onload
Logging during loading
Movement of simple large objects to a blobspace
Ownership and privileges
Exclusive locking during a load operation
Moving a database between computers with the onunload and onload utilities
Moving a table between computers with the onunload and onload utilities
Moving a table between dbspaces with the onunload and onload utilities
The onmode utility reversion option
What the onmode -b command does
Preparation for using the onmode -b command
Syntax of the onmode -b command
The onrestorept utility
Syntax of the onrestorept command
Appendixes
New environment variables
New configuration parameters
Configuration parameters that have been changed or removed
Configuration parameter changes in the Version 11.70
Configuration parameter changes in the Version 11.50 onconfig.std File
Configuration parameters that have been changed or removed in Versions 9.30 through 11.10
New keywords of SQL
System catalog and system database changes
Changes for version 11.70
Changes for version 11.50
Changes for version 11.10
Changes for version 10.0
Changes for version 9.40
Changes for version 9.30
Column-width changes in sysmaster tables in Version 9.20 and later versions
Data type changes in sysmaster tables in Version 9.20 and later versions
Changes in Treatment of Null Values in sysmaster Tables in Version 9.30
Other sysmaster Database Table and Column Changes in Version 9.30
Remote queries on system catalog tables between Version 7.31 and later versions
Difference in sysindexes between Version 7.31 and later versions
New and changed features
Server library name changes
Installing
Informix server
Informix Quick Start Guide
Installing Informix on UNIX, Linux, and Mac OS X
What's new in installation for IBM Informix, Version 11.70
IBM Informix editions
Preparing to install Informix and client products
Preparing the operating system for installation
Determine system requirements
Disk space requirements for IBM Informix
Loading product files (UNIX and Linux)
Extracting product files (Mac OS X)
Creating the group informix and user informix
Group informix
User informix
Non-root installation
Select installation options
Typical and custom installation options
Select an installation directory: $INFORMIXDIR
Deployment wizard
Role separation
Response file (UNIX and Linux)
Response file (Mac OS X)
Other IBM products on Informix installation media (UNIX, Linux, Mac OS X)
Installing Informix and client products on UNIX and Linux
Installing Informix and client products quickly with defaults (UNIX and Linux)
Installing Informix with selected features and client products (UNIX and Linux)
Installation command for the IBM Informix software bundle (Linux, UNIX)
Performing a silent installation of Informix and client products
Extracting and redistributing Informix products with scripts (UNIX, Linux)
Securing a nonsecure Informix installation path
Automatically securing the installation path
Securing the installation path after completing installation
Configuring installation path permissions during installation
Installing client products
Performing inline Informix upgrades (UNIX and Linux)
Installation log files and troubleshooting (UNIX, Linux, and Mac OS X)
Installing Informix on Mac OS X
Installing Informix quickly with defaults (Mac OS X)
Installing Informix with selected features (Mac OS X)
Performing an unattended Informix installation (Mac OS X)
Configuring a database server (Linux, UNIX, and Mac OS X)
Setting environment variables
Preparing connectivity files
Setting configuration parameters
Starting the database server
Setting up multiple residency
Host multiple database servers
Plan for multiple residency
Creating multiple residency of a database server
Setting up an instance-specific onconfig file
TCP/IP connectivity
Prevent data from being overwritten
Prepare the backup environment for multiple residency
Modify operating system startup for multiple server instances
Reset the INFORMIXSERVER environment variable
Removing or modifying IBM Informix and client products installations on UNIX and Linux
Removing Informix products and features (UNIX and Linux)
Removing an Informix software bundle installation (Linux, UNIX)
Uninstalling an Informix database server installation (UNIX and Linux)
Removing or modifying an installation on Mac OS X
Adding features to an Informix installation (Mac OS X)
Removing Informix and installed features (Mac OS X)
Installing Informix on Windows
What's new in installation for IBM Informix, Version 11.70
IBM Informix editions
Preparing to install Informix and client products (Windows)
Online notes (Windows)
Verify system requirements (Windows)
Verify Administrators group membership (Windows)
Multiple installations of the Informix server on a Windows computer
Choose your installation setup (Windows)
Plan role separation (Windows)
Installation directory (Windows)
User informix (Windows)
Other IBM products on Informix installation media (Windows)
Installing Informix and client products (Windows)
Installing with the GUI typical setup (Windows)
Installing with the GUI custom setup (Windows)
Performing a silent installation (Windows)
Performing inline Informix upgrades (Windows)
Installation log files (Windows)
Cluster installations (Windows)
Overview of implementing a cluster on two nodes (Windows)
Installing Informix on the primary node of a cluster (Windows)
Setting up the installation on the cluster primary node (Windows)
Installing Informix on the secondary node of a cluster (Windows)
Multiple residency (Windows)
Plan for multiple residency (Windows)
Creating a new database server instance (Windows)
Server Instance Manager commands (Windows)
Post-installation tasks (Windows)
Working with the installation (Windows)
Setup performed by the installation application (Windows)
Informix program group (Windows)
Starting the database server from the Control Panel (Windows)
Starting the database server from the command line (Windows)
Stopping the database server (Windows)
Database server configuration after installation (Windows)
Database server number (Windows)
Database server name (Windows)
Service name and port number (Windows)
Dbspace name, location, and size (Windows)
Default sbspace name, location, size, and page size (Windows)
Shared server definition computer (Windows)
Configuring Informix manually (Windows)
Removing or modifying Informix and client products (Windows)
Removing Informix software bundle installations (Windows)
Uninstalling or reducing an Informix database server installation (Windows)
Uninstalling Informix in silent mode (Windows)
Client products
Informix Client SDK
Quick Start Guide for Client SDK
Installing Informix Client Products
Introduction
About this Publication
What's new in installation for IBM Informix client products, Version 3.70
Additional documentation
Compliance with industry standards
Syntax diagrams
How to read a command-line syntax diagram
Keywords and punctuation
Identifiers and names
How to provide documentation feedback
Informix Client SDK overview
IBM Informix Client Software Development Kit
IBM Data Server Driver
Differences between .NET Providers
Installing Client Products on UNIX, Linux, and Mac OS X
Preparing to Install Client SDK and IBM Informix Connect on UNIX, Linux, and Mac OS X Systems
Overview of Client SDK and Informix Connect Installation (Linux, UNIX, Mac OS X)
Determine Location (Linux, UNIX)
Check Online Files (Linux, UNIX)
Determine Installation Order (Linux, UNIX)
Prepare the Environment (Linux, UNIX)
Creating the Group informix and User informix (Linux, UNIX, Mac OS X)
Configure the Database Server (Linux, UNIX)
Installing Client SDK and Informix Connect on UNIX and Linux Systems
Installation System Requirements (Linux, UNIX)
Informix Client Installation Application (Linux, UNIX)
Client Products Installation Application Commands (UNIX and Linux)
Installing in Console Mode (Linux, UNIX)
Installing Client Product in GUI Mode (Linux, UNIX)
Client Installation Log Files (Linux, UNIX)
Alternative Installation Methods (Linux, UNIX)
Performing a Silent Client Product Installation on UNIX and Linux
Extracting and Redistributing Client Products with Scripts
Installing Client SDK and Informix Connect on Mac OS X
Uninstalling Client SDK and Informix Connect on UNIX, Linux, and Mac OS X Systems
Uninstalling Client SDK and Informix Connect (Linux, UNIX, Mac OS X)
Uninstalling After Using the Extraction Application with Command-Line Script (Linux, UNIX)
Installing Client Products on Windows Systems
Preparing to Install Client SDK and Informix Connect (Windows)
System Requirements (Windows)
Database Server Requirements (Windows)
Protocol Requirements (Windows)
C Compiler Requirements (Windows)
Installation Location and Order (Windows)
Informix .NET Provider (Windows)
Installing Client SDK and Informix Connect on Windows Systems
About Client Product Installation on Windows
Installing Client SDK or Informix Connect in GUI Mode (Windows)
Performing a Silent Client Product Installation on Windows
Post-Installation Client Product Tasks on Windows Systems
Configuring IBM Informix Client Products on Windows Systems (Windows)
Setting the Environment Variables (Windows)
Setting Database Server Information (Windows)
Setting Host Information (Windows)
Overriding Information (Windows)
Configuring OLE DB Provider (Windows)
Common Installation Problems (Windows)
Uninstalling Client SDK on Windows Systems
Uninstalling Informix client products in GUI mode (Windows)
Uninstalling IBM Informix client products in silent mode (Windows)
Removing Client SDK or Informix Connect by Command Line (Windows)
Installing the OpenAdmin Tool (OAT) for Informix with the Client SDK
Prerequisites for installing the OpenAdmin Tool (OAT) for Informix with the Client SDK
Products that are installed with the OpenAdmin Tool (OAT) for Informix
Installing the OpenAdmin Tool (OAT) for Informix
Upgrading from a previous version of the OpenAdmin Tool (OAT) for Informix
Uninstalling the OpenAdmin Tool (OAT) for Informix after installing it with the Client SDK
Appendixes
Environment Variables
In this Appendix
Environment variables
Distribute Your IBM Informix Client Applications (Windows)
In This Appendix
Distribute IBM Informix Client Applications and Components (Windows)
Client Runtime Component Redistribution Guidelines (Windows)
Informix JDBC Driver
Quick Start Guide for JDBC Driver
Informix JDBC installation instructions
Open source drivers
PHP
Ruby
DataBlade modules
Quick Start Guide for Excalibur Text Search DataBlade Module
Quick Start Guide for Geodetic DataBlade Module
Quick Start Guide for Web DataBlade Module
DataBlade Module Installation and Registration Guide
What's new in DataBlade module installation and registration for Informix, Version 11.70
Installing DataBlade modules
Using a DataBlade module in your database
Installing your DataBlade module on UNIX
Installing a newer DataBlade module on UNIX
Installing a pre-2007 DataBlade module on a UNIX computer
Installing your DataBlade module on Windows
Installing your newer DataBlade module on a Windows computer
Installing your pre-2007 DataBlade module on a Windows computer
Uninstalling your DataBlade module on UNIX
Uninstalling your DataBlade module on Windows
Registering with the SYSBldPrepare( ) function
Preparing to call the SYSBldPrepare( ) function
Register a DataBlade module
Register a set of DataBlade modules
Unregister a DataBlade module
Upgrade or revert a DataBlade module
Upgrade to a higher version
Revert to an earlier version
View version information of SYSBldPrepare( )
Registering with the BladeManager graphical user interface
Preparing to use the BladeManager graphical user interface
Managing DataBlade modules
Connecting to a database
Registering a DataBlade module
Upgrading a DataBlade module
Unregistering a DataBlade module
Managing client files
Installing client files
Uninstalling client files
Viewing log files
Viewing a log file
Deleting a log file
View module information
Registering with the BladeManager command-line interface
Preparing to use the BladeManager command-line interface
Start and stop BladeManager
Obtain help for commands
Set confirmation
Execute BladeManager commands automatically at startup
Execute multiple BladeManager commands
Remove BladeManager objects for server reversion
Connection information
Connect to your database server
Connect to databases
Register a DataBlade module
Upgrade a DataBlade module
Unregister a DataBlade module
Manage client files
Install client files
Uninstall client files
View log files
View module information
Command reference
Troubleshooting registration problems
Exceptions in calls to SYSBldPrepare( )
Connection problems
Preparation failure
Registration problems
Warehousing products
Quick Start Guide for Warehouse Accelerator
Quick Start Guide for SQL Warehousing Tool
Informix server
Informix Quick Start Guide
Installing Informix on UNIX, Linux, and Mac OS X
What's new in installation for IBM Informix, Version 11.70
IBM Informix editions
Preparing to install Informix and client products
Preparing the operating system for installation
Determine system requirements
Disk space requirements for IBM Informix
Loading product files (UNIX and Linux)
Extracting product files (Mac OS X)
Creating the group informix and user informix
Group informix
User informix
Non-root installation
Select installation options
Typical and custom installation options
Select an installation directory: $INFORMIXDIR
Deployment wizard
Role separation
Response file (UNIX and Linux)
Response file (Mac OS X)
Other IBM products on Informix installation media (UNIX, Linux, Mac OS X)
Installing Informix and client products on UNIX and Linux
Installing Informix and client products quickly with defaults (UNIX and Linux)
Installing Informix with selected features and client products (UNIX and Linux)
Installation command for the IBM Informix software bundle (Linux, UNIX)
Performing a silent installation of Informix and client products
Extracting and redistributing Informix products with scripts (UNIX, Linux)
Securing a nonsecure Informix installation path
Automatically securing the installation path
Securing the installation path after completing installation
Configuring installation path permissions during installation
Installing client products
Performing inline Informix upgrades (UNIX and Linux)
Installation log files and troubleshooting (UNIX, Linux, and Mac OS X)
Installing Informix on Mac OS X
Installing Informix quickly with defaults (Mac OS X)
Installing Informix with selected features (Mac OS X)
Performing an unattended Informix installation (Mac OS X)
Configuring a database server (Linux, UNIX, and Mac OS X)
Setting environment variables
Preparing connectivity files
Setting configuration parameters
Starting the database server
Setting up multiple residency
Host multiple database servers
Plan for multiple residency
Creating multiple residency of a database server
Setting up an instance-specific onconfig file
TCP/IP connectivity
Prevent data from being overwritten
Prepare the backup environment for multiple residency
Modify operating system startup for multiple server instances
Reset the INFORMIXSERVER environment variable
Removing or modifying IBM Informix and client products installations on UNIX and Linux
Removing Informix products and features (UNIX and Linux)
Removing an Informix software bundle installation (Linux, UNIX)
Uninstalling an Informix database server installation (UNIX and Linux)
Removing or modifying an installation on Mac OS X
Adding features to an Informix installation (Mac OS X)
Removing Informix and installed features (Mac OS X)
Installing Informix on Windows
What's new in installation for IBM Informix, Version 11.70
IBM Informix editions
Preparing to install Informix and client products (Windows)
Online notes (Windows)
Verify system requirements (Windows)
Verify Administrators group membership (Windows)
Multiple installations of the Informix server on a Windows computer
Choose your installation setup (Windows)
Plan role separation (Windows)
Installation directory (Windows)
User informix (Windows)
Other IBM products on Informix installation media (Windows)
Installing Informix and client products (Windows)
Installing with the GUI typical setup (Windows)
Installing with the GUI custom setup (Windows)
Performing a silent installation (Windows)
Performing inline Informix upgrades (Windows)
Installation log files (Windows)
Cluster installations (Windows)
Overview of implementing a cluster on two nodes (Windows)
Installing Informix on the primary node of a cluster (Windows)
Setting up the installation on the cluster primary node (Windows)
Installing Informix on the secondary node of a cluster (Windows)
Multiple residency (Windows)
Plan for multiple residency (Windows)
Creating a new database server instance (Windows)
Server Instance Manager commands (Windows)
Post-installation tasks (Windows)
Working with the installation (Windows)
Setup performed by the installation application (Windows)
Informix program group (Windows)
Starting the database server from the Control Panel (Windows)
Starting the database server from the command line (Windows)
Stopping the database server (Windows)
Database server configuration after installation (Windows)
Database server number (Windows)
Database server name (Windows)
Service name and port number (Windows)
Dbspace name, location, and size (Windows)
Default sbspace name, location, size, and page size (Windows)
Shared server definition computer (Windows)
Configuring Informix manually (Windows)
Removing or modifying Informix and client products (Windows)
Removing Informix software bundle installations (Windows)
Uninstalling or reducing an Informix database server installation (Windows)
Uninstalling Informix in silent mode (Windows)
Client products
Informix Client SDK
Quick Start Guide for Client SDK
Installing Informix Client Products
Introduction
About this Publication
What's new in installation for IBM Informix client products, Version 3.70
Additional documentation
Compliance with industry standards
Syntax diagrams
How to read a command-line syntax diagram
Keywords and punctuation
Identifiers and names
How to provide documentation feedback
Informix Client SDK overview
IBM Informix Client Software Development Kit
IBM Data Server Driver
Differences between .NET Providers
Installing Client Products on UNIX, Linux, and Mac OS X
Preparing to Install Client SDK and IBM Informix Connect on UNIX, Linux, and Mac OS X Systems
Overview of Client SDK and Informix Connect Installation (Linux, UNIX, Mac OS X)
Determine Location (Linux, UNIX)
Check Online Files (Linux, UNIX)
Determine Installation Order (Linux, UNIX)
Prepare the Environment (Linux, UNIX)
Creating the Group informix and User informix (Linux, UNIX, Mac OS X)
Configure the Database Server (Linux, UNIX)
Installing Client SDK and Informix Connect on UNIX and Linux Systems
Installation System Requirements (Linux, UNIX)
Informix Client Installation Application (Linux, UNIX)
Client Products Installation Application Commands (UNIX and Linux)
Installing in Console Mode (Linux, UNIX)
Installing Client Product in GUI Mode (Linux, UNIX)
Client Installation Log Files (Linux, UNIX)
Alternative Installation Methods (Linux, UNIX)
Performing a Silent Client Product Installation on UNIX and Linux
Extracting and Redistributing Client Products with Scripts
Installing Client SDK and Informix Connect on Mac OS X
Uninstalling Client SDK and Informix Connect on UNIX, Linux, and Mac OS X Systems
Uninstalling Client SDK and Informix Connect (Linux, UNIX, Mac OS X)
Uninstalling After Using the Extraction Application with Command-Line Script (Linux, UNIX)
Installing Client Products on Windows Systems
Preparing to Install Client SDK and Informix Connect (Windows)
System Requirements (Windows)
Database Server Requirements (Windows)
Protocol Requirements (Windows)
C Compiler Requirements (Windows)
Installation Location and Order (Windows)
Informix .NET Provider (Windows)
Installing Client SDK and Informix Connect on Windows Systems
About Client Product Installation on Windows
Installing Client SDK or Informix Connect in GUI Mode (Windows)
Performing a Silent Client Product Installation on Windows
Post-Installation Client Product Tasks on Windows Systems
Configuring IBM Informix Client Products on Windows Systems (Windows)
Setting the Environment Variables (Windows)
Setting Database Server Information (Windows)
Setting Host Information (Windows)
Overriding Information (Windows)
Configuring OLE DB Provider (Windows)
Common Installation Problems (Windows)
Uninstalling Client SDK on Windows Systems
Uninstalling Informix client products in GUI mode (Windows)
Uninstalling IBM Informix client products in silent mode (Windows)
Removing Client SDK or Informix Connect by Command Line (Windows)
Installing the OpenAdmin Tool (OAT) for Informix with the Client SDK
Prerequisites for installing the OpenAdmin Tool (OAT) for Informix with the Client SDK
Products that are installed with the OpenAdmin Tool (OAT) for Informix
Installing the OpenAdmin Tool (OAT) for Informix
Upgrading from a previous version of the OpenAdmin Tool (OAT) for Informix
Uninstalling the OpenAdmin Tool (OAT) for Informix after installing it with the Client SDK
Appendixes
Environment Variables
In this Appendix
Environment variables
Distribute Your IBM Informix Client Applications (Windows)
In This Appendix
Distribute IBM Informix Client Applications and Components (Windows)
Client Runtime Component Redistribution Guidelines (Windows)
Informix JDBC Driver
Quick Start Guide for JDBC Driver
Informix JDBC installation instructions
Open source drivers
PHP
Ruby
DataBlade modules
Quick Start Guide for Excalibur Text Search DataBlade Module
Quick Start Guide for Geodetic DataBlade Module
Quick Start Guide for Web DataBlade Module
DataBlade Module Installation and Registration Guide
What's new in DataBlade module installation and registration for Informix, Version 11.70
Installing DataBlade modules
Using a DataBlade module in your database
Installing your DataBlade module on UNIX
Installing a newer DataBlade module on UNIX
Installing a pre-2007 DataBlade module on a UNIX computer
Installing your DataBlade module on Windows
Installing your newer DataBlade module on a Windows computer
Installing your pre-2007 DataBlade module on a Windows computer
Uninstalling your DataBlade module on UNIX
Uninstalling your DataBlade module on Windows
Registering with the SYSBldPrepare( ) function
Preparing to call the SYSBldPrepare( ) function
Register a DataBlade module
Register a set of DataBlade modules
Unregister a DataBlade module
Upgrade or revert a DataBlade module
Upgrade to a higher version
Revert to an earlier version
View version information of SYSBldPrepare( )
Registering with the BladeManager graphical user interface
Preparing to use the BladeManager graphical user interface
Managing DataBlade modules
Connecting to a database
Registering a DataBlade module
Upgrading a DataBlade module
Unregistering a DataBlade module
Managing client files
Installing client files
Uninstalling client files
Viewing log files
Viewing a log file
Deleting a log file
View module information
Registering with the BladeManager command-line interface
Preparing to use the BladeManager command-line interface
Start and stop BladeManager
Obtain help for commands
Set confirmation
Execute BladeManager commands automatically at startup
Execute multiple BladeManager commands
Remove BladeManager objects for server reversion
Connection information
Connect to your database server
Connect to databases
Register a DataBlade module
Upgrade a DataBlade module
Unregister a DataBlade module
Manage client files
Install client files
Uninstall client files
View log files
View module information
Command reference
Troubleshooting registration problems
Exceptions in calls to SYSBldPrepare( )
Connection problems
Preparation failure
Registration problems
Warehousing products
Quick Start Guide for Warehouse Accelerator
Quick Start Guide for SQL Warehousing Tool
Informix Virtual Appliance
Informix Virtual Appliance
Welcome to the IBM Informix Virtual Appliance
Installing and running the IBM Informix Virtual Appliance
Installing the IBM Informix Virtual Appliance in a VMware infrastructure environment
First Steps
Configuring the IBM Informix Virtual Appliance
High-Availability Cluster
OpenAdmin Tool (OAT) for Informix
Scripts
Using the Informix JDBC Driver and the JDBC Common Client
Using PHP with Informix
Introduction to Data Studio
Enhanced error message lookup using the basic text search (BTS) extension
Using IBM Informix Spatial Data
Using IBM Informix embeddability features
Informix Virtual Appliance
Welcome to the IBM Informix Virtual Appliance
Installing and running the IBM Informix Virtual Appliance
Installing the IBM Informix Virtual Appliance in a VMware infrastructure environment
First Steps
Configuring the IBM Informix Virtual Appliance
High-Availability Cluster
OpenAdmin Tool (OAT) for Informix
Scripts
Using the Informix JDBC Driver and the JDBC Common Client
Using PHP with Informix
Introduction to Data Studio
Enhanced error message lookup using the basic text search (BTS) extension
Using IBM Informix Spatial Data
Using IBM Informix embeddability features
Designing databases
Designing and Implementing a Database
What's new in Database Design and Implementation for IBM Informix, 11.70
Basics of database design and implementation
Plan a database
Select a data model for your database
Use ANSI-compliant databases
Differences between ANSI-compliant and non-ANSI-compliant databases
Transactions
Transaction logging
Owner naming
Privileges on objects
Default isolation level
Character data types
DECIMAL data type
Escape characters
Cursor behavior
SQLCODE field of the SQL communications area
Synonym behavior
Determine if an existing database is ANSI-compliant
Use a customized language environment for your database (GLS)
Build a relational data model
Build a data model
Overview of the entity-relationship data model
Identify and define principal data objects
Discover entities
Select possible entities
List of entities
Telephone directory example
Generic and significant entities
Fundamental entities
Unitary entities
Diagram entities
Define the relationships
Connectivity
Existence dependency
Cardinality
Discover the relationships
Diagram relationships
Identify attributes
Select attributes for entities
List attributes
About entity occurrences
Diagram data objects
How to read E-R diagrams
Telephone directory example
After the diagram is complete
Translate E-R data objects into relational constructs
Define tables, rows, and columns
Place constraints on columns
Domain characteristics
Determine keys for tables
Primary keys
Composite keys
System-assigned keys
Foreign keys (join columns)
Add keys to the telephone directory diagram
Resolve relationships
Resolve m:n relationships
Resolve other special relationships
Normalize a data model
First normal form
Second normal form
Third normal form
Summary of normalization rules
Select data types
Define the domains
Data types
Select a data type
Numeric types
Counters and codes: BIGINT, INT8, INTEGER, and SMALLINT
Automatic sequences: BIGSERIAL, SERIAL, and SERIAL8
Alter the next BIGSERIAL, SERIAL, or SERIAL8 number
Approximate numbers: FLOAT and SMALLFLOAT
Adjustable-precision floating point: DECIMAL(p)
Fixed-precision numbers: DECIMAL and MONEY
Select a currency format
Chronological data types
Calendar dates: DATE
Select a date format (GLS)
Exact points in time: DATETIME
Durations using INTERVAL
Force the format of a DATETIME or INTERVAL value
Select a DATETIME format (GLS)
BOOLEAN data type
Character data types (GLS)
Character data: CHAR(n) and NCHAR(n)
Variable-length strings: CHARACTER VARYING(m,r), VARCHAR(m,r), NVARCHAR(m,r), and LVARCHAR(m)
Variable-length execution time
Large character objects: TEXT
Binary objects: BYTE
Use TEXT and BYTE data types
Change the data type
Null values
Default values
Check constraints
Referential constraints
Implement a relational data model
Create the database
Use CREATE DATABASE
Avoid name conflicts
Select a dbspace
Select the type of logging
Use CREATE TABLE
Create a fragmented table
Drop or modify a table
Use CREATE INDEX
Composite indexes
Bidirectional traversal of indexes
Use synonyms for table names
Use synonym chains
Use command scripts
Capture the schema
Execute the file
An example
Populate the database
Move data from other IBM Informix databases
Load source data into a table
Perform bulk-load operations
Managing databases
Table fragmentation strategies
What is fragmentation?
Why use fragmentation?
Whose responsibility is fragmentation?
Fragmentation and logging
Distribution schemes for table fragmentation
Expression-based distribution scheme
Range rule
Arbitrary rule
Use the MOD function
Insert and update rows
Round-robin distribution scheme
Create a fragmented table
Create a new fragmented table
Create a fragmented table from nonfragmented tables
More than one nonfragmented table
Use a single nonfragmented table
Rowids in a fragmented table
Fragment smart large objects
Modify fragmentation strategies
Reinitialize a fragmentation strategy
Modify fragmentation strategies
The ADD clause
The DROP clause
The MODIFY clause
Grant and revoke privileges on fragments
Grant and limit access to your database
Use SQL to restrict access to data
Control access to databases
Grant privileges
Database-level privileges
Connect privilege
Users and the public
Resource privilege
Database-administrator privilege
Ownership rights
Table-level privileges
Access privileges
Privileges in the system catalog tables
Index, alter, and references privileges
Under privileges for typed tables
Privileges on table fragments
Column-level privileges
Type-level privileges
Usage privileges for user-defined types
Under privileges for named row types
Routine-level privileges
Language-level privileges
SPL routines
External routines
Automate privileges
Automate with a command script
Roles
Create a role
Manipulate user privileges and grant roles to other roles
Enable default roles and non-default roles
Confirm membership In roles and drop roles
Determine current role at runtime
Use SPL routines to control access to data
Restrict data reads
Restrict changes to data
Monitor changes to data
Restrict object creation
Views
Create views
Typed views
Duplicate rows from views
Restrictions on views
When the basis changes
Modify with a view
Delete with a view
Update a view
Insert into a view
Use the WITH CHECK OPTION keywords
Re-execution of a prepared statement when the view definition changes
Privileges and views
Privileges when creating a view
Privileges when using a view
Distributed queries
Overview of distributed queries
Distributed queries across databases of one Informix instance
Distributed queries across databases of two or more Informix instances
Coordinator and participant in a distributed query
Configure the database server to use distributed queries
Syntax of a distributed query
Access a remote server and database
Database Name segment
Database Object Name segment
Valid statements for accessing remote objects
Access remote tables
Table permissions
Qualify table references
Other remote operations
Open a remote database
Create a remote database
Create a synonym for a remote table
Monitor distributed queries
Server environment and distributed queries
PDQPRIORITY environment variable
DEADLOCK_TIMEOUT parameter
Logging-type restrictions on distributed queries
Transaction processing
Isolation levels
DEADLOCK_TIMEOUT and SET LOCK MODE
Two-phase commit and recovery
Object-relational databases
Create and use extended data types in Informix
IBM Informix data types
Fundamental or atomic data types
Predefined data types
Other predefined data types
Extended data types
Complex data types
User-defined data types
Distinct data types
Opaque data types
DataBlade data types
Smart large objects
BLOB data type
CLOB data type
Use smart large objects
Copy smart large objects
Complex data types
Collection data types
Null values in collections
SET collection types
MULTISET collection types
LIST collection types
Nested collection types
Add a collection type to an existing table
Restrictions on collections
Named row types
When to use a named row type
Select a name for a named row type
Restrictions on named row types
Restrictions on data types
Restrictions on constraints
Restrictions on indexes
Restrictions on SERIAL data types
Use a named row type to create a typed table
Change the type of a table
Convert an untyped table into a typed table
Convert a typed table into an untyped table
Use a named row type to create a column
Use a named row type within another row type
Drop named row types
Unnamed row types
Type and table inheritance
What is inheritance?
Type inheritance
Define a type hierarchy
Routine overloading for types in a type hierarchy
Inheritance and type substitutability
Drop named row types from a type hierarchy
Table inheritance
Relationship between type and table hierarchies
Define a table hierarchy
Inheritance of table behavior in a table hierarchy
Modify table behavior in a table hierarchy
Constraints on tables in a table hierarchy
Add indexes to tables in a table hierarchy
Triggers on tables in a table hierarchy
SERIAL types in a table hierarchy
Add a new table to a table hierarchy
Drop a table in a table hierarchy
Altering the structure of a table in a table hierarchy
Query tables in a table hierarchy
Create a view on a table in a table hierarchy
Create and use user-defined casts
What is a cast?
User-defined casts
Invoke casts
Restrictions on user-defined casts
Cast row types
Cast between named and unnamed row types
Cast between unnamed row types
Cast between named row types
Explicit casts on fields
Explicit casts on fields of an unnamed row type
Explicit casts on fields of a named row type
Cast individual fields of a row type
Cast collection data types
Restrictions on collection-type conversions
Collections with different element types
Implicit cast between element types
Explicit cast between element types
Convert relational data to a MULTISET collection
Cast distinct data types
Explicit casts with distinct types
Cast between a distinct type and its source type
Add and drop casts on a distinct type
Cast to smart large objects
Create cast functions for user-defined casts
An example of casting between named row types
An example of casting between distinct data types
Multilevel casting
Designing and Implementing a Database
What's new in Database Design and Implementation for IBM Informix, 11.70
Basics of database design and implementation
Plan a database
Select a data model for your database
Use ANSI-compliant databases
Differences between ANSI-compliant and non-ANSI-compliant databases
Transactions
Transaction logging
Owner naming
Privileges on objects
Default isolation level
Character data types
DECIMAL data type
Escape characters
Cursor behavior
SQLCODE field of the SQL communications area
Synonym behavior
Determine if an existing database is ANSI-compliant
Use a customized language environment for your database (GLS)
Build a relational data model
Build a data model
Overview of the entity-relationship data model
Identify and define principal data objects
Discover entities
Select possible entities
List of entities
Telephone directory example
Generic and significant entities
Fundamental entities
Unitary entities
Diagram entities
Define the relationships
Connectivity
Existence dependency
Cardinality
Discover the relationships
Diagram relationships
Identify attributes
Select attributes for entities
List attributes
About entity occurrences
Diagram data objects
How to read E-R diagrams
Telephone directory example
After the diagram is complete
Translate E-R data objects into relational constructs
Define tables, rows, and columns
Place constraints on columns
Domain characteristics
Determine keys for tables
Primary keys
Composite keys
System-assigned keys
Foreign keys (join columns)
Add keys to the telephone directory diagram
Resolve relationships
Resolve m:n relationships
Resolve other special relationships
Normalize a data model
First normal form
Second normal form
Third normal form
Summary of normalization rules
Select data types
Define the domains
Data types
Select a data type
Numeric types
Counters and codes: BIGINT, INT8, INTEGER, and SMALLINT
Automatic sequences: BIGSERIAL, SERIAL, and SERIAL8
Alter the next BIGSERIAL, SERIAL, or SERIAL8 number
Approximate numbers: FLOAT and SMALLFLOAT
Adjustable-precision floating point: DECIMAL(p)
Fixed-precision numbers: DECIMAL and MONEY
Select a currency format
Chronological data types
Calendar dates: DATE
Select a date format (GLS)
Exact points in time: DATETIME
Durations using INTERVAL
Force the format of a DATETIME or INTERVAL value
Select a DATETIME format (GLS)
BOOLEAN data type
Character data types (GLS)
Character data: CHAR(n) and NCHAR(n)
Variable-length strings: CHARACTER VARYING(m,r), VARCHAR(m,r), NVARCHAR(m,r), and LVARCHAR(m)
Variable-length execution time
Large character objects: TEXT
Binary objects: BYTE
Use TEXT and BYTE data types
Change the data type
Null values
Default values
Check constraints
Referential constraints
Implement a relational data model
Create the database
Use CREATE DATABASE
Avoid name conflicts
Select a dbspace
Select the type of logging
Use CREATE TABLE
Create a fragmented table
Drop or modify a table
Use CREATE INDEX
Composite indexes
Bidirectional traversal of indexes
Use synonyms for table names
Use synonym chains
Use command scripts
Capture the schema
Execute the file
An example
Populate the database
Move data from other IBM Informix databases
Load source data into a table
Perform bulk-load operations
Managing databases
Table fragmentation strategies
What is fragmentation?
Why use fragmentation?
Whose responsibility is fragmentation?
Fragmentation and logging
Distribution schemes for table fragmentation
Expression-based distribution scheme
Range rule
Arbitrary rule
Use the MOD function
Insert and update rows
Round-robin distribution scheme
Create a fragmented table
Create a new fragmented table
Create a fragmented table from nonfragmented tables
More than one nonfragmented table
Use a single nonfragmented table
Rowids in a fragmented table
Fragment smart large objects
Modify fragmentation strategies
Reinitialize a fragmentation strategy
Modify fragmentation strategies
The ADD clause
The DROP clause
The MODIFY clause
Grant and revoke privileges on fragments
Grant and limit access to your database
Use SQL to restrict access to data
Control access to databases
Grant privileges
Database-level privileges
Connect privilege
Users and the public
Resource privilege
Database-administrator privilege
Ownership rights
Table-level privileges
Access privileges
Privileges in the system catalog tables
Index, alter, and references privileges
Under privileges for typed tables
Privileges on table fragments
Column-level privileges
Type-level privileges
Usage privileges for user-defined types
Under privileges for named row types
Routine-level privileges
Language-level privileges
SPL routines
External routines
Automate privileges
Automate with a command script
Roles
Create a role
Manipulate user privileges and grant roles to other roles
Enable default roles and non-default roles
Confirm membership In roles and drop roles
Determine current role at runtime
Use SPL routines to control access to data
Restrict data reads
Restrict changes to data
Monitor changes to data
Restrict object creation
Views
Create views
Typed views
Duplicate rows from views
Restrictions on views
When the basis changes
Modify with a view
Delete with a view
Update a view
Insert into a view
Use the WITH CHECK OPTION keywords
Re-execution of a prepared statement when the view definition changes
Privileges and views
Privileges when creating a view
Privileges when using a view
Distributed queries
Overview of distributed queries
Distributed queries across databases of one Informix instance
Distributed queries across databases of two or more Informix instances
Coordinator and participant in a distributed query
Configure the database server to use distributed queries
Syntax of a distributed query
Access a remote server and database
Database Name segment
Database Object Name segment
Valid statements for accessing remote objects
Access remote tables
Table permissions
Qualify table references
Other remote operations
Open a remote database
Create a remote database
Create a synonym for a remote table
Monitor distributed queries
Server environment and distributed queries
PDQPRIORITY environment variable
DEADLOCK_TIMEOUT parameter
Logging-type restrictions on distributed queries
Transaction processing
Isolation levels
DEADLOCK_TIMEOUT and SET LOCK MODE
Two-phase commit and recovery
Object-relational databases
Create and use extended data types in Informix
IBM Informix data types
Fundamental or atomic data types
Predefined data types
Other predefined data types
Extended data types
Complex data types
User-defined data types
Distinct data types
Opaque data types
DataBlade data types
Smart large objects
BLOB data type
CLOB data type
Use smart large objects
Copy smart large objects
Complex data types
Collection data types
Null values in collections
SET collection types
MULTISET collection types
LIST collection types
Nested collection types
Add a collection type to an existing table
Restrictions on collections
Named row types
When to use a named row type
Select a name for a named row type
Restrictions on named row types
Restrictions on data types
Restrictions on constraints
Restrictions on indexes
Restrictions on SERIAL data types
Use a named row type to create a typed table
Change the type of a table
Convert an untyped table into a typed table
Convert a typed table into an untyped table
Use a named row type to create a column
Use a named row type within another row type
Drop named row types
Unnamed row types
Type and table inheritance
What is inheritance?
Type inheritance
Define a type hierarchy
Routine overloading for types in a type hierarchy
Inheritance and type substitutability
Drop named row types from a type hierarchy
Table inheritance
Relationship between type and table hierarchies
Define a table hierarchy
Inheritance of table behavior in a table hierarchy
Modify table behavior in a table hierarchy
Constraints on tables in a table hierarchy
Add indexes to tables in a table hierarchy
Triggers on tables in a table hierarchy
SERIAL types in a table hierarchy
Add a new table to a table hierarchy
Drop a table in a table hierarchy
Altering the structure of a table in a table hierarchy
Query tables in a table hierarchy
Create a view on a table in a table hierarchy
Create and use user-defined casts
What is a cast?
User-defined casts
Invoke casts
Restrictions on user-defined casts
Cast row types
Cast between named and unnamed row types
Cast between unnamed row types
Cast between named row types
Explicit casts on fields
Explicit casts on fields of an unnamed row type
Explicit casts on fields of a named row type
Cast individual fields of a row type
Cast collection data types
Restrictions on collection-type conversions
Collections with different element types
Implicit cast between element types
Explicit cast between element types
Convert relational data to a MULTISET collection
Cast distinct data types
Explicit casts with distinct types
Cast between a distinct type and its source type
Add and drop casts on a distinct type
Cast to smart large objects
Create cast functions for user-defined casts
An example of casting between named row types
An example of casting between distinct data types
Multilevel casting
Administering
System administration
Summary of configuration parameters
List of utilities
onstat quick reference card
onconfig quick reference card
SQL administration API quick reference card
List of environment variables
Administration tools
IBM OpenAdmin Tool (OAT) for Informix
How do I connect to a database server?
Logging in to a database server
Logging in to a database server in an OAT group
Switching to another server in an OAT group
How do I monitor database server activity?
Monitoring database server health
Monitoring alerts and event alarms
Reviewing the admin command history
Monitoring the online message log
Deleting the online message log
Rotating the online message log
Monitoring the ON-Bar activity log
Deleting the ON-Bar activity log
Rotating the ON-Bar activity log
How do I manage system space?
Monitoring space usage
Managing space usage
Creating a space
Modifying a space
Dropping a space
Adding a chunk
Modifying a chunk
Dropping a chunk
Adding storage space automatically
Configuring the server to add storage space
Adding a storage pool entry
Modifying a storage pool entry
Deleting storage pool entries
Expanding a space
Extending a chunk
Optimizing storage space
Optimizing storage space automatically
Estimating compression
Compressing tables and table fragments
Uncompressing tables and table fragments
Consolidating free space
Returning free space to the dbspace
Defragmenting extents
Managing recovery logs
Viewing checkpoint history
Forcing checkpoints
Viewing logical log statistics
Adding logical logs
Switching logical logs
Dropping logical logs
Viewing physical log statistics
Moving physical logs
How do I administer the database server?
Managing server memory
Managing high availability clusters
Configuring connectivity for high availability clusters
Finding high availability clusters
Viewing the topology of a cluster
Viewing the status of servers in a cluster
Adding an SDS server
Starting or stopping a server in a cluster
Managing time series
Managing configuration parameters
Running system validation checks
Validating one or more databases or tables at the current server
Validating the extents of one or more dbspaces on the current server
Managing virtual processors
Granting and limiting user privileges
Granting database-level privileges to a user
Modifying the database-level privileges of a user
Revoking the database-level privileges of a user
Granting table-level privileges to a user
Modifying the table-level privileges of a user
Revoking the table-level privileges of a user
Managing internal users (UNIX, Linux)
Setting the privileges for internal users on a server (UNIX, Linux)
Adding an internal user (UNIX, Linux)
Editing an internal user (UNIX, Linux)
Deleting an internal user (UNIX, Linux)
Creating a trusted context
Managing a trusted context
Managing Auto Update Statistics
Configuring and enabling Auto Update Statistics
Viewing refreshes and evaluations at the server
Requesting an immediate evaluation of statistics
Determining when statistics are updated next
Viewing the current Auto Update Statistics settings
Monitoring the Auto Update Statistics settings
Viewing alerts generated by Auto Update Statistics
Cleaning up abnormal runs of Auto Update Statistics
Backing up database server data
Backing up data with ontape
Changing the backup configuration and schedule
Performing a backup on demand
How do I manage Scheduler tasks?
Adding Scheduler tasks
Adding a new task
Adding a new sensor
Enabling Scheduler tasks
Changing the Scheduler task allowable time interval
Deleting a Scheduler task
How do I explore performance information?
Analyzing query performance with SQL Explorer
Turning on SQL tracing
Turning off SQL tracing
Specifying options for SQL tracing
Trace Mode
Suspending SQL tracing
Resuming SQL tracing from a suspended state
Switching between Live and Saved Data
Drilling down from the activity summary
Drilling down by transaction
Drilling down by SQL statement type
Optimizing SQL statements
Exploring user sessions
Stopping a user session
Viewing performance history
Running system performance reports
Monitoring servers with the onstat utility
How do I manage databases and tables?
Reviewing the databases on a server
Connecting to a database
Viewing schemas
Reviewing procedures and routines for a database
Performing standard SQL operations: query, insert, update, delete
Performing a query
Updating a table row
Deleting a table row
Inserting a table row
How do I set up access to a server?
Adding an OAT group
Creating a server connection
Exporting connection information
Importing connection information
Accessing a database with a nondefault locale
How do I configure security for OAT?
Creating an OAT group with read-only privileges
Read-only group restrictions
Limiting access to the Admin configuration pages
Providing password protection for the Admin configuration pages: Apache example
Configuring HTTPS for OAT
Disabling or enabling password protection for SQL Toolbox
How do I manage plug-ins for OAT?
Installing a plug-in for OAT
Enabling a plug-in for OAT
Upgrading a plug-in for OAT
Disabling a plug-in for OAT
Uninstalling a plug-in for OAT
idsadmin class functions
isreadonly function
get_database function
load_lang function
lang function
How do I customize the main menu for OAT?
Informix Health Advisor Plug-in for OAT
Running the Health Advisor
Adding a profile
Setting up alarms for a profile
Scheduling a task for a profile
Configuring email notification
Informix Replication Plug-in for OAT
Setting up the Replication plug-in
Monitoring Enterprise Replication
Viewing the topology of an ER domain
Configuring alert thresholds
Checking for alerts on an Enterprise Replication domain
Viewing the status of an Enterprise Replication node
Viewing a summary of replication activity at the current node
Viewing the node as a replication source
Viewing the node as a replication target
Monitoring log capture information for a node
Determining if transactions are being captured for replication
Monitoring log capture progress for a node
Preventing DDRBLOCK and log wrap
Turning on dynamic log file allocation
Monitoring the send queue for a node
Viewing target nodes and replicates related to the current node
Monitoring network I/O for an Enterprise Replication node
Monitoring disk space usage for a node
Monitoring the receive queue for a node
Monitoring how replicated data is applied at the target node
Monitoring transaction failures
Determining the apply latency rate
Reviewing ATS and RIS files for failed transactions
Reviewing Enterprise Replication errors
Viewing the ER configuration parameters
Administering Enterprise Replication
Setting up Enterprise Replication
Defining a server for Enterprise Replication
Defining a replicate set
Defining a replicate
Using templates to set up Enterprise Replication
Defining a template
Realizing a template
Deleting a template
Managing Enterprise Replication with a grid
Creating a grid
Deleting a grid
Adding members to a grid
Changing the users of a grid
Enabling or disabling a source server for a grid
Monitoring the status of grid tasks
Rerunning a grid command
Removing a grid command
Routing client connections in a grid
Viewing the SLAs for a grid
Creating an SLA for a grid
Modifying an SLA for a grid
Monitoring the quality of data in a grid
Managing Enterprise Replication servers
Modifying an ER server
Changing ATS and RIS file location and format
Changing the idle timeout for an ER server
Changing the type for participants on an ER server
Disabling ATS or RIS file generation on an ER server
Enabling ATS or RIS file generation on an ER server
Stopping or restarting replication on a server
Suspending replication for a server
Resuming replication to a suspended server
Stopping replication on a server
Restarting replication on a server
Restarting replication with empty queues
Disabling replication for a server
Enabling replication for a disabled server
Disconnecting an ER server
Reconnecting an ER server
Deleting an ER server
Managing replicate sets
Modifying a replicate set
Adding and deleting replicates in a replicate set
Changing replication frequency for a replicate set
Viewing replicate set properties
Starting a replicate set
Stopping a replicate set
Suspending a replicate set
Resuming a replicate set
Deleting a replicate set
Managing replicates
Modifying a replicate
Adding and deleting participants
Changing the master replicate server
Changing the conflict resolution rule and scope
Changing replication frequency for a replicate
Activating ATS and RIS file generation
Replicating full rows or changed columns
Enabling and disabling triggers
Retaining or removing deleted rows
Viewing replicate properties
Starting a replicate
Stopping a replicate
Suspending a replicate
Resuming a replicate
Deleting a replicate
Resynchronizing data among replication servers
Checking a replicate
Checking and repairing a replicate
Synchronizing a replicate
Deleting a check or sync task for a replicate
Checking a replicate set
Checking and repairing a replicate set
Synchronizing a replicate set
Deleting a check or sync task for a replicate set
Repairing failed transactions with ATS files
Repairing failed transactions with RIS files
Monitoring task status
Monitoring replicate tasks
Monitoring replicate set tasks
Changing ER configuration parameters
Managing client connections
Viewing connection units
Adding a connection unit
Modifying a failover configuration
Creating a service level agreement
Modifying a service level agreement
Creating a Connection Manager
Informix Schema Manager Plug-in for OAT
Viewing database objects
Viewing table objects
Reviewing table statistics
Creating a database
Dropping a database
Managing tables and indexes
Creating a table
Dropping a table
Truncating a table
Creating an index
Creating a partial-column index
Disabling or enabling an index
Dropping an index
Loading and unloading data with external tables
Loading data with an external table
Unloading data to an external table
Creating an external table
Viewing external table information
Viewing the status of load and unload tasks
Running saved load and unload tasks
Deleting load and unload tasks
Creating a group of saved load or unload tasks
Informix TimeSeries Plug-in for OAT
Reviewing time series
Creating a container
Creating a calendar
Creating a virtual table
Administrator's Guide
What's New in administration for Informix, 11.70
The database server
Database server installation and configuration
Plan for the database server
Consider your priorities
Considering your environment
Configure the operating system
Configure Windows memory
Maximum address space
Modify UNIX kernel parameters
Configure disk space
Use large chunks
Creating chunk files on UNIX
Provide NTFS partitions in Windows
Set permissions, ownership, and group
Create standard device names (UNIX)
Set environment variables
Required environment variables
Setting environment variables
Set GLS environment variables
Set environment variables on UNIX
Set environment variables on Windows
Configure connectivity
The sqlhosts file on UNIX
The sqlhosts registry on Windows
Configure connectivity using ISA
Configure the database server
Prepare the onconfig configuration file
Creating an onconfig file on UNIX
Creating an onconfig file on Windows
Using the Instance Manager to create a new database server instance (Windows)
Using the Instance Manager to rename a database server instance (Windows)
Configuring Java support
Start and administer the database server
Starting the database server
Preparing for automatic startup
Preparing for automatic startup on Windows
Preparing the UNIX startup and shutdown scripts
Preparing the UNIX startup scripts
Preparing the UNIX shutdown script
Prepare to connect to applications
Create storage spaces and chunks
Support for large chunks
Set up your backup system and storage
Set up ontape
Set up your storage manager and ON-Bar
Automatically terminating idle connections
Configure session properties
Configuring session properties
Perform routine administrative tasks
Change database server modes
Back up data and logical-log files
Monitor activity
Check for consistency
Perform additional administrative tasks
Disk mirroring
Manage database-logging status
Manage the logical log
Manage the physical log
Manage shared memory
Manage virtual processors
Manage parallel database query
Data replication
Data replication environments
Enterprise Replication
Auditing
Distributed queries
Global transactions
Transaction manager
Monitor database server activity
Event alarms
IBM Informix Server Administrator (ISA)
Message log
Specify the destination for message-log messages
Monitor the message log
ON-Monitor (UNIX)
The oncheck utility
The onperf tool (UNIX)
The onstat utility
SMI tables
System console
UNIX operating-system tools
Windows Event Viewer
Windows Performance Logs and Alerts
Windows utilities
The OpenAdmin Tool (OAT) for Informix
Client/server communications
Client/server architecture
Network protocol
Network programming interface
Windows network domain
Database server connection
Supporting multiplexed connections
Connections that the database server supports
Local connections
Shared-memory connections (UNIX)
Stream-pipe connections (UNIX)
Stream-pipe connections (Linux)
Named-pipe connections (Windows)
Local-loopback connections
Communication support services
Connectivity files
Network-configuration files
TCP/IP connectivity files
TCP/IP connectivity files on UNIX
TCP/IP connectivity files on Windows
What happens between a client and server when a TCP/IP connection is opened
Multiple TCP/IP ports
Network security files
The hosts.equiv file
The netrc information
User impersonation
The sqlhosts file and the SQLHOSTS registry key
Setting up the sqlhosts file (UNIX)
Setting up the SQLHOSTS registry key with Setnet32 (Windows)
The sqlhosts information
IANA standard service names and port numbers in the sqlhosts.std file
sqlhosts Connectivity information
sqlhosts file and SQLHOSTS registry key options
Group information
Creating a database server group in the sqlhosts file (UNIX)
Setting up the database server group registry key Windows
Alternatives for TCP/IP connections
Informix support for IPv6 addresses
ONCONFIG parameters related to connectivity
Connection information set in the DBSERVERNAME configuration parameter
Connection information set in the DBSERVERALIASES configuration parameter
Connection information set in the LIMITNUMSESSIONS configuration parameter
Connection information set in the NETTYPE configuration parameter
Name service maximum retention time set in the NS_CACHE configuration parameter
Connection information set in the NUMFDSERVERS configuration parameter
Connection information set in the HA_ALIAS configuration parameter
Environment variables for network connections
Distributed Relational Database Architecture (DRDA) communications
Overview of DRDA
Configuring Informix for connections to IBM Data Server Clients
Allocating poll threads for an interface/protocol combination with the NETTYPE configuration parameter
Specify the size of the DRDA communication buffer with the DRDA_COMMBUFFSIZE configuration parameter
The DRDAEXEC thread and queries from clients
SQL and supported and unsupported data types
Display DRDA connection information
Display DRDA session information
Examples of client/server configurations
A shared-memory connection (UNIX)
A local-loopback connection
A network connection
Multiple connection types
Accessing multiple database servers
IBM Informix MaxConnect
Database server initialization
Types of initialization
Initializing disk space
Initialization process
Process configuration file
Create shared-memory portions
Initialize or restart shared-memory
Initialize disk space
Start all required virtual processors
Make necessary conversions
Start fast recovery
Start a checkpoint
Document configuration changes
Create the oncfg_servername.servernum file
Drop Temporary Tblspaces
Set forced residency if specified
Return control to user
Create sysmaster database and prepare SMI tables
Create the sysutils database
Create the sysuser database
Create sysadmin database
Monitor maximum number of user connections
Database server operating modes
Change database server operating modes
Users permitted to change modes
ISA options for changing modes
ON-Monitor options for changing modes (UNIX)
Command-line options for changing modes
Change from offline to quiescent mode
Change from offline to online mode
Change from offline to administration mode
Change from quiescent to online mode
Change gracefully from online to quiescent mode
Change immediately from online to quiescent mode
Change from quiescent or online to administration mode
Change from administration to online mode
Change from administration to quiescent mode
Change from any mode immediately to offline mode
Specify administration mode users with the ADMIN_MODE_USERS configuration parameter
Disk, memory, and process management
Virtual processors and threads
Virtual processors
Threads
Types of virtual processors
Advantages of virtual processors
Shared processing
Save memory and resources
Parallel processing
Add and drop virtual processors in online mode
Bind virtual processors to CPUs
How virtual processors service threads
Control structures
Context switching
Stacks
Queues
Ready queues
Sleep queues
Wait queues
Mutexes
Virtual-processor classes
CPU virtual processors
Determine the number of CPU virtual processors required
Run on a multiprocessor computer
Run on a single-processor computer
Add and drop CPU virtual processors in online mode
Prevent priority aging
Processor affinity
Set processor affinity with the VPCLASS configuration parameter
User-defined classes of virtual processors
Determine the number of user-defined virtual processors required
User-defined virtual processors
Specify user-defined virtual processors
Assign a UDR to a user-defined virtual-processor class
Add and drop user-defined virtual processors in online mode
Java virtual processors
Disk I/O virtual processors
I/O priorities
Logical-log I/O
Physical-log I/O
Asynchronous I/O
Kernel-asynchronous I/O
AIO virtual processors
Automatic increasing and decreasing of AIO virtual processors
Number of AIO virtual processors required
Network virtual processors
Specifying Network Connections
Run poll threads on CPU or network virtual processors
Specify the number of networking virtual processors
Specify listen and poll threads for the client/server connection
Fast polling
Multiple listen threads
Add listen threads
Add a network-interface card
Dynamically starting, stopping, or restarting a listen thread
Communications support module virtual processor
Encrypt virtual processors
Optical virtual processor
Audit virtual processor
Miscellaneous virtual processor
Basic Text Search virtual processors
MQ messaging virtual processor
Web feature service virtual processor
XML virtual processor
Manage virtual processors
Set virtual-processor configuration parameters
Set virtual processor parameters with a text editor
Specify a virtual processor class
Disable priority aging (UNIX)
Set virtual-processor parameters with ISA
Set virtual-processor parameters with ON-Monitor
Start and stop virtual processors
Add virtual processors in online mode
Add virtual processors in online mode with onmode
Add virtual processors in online mode with ON-Monitor (UNIX)
Add network virtual processors
Drop CPU and user-defined virtual processors
Monitor virtual processors
Monitor virtual processors with command-line utilities
The onstat -g ath command
The onstat -g glo command
The onstat -g ioq command
The onstat -g rea command
Monitor virtual processors with SMI tables
Shared memory
Shared memory
Shared-memory use
Shared-memory allocation
Shared-memory size
Action to take if SHMTOTAL is exceeded
Processes that attach to shared memory
How a client attaches to the communications portion (UNIX)
How utilities attach to shared memory
How virtual processors attach to shared memory
Obtain key values for shared-memory segments
Specify where to attach the first shared-memory segment
Attach additional shared-memory segments
Define the shared-memory lower-boundary address
Resident shared-memory segments
Resident portion of shared memory
Shared-memory header
Shared-memory buffer pool
Buffer overflow to the virtual portion
Buffer size
Logical-log buffer
Physical-log buffer
High-Availability Data-Replication Buffer
Lock table
Virtual portion of shared memory
Management of the virtual portion of shared memory
Size of the virtual portion of shared memory
Components of the virtual portion of shared memory
Shared-memory internal tables
Buffer table
Chunk table
Dbspace table
Page-cleaner table
Tblspace table
Transaction table
User table
Big buffers
Session data
Thread data
Stacks
Heaps
Data-distribution cache
Dictionary cache
SQL statement cache
Sort memory
SPL routine and the UDR cache
Global pool
Communications portion of shared memory (UNIX)
Virtual-extension portion of shared memory
Concurrency control
Shared-memory mutexes
Shared-memory buffer locks
Types of buffer locks
Share lock
Exclusive lock
Database server thread access to shared buffers
FIFO/LRU queues
Components of LRU queue
Pages in least-recently used order
LRU queues and buffer-pool management
Number of LRU queues to configure
Number of cleaners to allocate
Number of pages added to the MLRU queues
End of MLRU cleaning
Automatic read-ahead operations
Database server thread access to buffer pages
Flush data to disk
Flush buffer-pool buffers
Flush before-images first
Flush the physical-log buffer
Synchronize buffer flushing
Describing flushing activity
Foreground write
LRU write
Chunk write
Flush the logical-log buffer
After a transaction is prepared or terminated in a database with unbuffered logging
When a session that uses nonlogging databases or unbuffered logging terminates
When a checkpoint occurs
When a page is modified that does not require a before-image in the physical-log file
Buffer large-object data
Write simple large objects
Blobpages and shared memory
Creation of simple large objects
Creation of blobpage buffers
Access smart large objects
Memory use on 64-bit platforms
Manage shared memory
Set operating-system shared-memory configuration parameters
Maximum shared-memory segment size
Using more than two gigabytes of memory (Windows)
Maximum number of shared-memory identifiers (UNIX)
Semaphores (UNIX)
Set database server shared-memory configuration parameters
Set parameters for resident shared memory
Set parameters for virtual shared memory
Set parameters for shared-memory performance
Set shared-memory parameters with a text editor
Set shared-memory parameters with ISA
Set shared-memory parameters with ON-Monitor (UNIX)
Set SQL statement cache parameters
Set up shared memory
Turn residency on or off for resident shared memory
Turn residency on or off in online mode
Turn residency on or off when restarting the database server
Add a segment to the virtual portion of shared memory
Reserve memory for critical activities
Configure the server response when memory is critically low
Scenario for maintaining a targeted amount of memory
Monitor shared memory
Monitor shared-memory segments
Monitor the shared-memory profile and latches
Command-line utilities to monitor shared memory and latches
IBM Informix Server Administrator
ON-Monitor (UNIX)
SMI tables
Monitor buffers
Command-line utilities to monitor buffers
The onstat -p utility
The onstat -B utility
The onstat -b utility
The onstat -X utility
The onstat -R utility
ON-Monitor (UNIX)
SMI tables
Monitor buffer-pool activity
Command-line utilities to obtain information about buffer-pool activity
The onstat -p utility
The onstat -F utility
The onstat -R utility
SMI tables
Deleting shared memory segments after a server failure
Data storage
Physical and logical units of storage
Chunks
Disk allocation for chunks
Disk access on Windows
Raw disk space on Windows
NTFS files
Unbuffered or buffered disk access on UNIX
Extendable chunks
Offsets
Pages
Blobpages
Sbpages
Extents
Dbspaces
Control of where simple large object data is stored
Root dbspace
Temporary dbspaces
Blobspaces
Sbspaces
Advantages of using sbspaces
Sbspaces and Enterprise Replication
Metadata, user data, and reserved area
Control of where smart large object data is stored
Storage characteristics of sbspaces
Extent sizes for sbspaces
Average smart-large-object size
Buffering mode
Last-access time
Lock mode
Logging
Levels of inheritance for sbspace characteristics
More information about sbspaces
Temporary sbspaces
Comparison of temporary and standard sbspaces
Temporary smart large objects
Extspaces
Databases
Tables
Damaged tables
Table types for Informix
Standard permanent tables
RAW tables
Temp tables
Properties of table types
Loading of data into a table
Fast recovery of table types
Backup and restore of RAW tables
Temporary tables
Temporary tables that you create
Where user-created temporary tables are stored
Temporary tables that the database server creates
Where database server-created temporary tables are stored
Tblspaces
Maximum number of tblspaces in a table
Table and index tblspaces
Extent interleaving
Table fragmentation and data storage
Amount of disk space required store data
Size of the root dbspace
Physical and logical logs
Temporary tables
Critical data
Extra space
Amount of space that databases require
The storage pool
Disk-layout guidelines
Dbspace and chunk guidelines
Table-location guidelines
Sample disk layouts
Sample layout when performance is highest priority
Sample layout when availability is highest priority
Logical-volume manager
Manage disk space
Allocate disk space
Specify an offset
Specify an offset for the initial chunk of root dbspace
Specify an offset for additional chunks
Use offsets to create multiple chunks
Allocating cooked file spaces on UNIX
Allocating raw disk space on UNIX
Create symbolic links to raw devices (UNIX)
Allocating NTFS file space on Windows
Allocating raw disk space on Windows
Specify names for storage spaces and chunks
Specify the maximum size of chunks
Specify the maximum number of chunks and storage spaces
Back up after you change the physical schema
Monitor storage spaces
Manage dbspaces
Creating a dbspace that uses the default page size
Specifying the first and next extent sizes for the tblspace tblspace
Creating a dbspace with a non-default page size
Create a buffer pool for the non-default page size
Resize an existing buffer pool
Delete an existing buffer pool
Define the page size
Improving the performance of cooked-file dbspaces by using direct I/O
Storing multiple named fragments in a single dbspace
Creating a temporary dbspace
What to do if you run out of disk space
Adding a chunk to a dbspace or blobspace
Adding a chunk with ON-Monitor (UNIX)
Rename dbspaces
Additional actions that may be required after you rename a dbspace
Manage blobspaces
Creating a blobspace
Prepare blobspaces to store TEXT and BYTE data
Determine blobpage size
Determine database server page size
Obtain blobspace storage statistics
Manage sbspaces
Creating an sbspace
Size sbspace metadata
Adding a chunk to an sbspace
Alter storage characteristics of smart large objects
Creating a temporary sbspace
Automatic space management
Creating and managing storage pool entries
Marking a chunk as extendable or not extendable
Modifying the create or extend size of a storage space
Changing the threshold and wait time for the automatic addition of more space
Configuring the frequency of the monitor low storage task
Manually expanding a space or extending an extendable chunk
Example of minimally configuring for and testing the automatic addition of more space
Example of configuring for the automatic addition of more space
Drop a chunk
Verify whether a chunk is empty
Drop a chunk from a dbspace with onspaces
Drop a chunk from a blobspace
Drop a chunk from an sbspace with onspaces
The -f (force) option
Delete smart large objects without any pointers
Drop a storage space
Preparation for dropping a storage space
Drop a mirrored storage space
Drop a storage space with onspaces
Dropping a dbspace or blobspace with ON-Monitor (UNIX)
Back up after dropping a storage space
Creating a space or chunk from the storage pool
Returning empty space to the storage pool
Manage extspaces
Create an extspace
Drop an extspace
Skip inaccessible fragments
The DATASKIP configuration parameter
The dataskip feature of onspaces
Use onstat to check dataskip status
The SQL statement SET DATASKIP
Effect of the dataskip feature on transactions
Determine when to use dataskip
Determine when to skip selected fragments
Determine when to skip all fragments
Monitor fragmentation use
Display databases
SMI tables
Using IBM Informix Server Administrator
ON-Monitor (UNIX)
Monitor disk usage
Monitor chunks
The onstat -d utility
The onstat -d update option
The onstat -D option
Monitor chunk I/O activity with the onstat -g iof command
The oncheck -pr command
The oncheck -pe command
IBM Informix Server Administrator
ON-Monitor (UNIX)
SMI tables
Monitor tblspaces and extents
SMI tables
Monitor simple large objects in a blobspace
The onstat -O option
Determine blobpage fullness with oncheck -pB
Monitor blobspace usage with oncheck -pe
Monitor simple large objects in a dbspace with oncheck -pT
Monitor sbspaces
The onstat -d option
The oncheck -ce and oncheck -pe options
The oncheck -cs option
The oncheck -ps option
Monitoring the metadata and user-data areas
The onstat -g smb c option
Storage optimization
Automatically optimizing data storage
Defragment partitions
Compression of row data and storage optimization
Data that you can compress
Data that you cannot compress
Compression ratios
Compression estimates
Compression dictionaries
Compression information that you can view
Illustration of compressed data and storage optimization
Compressing and uncompressing row data
Estimating compression ratios
Creating a compression dictionary
Compressing tables
Consolidating free space in tables
Returning free space to the dbspace
Uncompressing data
Deleting compression dictionaries
Move compressed data
Load data into a table
Moving data with external tables
External tables
Defining external tables
Map columns to other columns
Load data from and unload to a named pipe
Loading data with named pipes
FIFO virtual processors
Unloading data with named pipes
Copying data from one instance to another using the PIPE option
Monitor the load or unload operations
Monitor frequent load and unload operations
Monitor FIFO virtual processors
External tables in high-availability cluster environments
System catalog entries for external tables
Performance considerations when using external tables
Manage errors from external table load and unload operations
Reject files
External table error messages
Recoverability of table types for external tables
Logging and log administration
Logging
Database server processes that require logging
Transaction logging
Logging of SQL statements and database server activity
Activity that is always logged
Activity logged for databases with transaction logging
Activity that is not logged
Database-logging status
Unbuffered transaction logging
Buffered transaction logging
ANSI-compliant transaction logging
No database logging
Databases with different log-buffering status
Database logging in an X/Open DTP environment
Settings or changes for logging status or mode
Manage the database-logging mode
Change the database-logging mode
Modify the database-logging mode with ondblog
Change the buffering mode with ondblog
Cancel a logging mode change with ondblog
End logging with ondblog
Make a database ANSI compliant with ondblog
Changing the logging mode of an ANSI-compliant database
Modify the database logging mode with ontape
Turn on transaction logging with ontape
End logging with ontape
Change buffering mode with ontape
Make a database ANSI compliant with ontape
Modify database logging mode with ISA
Modify database logging mode with ON-Monitor
Modify the table-logging mode
Alter a table to turn off logging
Alter a table to turn on logging
Disable logging on temporary tables
Monitor transactions
Monitor the logging mode of a database
Monitor the logging mode with SMI tables
Monitor the logging mode with ON-Monitor (UNIX)
Monitor the logging mode with ISA
Logical log
What is the logical log?
Location of logical-log files
Identification of logical-log files
Status flags of logical-log files
Size of the logical-log file
Number of logical-log files
Performance considerations
Dynamic log allocation
Freeing of logical-log files
Action if the next logical-log file is not free
Action if the next log file contains the last checkpoint
Logging blobspaces and simple large objects
Switch log files to activate blobspaces
Back up log files to free blobpages
Back up blobspaces after inserting or deleting TEXT and BYTE data
Log sbspaces and smart large objects
Sbspace logging
Logging for smart large objects
Logging for updated smart large objects
Turn logging on or off for an sbspace
Smart-large-object log records
Prevent long transactions when logging smart-large-object data
Logging process
Dbspace logging
Blobspace logging
Manage logical-log files
Estimate the size and number of log files
Estimate the log size when logging smart large objects
Estimate the number of logical-log files
Back up logical-log files
Backing up blobspaces
Back up sbspaces
Switch to the next logical-log file
Free a logical-log file
Delete a log file with status D
Free a log file with status U
Freeing a log file with status U-B or F
Freeing a log file with status U-C or U-C-L
Free a log file with status U-B-L
Monitor logging activity
Monitor the logical log for fullness
The onstat -l command
The oncheck -pr command
Monitor temporary logical logs
SMI tables
ON-Monitor (UNIX)
Monitor log-backup status
Allocate log files
Dynamically add a logical-log file
Size and number of dynamically added log files
Location of dynamically added log files
Adding logical-log files manually
Dropping logical-log files
Change the size of logical-log files
Moving a logical-log file to another dbspace
Changing logging configuration parameters
Using ON-Monitor to change LOGFILES (UNIX)
Display logical-log records
Monitor events for dynamically added logs
Set high-watermarks for rolling back long transactions
Long-transaction high-watermark (LTXHWM)
Exclusive access, long-transaction high-watermark (LTXEHWM)
Adjust the size of log files to prevent long transactions
Recovering from a Long Transaction Hang
Physical logging, checkpoints, and fast recovery
Critical sections
Physical logging
Fast recovery use of physically-logged pages
Backup use of physically-logged pages
Database server activity that is physically logged
Physical recovery messages
Physical logging and simple large objects
Physical logging and smart large objects
Size and location of the physical log
Specify the location of the physical log
Strategy for estimating the size of the physical log
Physical-log overflow when transaction logging is turned off
Checkpoints
LRU values for flushing a buffer pool between checkpoints
Checkpoints during backup
Fast recovery
Need for fast recovery
Situations when fast recovery is initiated
Fast recovery and buffered logging
Possible physical log overflow during fast recovery
Fast recovery and no logging
Fast recovery after a checkpoint
The server returns to the last-checkpoint state
The server locates the checkpoint record in the logical log
The server rolls forward logical-log records
The server rolls back uncommitted transactions
Manage the physical log
Change the physical-log location and size
Check for adequate contiguous space
Change physical-log location or size using onparams
Change physical-log location or size using ON-Monitor (UNIX)
Monitor physical and logical-logging activity
Monitor checkpoint information
Turn checkpoint tuning on or off
Force a checkpoint
Server-provided checkpoint statistics
SMI tables
Turn automatic LRU tuning on or off
Fault tolerance
Mirroring
Mirroring
Benefits of mirroring
Costs of mirroring
Consequences of not mirroring
Data to mirror
Alternatives to mirroring
Logical volume managers
Hardware mirroring
External backup and restore
Mirroring process
Creation of a mirror chunk
Mirror status flags
Recovery
Actions during processing
Disk writes to mirror chunks
Disk reads from mirror chunks
Detection of media failures
Chunk recovery
Result of stopping mirroring
Structure of a mirror chunk
Using mirroring
Preparing to mirror data
Enable the MIRROR configuration parameter
Change the MIRROR parameter with ON-Monitor (UNIX)
Allocate disk space for mirrored data
Link chunks (UNIX)
Relink a chunk to a device after a disk failure
Using mirroring
Mirroring the root dbspace during initialization
Change the mirror status
Manage mirroring
Start mirroring for unmirrored storage spaces
Start mirroring for unmirrored dbspaces using onspaces
Starting mirroring using ISA
Start mirroring for unmirrored dbspaces using ON-Monitor (UNIX)
Start mirroring for new storage spaces
Start mirroring for new spaces using onspaces
Starting mirroring for new spaces using ISA
Start mirroring for new dbspaces using ON-Monitor (UNIX)
Add mirror chunks
Add mirror chunks using onspaces
Adding mirror chunks using ISA
Add mirror chunks using ON-Monitor (UNIX)
Take down a mirror chunk
Take down mirror chunks using onspaces
Take down mirror chunks using ON-Monitor (UNIX)
Recover a mirror chunk
Recover a mirror chunk using onspaces
Recover a mirror chunk using ISA
Recover a mirror chunk using ON-Monitor (UNIX)
End mirroring
End mirroring using onspaces
End mirroring using ON-Monitor (UNIX)
Ending mirroring using ISA
Consistency checking
Perform periodic consistency checking
Verify consistency
Validate system catalog tables
Validate data pages
Validate extents
Validate indexes
Validate logical logs
Validate reserved pages
Validate metadata
Monitor for data inconsistency
Read assertion failures in the message log and dump files
Validate table and tblspace data
Retain consistent level-0 backups
Deal with corruption
Find symptoms of corruption
Fix index corruption
Fix I/O errors on a chunk
Collect diagnostic information
Disable I/O errors
Monitor the database server for disabling I/O errors
The message log to monitor disabling I/O errors
Event alarms to monitor disabling I/O errors
No bad-sector mapping
High availability and scalability
Strategies for high availability and scalability
Components supporting high availability and scalability
Advantages of data replication
Clustering versus mirroring
Clustering versus two-phase commit
Clustering and Enterprise Replication
Type of data replicated
Primary and secondary database servers
Transparent scaling and workload balancing strategies
High availability strategies
High-availability cluster configuration
Plan for a high-availability cluster
Configuring clusters
Hardware and operating-system requirements for clusters
Database and data requirements for clusters
Database server configuration requirements for clusters
Database server version
Storage space and chunk configuration
Non-default page sizes in an HDR environment
Mirroring
Physical-log configuration
Dbspace and logical-log tape backup devices
Logical-log configuration
HDR configuration parameters
Configuring secure connections for clusters
Starting HDR for the First Time
Decrease setup time using the ontape STDIO feature
Remote standalone secondary servers
Comparison of RS secondary servers and HDR secondary servers
Index page logging
How index page logging works
Enable or disable index page logging
View index page logging statistics
Server Multiplexer Group (SMX) connections
Enable SMX encryption
Obtain SMX statistics
Starting an RS secondary server for the first time
Decrease setup time through an alternative backup method
Converting an offline primary server to an RS secondary server
Delayed application of log records
Specifying the log staging directory
Delay application of log records on an RS secondary server
Stop the application of log records
Shared disk secondary servers
SD secondary server
Disk requirements for SD secondary servers
Setting up a shared disk secondary server
Recovering a shared-disk cluster after critical data is damaged
Recovering a shared-disk cluster after non-critical data is lost
Obtain SD secondary server statistics
SD secondary server configuration
Promote an SD secondary server to a primary server
Convert a primary server to a standard server
SD secondary server security
Cluster administration
How data replication works
How data initially replicates
Reproduction of updates from the primary database server
How the log records are sent to HDR secondary servers
How the log records are sent to RS secondary and SD secondary servers
HDR data replication buffers
When log records are sent
HDR synchronous updating
HDR asynchronous updating
Lost-and-found transactions
Threads that handle data replication
Checkpoints between database servers
How data synchronization is tracked
Data Replication Configuration Examples
Remote standalone secondary configuration examples
Shared disk secondary configuration examples
Enterprise Replication as part of the recoverable group
High-availability clusters with Enterprise Replication configuration example
Example of a complex failover recovery strategy
Redirection and connectivity for data-replication clients
Design clients for redirection
Direct clients automatically with DBPATH
How the DBPATH redirection method works
Direct clients with the connectivity information
How redirection with the connectivity information works
Changing the connectivity information
Connect to the database server
Automatic redirection with server groups
Direct clients with INFORMIXSERVER
How redirection works with INFORMIXSERVER
What the administrator must do
What the user must do
Handle redirection within an application
Comparison of different redirection mechanisms
Recovering after failover of primary server in an HA environment
Failover of the primary server to the HDR secondary server
Failover of the primary server to an SD secondary server
Troubleshooting high-availability cluster environments
Configuring Connection Manager using settings from the primary server
Design data replication group clients
Use of temporary dbspaces for sorting and temporary tables
Performing basic administration tasks
Changing database server configuration parameters
Back up storage spaces and logical-log files
Changing the logging mode of databases
Add and drop chunks and storage spaces
Renaming chunks
Saving chunk status on the secondary database server
Use and change mirroring of chunks
Manage the physical log
Manage the logical log
Manage virtual processors
Manage shared memory
Set the wait time for a response from the primary server
Replicate an index to an HDR secondary database server
Encrypting data traffic between HDR database servers
Adjust LRU flushing and automatic tuning in HDR server pairs
Quickly cloning a primary server
Creating a clone of a primary server
Database updates on secondary servers
Isolation levels on secondary servers
Set lock mode
Transient types on high-availability cluster secondary servers
Row versioning
Backup and restore with high-availability clusters
Change the database server mode
Changing the database server type
Prevent blocking checkpoints on HDR servers
View statistics for nonblocking checkpoints on HDR servers
Monitor HDR status
Command-line utilities
The onstat -g dri option
The oncheck -pr option
SMI tables
ON-Monitor (UNIX)
Transaction completion during cluster failover
Configuring the server so that transactions complete after failover
Connection Management
Configuring the Connection Manager
Creating an encrypted password file
Modifying an encrypted password file
Configuring the environment for Connection Manager
Modifying the sqlhosts file for Connection Manager
Starting the Connection Manager
Connection Manager setup example
Establish Connection Manager redundancy and failover
Monitor and troubleshoot the Connection Manager
Determine the status of Connection Manager
Connection Manager event alarms
Stop the Connection Manager
Dynamically reconfiguring the Connection Manager
Converting the Connection Manager configuration file
Failover configuration
Failover with ISV cluster management software
Configuring I/O fencing for shared file systems
HDR failures
HDR failures defined
Detection of HDR failures
Actions when an HDR failure is detected
Considerations after HDR failure
Actions to take if the secondary database server fails
Actions to take if the primary database server fails
Automatic switchover
Actions that occur after automatic switchover
Automatic switchover without a reliable network
Manual switchover
Restart after a manual switchover
Restart if the secondary database server is not switched to standard
Connect offline applications after failover
Restore data after media failure occurs
Restore after a media failure on the primary database server
Restore after a media failure on the secondary database server
Replicate an index to the secondary server
Restart HDR after a failure
Restart after critical data is damaged
Critical media failure on the primary database server
Critical media failure on the secondary database server
Critical media failure on both database servers
Restart if critical data is not damaged
Restart after a network failure
Restarting If the Secondary Database Server Fails
Restart if the primary database server fails
The secondary database server was not changed to a standard database server
The secondary database server is changed to a standard database server
The secondary database server is changed to a standard database server automatically
Recovery after a failure of an RS cluster
Obtain RS secondary server statistics
Remove an RS secondary server
RS secondary server security
Create or change a password on an RS secondary server
Distributed data
Multiphase commit protocols
Transaction managers
TP/XA Library with a transaction manager
Microsoft Transaction Server (MTS/XA)
Informix transaction support for XA-compliant, external data sources
XA in high-availability clusters
Loosely coupled and tightly coupled modes
Two-phase commit protocol
When the two-phase commit protocol is used
Two-phase commit concepts
Phases of the two-phase commit protocol
Precommit phase
Postdecision phase
How the two-phase commit protocol handles failures
Types of failures that automatic recovery handles
Administrator's role in automatic recovery
Automatic-recovery mechanisms for coordinator failure
Automatic-recovery mechanisms for participant failure
Presumed-end optimization
Independent actions
Situations that initiate independent action
Possible results of independent action
Independent actions that allow transactions to complete successfully
Independent actions that result in an error condition
Independent actions that result in heuristic decisions
The heuristic rollback scenario
Conditions that result in a heuristic rollback
Condition 1: Logical log fills to a high-watermark
Condition 2: System administrator executes onmode -z
Results of a heuristic rollback
Situation 1: Coordinator issues a commit and all participants report heuristic rollbacks
Situation 2: Coordinator issued a commit; one participant commits and one reports a heuristic rollback
The heuristic end-transaction scenario
When to perform a heuristic end transaction
How to use onmode -Z
Action when the transaction is ended heuristically
Monitor a global transaction
Two-phase commit protocol errors
Two-phase commit and logical-log records
Logical-log records when the transaction commits
Logical-log records written during a heuristic rollback
Logical-log records written after a heuristic end transaction
Configuration parameters used in two-phase commits
Function of the DEADLOCK_TIMEOUT parameter
Function of the TXTIMEOUT parameter
Heterogeneous commit protocol
Gateways that can participate in a heterogeneous commit transaction
Enable and disable of heterogeneous commit
How heterogeneous commit works
Precommit phase
Gateway commit phase
Heterogeneous commit optimization
Implications of a failed heterogeneous commit
Database server coordinator failure
Participant failure
Interpretation of heterogeneous commit error messages
Application attempts to update multiple gateway participants
Failed attempt to commit distributed transaction using heterogeneous commit
Manually recovering from failed two-phase commit
Determine if manual recovery is required
Determine if a transaction was implemented inconsistently
Global transaction ended prematurely
Heuristic end transaction
Heuristic rollback
Determine if the distributed database contains inconsistent data
Obtaining information from the logical log
Obtain the global transaction identifier
Decide if action is needed to correct the situation
Example of manual recovery
Overview of automatic monitoring and corrective actions
The Scheduler
Scheduler tables
Built-in tasks and sensors
Creating a task
Creating a sensor
Actions for task and sensors
Creating a group
Creating a threshold
Creating an alert
Monitor the scheduler
Modifying the scheduler
Remote administration with the SQL administration API
SQL administration API admin() and task() functions
Viewing SQL administration API history
Controlling the size of the command_history table
Query drill-down
Specifying startup SQL tracing information by using the SQLTRACE configuration parameter
Disable SQL tracing globally or for a session
Enable SQL tracing for a particular user
Enable global SQL tracing for a session
Administrator's Reference
What's New in Administrator's Reference for Informix database server, Version 11.70
Configuring and Monitoring Informix
Database configuration parameters
onconfig File Conventions
Creating the onconfig File
Displaying the Settings in the onconfig File
onconfig Portal: Configuration parameters by functional category
Database configuration parameter reference
ADMIN_MODE_USERS Configuration Parameter
ADMIN_USER_MODE_WITH_DBSA Configuration Parameter
ALARMPROGRAM configuration parameter
ALLOW_NEWLINE Configuration Parameter
ALRM_ALL_EVENTS configuration parameter
AUTO_AIOVPS Configuration Parameter
AUTO_CKPTS Configuration Parameter
AUTO_LRU_TUNING Configuration Parameter
AUTO_READAHEAD configuration parameter
AUTO_REPREPARE configuration parameter
AUTO_STAT_MODE configuration parameter
BATCHEDREAD_TABLE configuration parameter
BATCHEDREAD_INDEX configuration parameter
BLOCKTIMEOUT configuration parameter
BTSCANNER Configuration Parameter
BUFFERPOOL configuration parameter
CHECKALLDOMAINSFORUSER configuration parameter
CKPTINTVL configuration parameter
CLEANERS Configuration Parameter
CONSOLE Configuration Parameter
CONVERSION_GUARD configuration parameter
DATASKIP Configuration Parameter
DBCREATE_PERMISSION Configuration Parameter
DB_LIBRARY_PATH Configuration Parameter
DBSERVERALIASES configuration parameter
DBSERVERNAME configuration parameter
DBSPACETEMP configuration parameter
Use Hash Join Overflow and DBSPACETEMP
DD_HASHMAX configuration parameter
DD_HASHSIZE Configuration Parameter
DEADLOCK_TIMEOUT configuration parameter
DEF_TABLE_LOCKMODE configuration parameter
DEFAULTESCCHAR configuration parameter
DELAY_APPLY Configuration Parameter
DIRECT_IO Configuration Parameter (UNIX)
DIRECTIVES configuration parameter
DISABLE_B162428_XA_FIX Configuration Parameter
DRDA_COMMBUFFSIZE Configuration Parameter
DRAUTO Configuration Parameter
DRIDXAUTO Configuration Parameter
DRINTERVAL configuration parameter
DRLOSTFOUND Configuration Parameter
DRTIMEOUT configuration parameter
DS_HASHSIZE Configuration Parameter
DS_MAX_QUERIES Configuration Parameter
DS_MAX_SCANS Configuration Parameter
DS_NONPDQ_QUERY_MEM configuration parameter
DS_POOLSIZE Configuration Parameter
DS_TOTAL_MEMORY configuration parameter
Algorithm for DS_TOTAL_MEMORY
AUTO_STAT_MODE configuration parameter
DUMPCNT Configuration Parameter (UNIX)
DUMPCORE Configuration Parameter (UNIX)
DUMPDIR Configuration Parameter
DUMPGCORE Configuration Parameter (UNIX)
DUMPSHMEM Configuration Parameter (UNIX)
DYNAMIC_LOGS Configuration Parameter
EILSEQ_COMPAT_MODE configuration parameter
ENABLE_SNAPSHOT_COPY Configuration Parameter
ENCRYPT_CIPHERS Configuration Parameter
ENCRYPT_HDR Configuration Parameter
ENCRYPT_MAC Configuration Parameter
ENCRYPT_MACFILE configuration parameter
ENCRYPT_SMX Configuration Parameter
ENCRYPT_SWITCH Configuration Parameter
EXPLAIN_STAT Configuration Parameter
EXT_DIRECTIVES Configuration Parameter
EXTSHMADD Configuration Parameter
FAILOVER_CALLBACK Configuration Parameter
FAILOVER_TX_TIMEOUT Configuration Parameter
FASTPOLL Configuration Parameter
FILLFACTOR configuration parameter
FULL_DISK_INIT Configuration Parameter
GSKIT_VERSION configuration parameter
HA_ALIAS Configuration Parameter
HETERO_COMMIT Configuration Parameter
IFX_EXTEND_ROLE Configuration Parameter
IFX_FOLDVIEW configuration parameter
LIMITNUMSESSIONS configuration parameter
LISTEN_TIMEOUT Configuration Parameter
LOCKS Configuration Parameter
LOGBUFF configuration parameter
LOGFILES configuration parameter
LOG_INDEX_BUILDS Configuration Parameter
LOG_STAGING_DIR Configuration Parameter
LOGSIZE configuration parameter
LOGSIZE for smart large objects
LOW_MEMORY_MGR configuration parameter
LOW_MEMORY_RESERVE configuration parameter
LTXEHWM Configuration Parameter
LTXHWM Configuration Parameter
MAX_FILL_DATA_PAGES Configuration Parameter
MAX_INCOMPLETE_CONNECTIONS Configuration Parameter
MAX_PDQPRIORITY Configuration Parameter
MIRROR Configuration Parameter
MIRROROFFSET Configuration Parameter
MIRRORPATH Configuration Parameter
MSG_DATE configuration parameter
MSGPATH configuration parameter
MULTIPROCESSOR Configuration Parameter
NET_IO_TIMEOUT_ALARM configuration parameter
NETTYPE Configuration Parameter
NS_CACHE configuration parameter
NUMFDSERVERS configuration parameter
OFF_RECVRY_THREADS configuration parameter
ON_RECVRY_THREADS Configuration Parameter
ONDBSPACEDOWN configuration parameter
Database Server Behavior When ONDBSPACEDOWN Does Not Apply
ONLIDX_MAXMEM Configuration Parameter
OPCACHEMAX Configuration Parameter (UNIX)
OPTCOMPIND configuration parameter
OPT_GOAL Configuration Parameter
PC_HASHSIZE Configuration Parameter
PC_POOLSIZE Configuration Parameter
PHYSBUFF Configuration Parameter
PHYSFILE Configuration Parameter
PLOG_OVERFLOW_PATH Configuration Parameter
PN_STAGEBLOB_THRESHOLD configuration parameter
PRELOAD_DLL_FILE Configuration Parameter
QSTATS Configuration Parameter
RA_PAGES configuration parameter
REMOTE_SERVER_CFG configuration parameter
REMOTE_USERS_CFG configuration parameter
RESIDENT configuration parameter
RESTARTABLE_RESTORE Configuration Parameter
RESTORE_POINT_DIR configuration parameter
ROOTNAME Configuration Parameter
ROOTOFFSET Configuration Parameter
ROOTPATH Configuration Parameter
ROOTSIZE configuration parameter
RSS_FLOW_CONTROL Configuration Parameter
RTO_SERVER_RESTART configuration parameter
S6_USE_REMOTE_SERVER_CFG configuration parameter
SBSPACENAME Configuration Parameter
SBSPACETEMP Configuration Parameter
SDS_ENABLE Configuration Parameter
SDS_LOGCHECK configuration parameter
SDS_PAGING Configuration Parameter
SDS_TEMPDBS Configuration Parameter
SDS_TIMEOUT Configuration Parameter
SECURITY_LOCALCONNECTION Configuration Parameter
SEQ_CACHE_SIZE configuration parameter
SERVERNUM configuration parameter
SHMADD configuration parameter
SHMBASE Configuration Parameter
SHMNOACCESS Configuration Parameter
SHMTOTAL configuration parameter
SHMVIRT_ALLOCSEG configuration parameter
SHMVIRTSIZE configuration parameter
SINGLE_CPU_VP configuration parameter
VPCLASS Values and the SINGLE_CPU_VP Configuration Parameter
SMX_COMPRESS Configuration Parameter
SP_AUTOEXPAND configuration parameter
SP_THRESHOLD Configuration Parameter
SP_WAITTIME Configuration Parameter
SQL_LOGICAL_CHAR Configuration Parameter
SQLTRACE Configuration Parameter
SSL_KEYSTORE_LABEL Configuration Parameter
STACKSIZE configuration parameter
STAGEBLOB Configuration Parameter
STATCHANGE configuration parameter
STMT_CACHE Configuration Parameter
STMT_CACHE_HITS Configuration Parameter
STMT_CACHE_NOLIMIT Configuration Parameter
STMT_CACHE_NUMPOOL Configuration Parameter
STMT_CACHE_SIZE Configuration Parameter
STOP_APPLY Configuration Parameter
STORAGE_FULL_ALARM Configuration Parameter
SYSALARMPROGRAM configuration parameter
SYSSBSPACENAME Configuration Parameter
TBLSPACE_STATS configuration parameter
TBLTBLFIRST configuration parameter
TBLTBLNEXT configuration parameter
TEMPTAB_NOLOG configuration parameter
TXTIMEOUT configuration parameter
UNSECURE_ONSTAT Configuration Parameter
UPDATABLE_SECONDARY Configuration Parameter
USELASTCOMMITTED Configuration Parameter
USEOSTIME Configuration Parameter
USTLOW_SAMPLE configuration parameter
VP_MEMORY_CACHE_KB Configuration Parameter
VPCLASS configuration parameter
WSTATS configuration parameter
USERMAPPING configuration parameter
The sysmaster database
The sysmaster Database
The buildsmi Script
The bldutil.sh Script
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
The System-Monitoring Interface Tables
The sysutils Tables
sysadtinfo
sysaudit
syschkio
syscheckpoint
syschunks
syscluster
syscmsm
syscmsmsla
syscmsmtab
syscompdicts_full
sysconfig
sysdatabases
sysdbslocale
sysdbspaces
sysdri
sysdual
sysenv
sysenvses
sysextents
sysextspaces
sysfeatures
sysha_lagtime Table
sysha_type
sysha_workload
sysipl
syslocks
syslogs
syslogfil table
sysmgminfo
sysnetclienttype
sysnetglobal
sysnetworkio table
sysonlinelog
sysprofile
sysproxyagents
sysproxydistributors
sysproxysessions table
sysproxytxnops table
sysproxytxns table
sysptprof table
sysrepevtreg table
sysrepstats table
User interface for sysrepstats and sysrepevtreg tables
sysrsslog
sysscblst
syssesappinfo
syssesprof
syssessions
syssmx
syssmxses
syssqexplain table
syssqltrace
syssqltrace_info
syssqltrace_iter
syssrcrss
syssrcsds
systabnames
systhreads
systrgrss
systrgsds
sysvpprof
The SMI Tables Map
Information from onstat in the SMI Tables
The sysadmin Database
The Scheduler Tables
The ph_task Table
The ph_run Table
The ph_group Table
The ph_alert Table
The ph_threshold Table
The Results Table
The command_history table
The storagepool table
Disk Structures and Storage
Dbspace Structure and Storage
Structure of the Root Dbspace
Reserved Pages
Structure of a Regular Dbspace
Structure of an Additional Dbspace Chunk
Structure of a Mirror Chunk
Structure of the Chunk Free-List Page
Structure of the Tblspace Tblspace
Tblspace Tblspace Entries
Tblspace Numbers
Structure of the Database Tblspace
Database Tblspace Entries
Structure and Allocation of an Extent
Extent Structure
Extent size
Page Types Within a Table Extent
Page Types Within an Index Extent
Next-Extent Allocation
Next-Extent Size
Extent size doubling
Lack of Contiguous Space
Merge of Extents for the Same Table
Structure and Storage of a Dbspace Page
Rows in Nonfragmented Tables
Definition of Rowid
Use of Rowids
Rows in Fragmented Tables
Access to Data in Fragmented Tables with Rowid
Recommendations on Use of Rowid
Data-Row Format and Storage
Storage of Row
Location of Rows
Page Compression
Structure of Fragmented Tables
Structure of B-Tree Index Pages
Definition of B-tree terms
Logical Storage of Indexes
Creation of Root and Leaf Nodes
Creation of branch nodes
Duplicate Key Values
Key-Value Locking
Adjacent Key Locking
Freed Index Pages
Filling Indexes
Calculating the Length of Index Items
Functional 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
Creation of Simple Large Objects
Deletion or Insertion of Simple Large Objects
Size Limits for Simple Large Objects
Blobspace Page Types
Structure of a Blobspace Blobpage
Sbspace Structure
Structure of the metadata area
Sbpage Structure
Multiple Chunk Sbspace
Time Stamps
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
Interpreting Logical-Log Records
About Logical-Log Records
Transactions That Drop a Table or Index
Transactions That Are Rolled Back
Checkpoints with Active Transactions
Distributed Transactions
Logical-Log Record Structure
Logical-Log Record Header
Logical-Log Record Types and Additional Columns
Log Record Types for Smart Large Objects
Administrative Utilities
Overview of Utilities
Obtaining Utility Version Information
IBM Informix Server Administrator
The genoncfg Utility
The oncheck Utility
oncheck Check-and-Repair
What Does Each Option Do?
Using the -y Option to Perform Repairs
Repairing Indexes in Sbspaces and External Spaces
Locking and oncheck
oncheck syntax
oncheck -cc and-pc: Check system catalog tables
oncheck -cd and oncheck -cD commands: Check pages
oncheck -ce, -pe: Check the chunk-free list
oncheck -ci and -cI: Check index node links
oncheck -cr and -cR: Check reserved pages
oncheck -cs, -cS, -ps, -pS: Check and display sbspaces
oncheck -pB: Display blobspace statistics
oncheck -pd and pD: Display rows in hexadecimal format
oncheck -pk, -pK, -pl, -pL: Display index information
oncheck -pp and -pP: Display the contents of a logical page
oncheck -pr and pR: Display reserved-page information
oncheck -pt and -pT: Display tblspaces for a table or fragment
Turn On Locking with -x
Send Special Arguments to the Access Method with -u
Return Codes on Exit
The onclean Utility
The onshutdown script
The oncmsm utility
Service Level Agreement Examples
Failover Configuration Examples
Proxy Mode and Redirect Mode
The ondblog Utility
ondblog: Change Logging Mode
ondblog Syntax
The oninit utility
Return codes for the oninit utility
The onlog Utility
The onmode utility
onmode Syntax
onmode -a: Add a shared-memory segment
onmode -BC: Allow large chunk mode
onmode -c: Force a checkpoint
onmode -C: Control the B-tree scanner
onmode -cache surrogates: Cache the allowed.surrogates file
onmode -d: Set data-replication types
Using the -d standard Option
Using the -d primary dbservername Option
Using the -d secondary dbservername Option
onmode -d: Set High Availability server characteristics
onmode -d command: Replicate an index with data-replication
onmode -D, -M, -Q, -S: Change decision-support parameters
onmode -e: Change usage of the SQL statement cache
onmode -F: Free unused memory segments
onmode -I: Control diagnostics collection
onmode -k, -m, -s, -u, -j: Change database server mode
Taking the Database Server to Offline Mode with the -k Option
Bringing the Database Server Online with the -m Option
Shutting Down the Database Server Gracefully with the -s Option
Shutting Down the Database Server Immediately with the -u Option
Changing the Database Server to Administration Mode with the -j Option
Changing Database Server Mode with ON-Monitor (UNIX)
onmode -l: Switch the logical-log file
onmode -n, -r: Change shared-memory residency
onmode -O: Override ONDBSPACEDOWN WAIT mode
onmode -p: Add or remove virtual processors
Adding and Dropping Virtual Processors
Dropping Virtual Processors Automatically
Monitoring poll threads with onstat
onmode -P: Start, stop, or restart a listen thread dynamically
onmode -R: Regenerate .infos File
onmode -W: Change settings for the SQL statement cache
SQL statement cache examples
onmode -wf, -wm: Dynamically change certain configuration parameters
onmode -wm: Change LRU tuning status
onmode -Y: Dynamically change SET EXPLAIN
onmode -z: Kill a database server session
onmode -Z: Kill a distributed transaction
The ON-Monitor Utility
Using ON-Monitor (UNIX)
Navigating ON-Monitor and Using Help
Executing Shell Commands Within ON-Monitor
ON-Monitor Screen Options
Setting Configuration Parameters in ON-Monitor
The onparams Utility
onparams Syntax
onparams -a -d dbspace: Add a logical-log file
onparams -d -l lognum: Drop a logical-log file
onparams -p: Change physical-log parameters
Backing Up After You Change the Physical-Log Size or Location
Changing the Size of the Physical Log and Using Non-Default Page Sizes
onparams -b: Add a new buffer pool
Examples of onparams Commands
The onpassword utility
Configuring secure connections using a password file
The ifxclone utility
The onspaces Utility
onspaces Syntax
onspaces -a: Add a chunk to a dbspace or blobspace
onspaces -a: Add a chunk to an sbspace
onspaces -c -b: Create a blobspace
onspaces -c -d: Create a dbspace
Creating a Temporary Dbspace with the -t Option
Specifying First and Next Extent Size for the tblspace tblspace
Specifying a Non-Default Page Size with the Same Size as the Buffer Pool
onspaces -c -S: Create an sbspace
Creating a Temporary Sbspace with the -t Option
Creating an Sbspace with the -Df option
Changing the -Df Settings
Using the onspaces -g option
onspaces -c -x: Create an extspace
onspaces -ch: Change sbspace default specifications
onspaces -cl: Clean up stray smart large objects in sbspaces
onspaces -d: Drop a chunk in a dbspace, blobspace, or sbspace
onspaces -d: Drop a blobspace, dbspace, extspace, or sbspace
onspaces -f: Specify DATASKIP parameter
onspaces -m: Start mirroring
Using a File to Specify Chunk-Location Information with the -f Option
onspaces -r: Stop mirroring
onspaces -ren: Rename a dbspace, blobspace, sbspace, or extspace
Renaming a Dbspace, Blobspace, Sbspace, or Extspace when Enterprise Replication Is Active
Performing an Archive after Renaming a Space
onspaces -s: Change status of a mirrored chunk
Avoid overwriting a chunk
The onstat utility
onstat Utility Commands Sorted by Functional Category
Monitor the database server status
onstat Command Syntax
onstat command: Equivalent to the onstat -pu command
onstat - command: Print output header
Subheader printed with the onstat - command
onstat – command: Print onstat options and functions
Running onstat Commands on a Shared Memory Dump File
onstat -a command: Print overall status of the database server
onstat -b command: Print buffer information for buffers in use
onstat -B command: Prints information about used buffers
onstat -c command: Print ONCONFIG file contents
onstat -C command: Print B–tree scanner information
onstat -d command: Print chunk information
onstat -D command: Print page-read and page-write information
onstat -f command: Print dbspace information affected by dataskip
onstat -F command: Print counts
onstat -g monitoring options
onstat -g act command: Print active threads
onstat -g afr command: Print allocated memory fragments
onstat -g all command: Print diagnostic information
onstat -g aqt command: Print data mart and accelerated query table information
onstat -g arc command: Print archive status
onstat -g ath command: Print information about all threads
onstat -g buf command: Print buffer pool profile information
onstat -g cat command: Print ER global catalog information
onstat -g cdr command: Print ER statistics
onstat -g cdr config command: Print ER settings
onstat -g ckp command: Print checkpoint history and configuration recommendations
onstat -g cluster command: Print high-availability cluster information
onstat -g cmsm command: Print Connection Manager information
onstat -g con command: Print condition and thread information
onstat -g cpu: Print runtime statistics
onstat -g dbc command: Print dbScheduler and dbWorker thread statistics
onstat -g ddr command: Print ER database log reader status
onstat -g defragment command: Print defragment partition extents
onstat -g dic command: Print table information
onstat -g dis command: Print database server information
onstat -g dsk command: Print the progress of the currently running compression operation
onstat -g dll command: Print dynamic link library file list
onstat -g dmp command: Print raw memory
onstat -g dri command: Print high-availability data replication information
onstat -g dsc command: Print distribution cache information
onstat -g dss command: Print ER environment data
onstat -g dtc command: Print delete table cleaner statistics
onstat -g env command: Print environment variable values
onstat -g ffr command: Print free fragments
onstat -g glo command: Print global multithreading information
onstat -g grp command: Print ER grouper statistics
onstat -g his command: Print SQL trace information
onstat -g ioa command: Print combined onstat -g information
onstat -g iob command: Print big buffer use summary
onstat -g iof command: Print asynchronous I/O statistics
onstat -g iog command: Print AIO global information
onstat -g ioq command: Print I/O queue information
onstat -g ipl command: Print index page logging status information
onstat -g iov command: Print AIO VP statistics
onstat -g lap command: Print light appends status information
onstat -g laq command: Print secondary server queues
onstat -g lmm command: Print low memory management information
onstat -g lmx command: Print all locked mutexes
onstat -g lsc command: Print active light scan status (deprecated)
onstat -g mem command: Print pool memory statistics
onstat -g mgm command: Print MGM resource information
onstat -g nbm command: Print a block bit map
onstat -g nif command: Print statistics about the network interface
onstat -g nsc command: Print current shared memory connection information
onstat -g nsd command: Print poll threads shared-memory data
onstat -g nss command: Print shared memory network connections status
onstat -g ntd command: Print network statistics
onstat -g ntm command: Print network mail statistics
onstat -g ntt command: Print network user times
onstat -g ntu command: Print network user statistics
onstat -g opn command: Print open partitions
onstat -g osi: Print operating system information
onstat -g pos command: Print file values
onstat -g ppd command: Print partition compression dictionary information
onstat -g ppf command: Print partition profiles
onstat -g pqs command: Print operators for all SQL queries
onstat -g prc command: Print sessions using UDR or SPL routine
onstat -g proxy command: Print proxy distributor information
onstat -g que command: Prints ER queue statistics
onstat -g qst command: Print wait options for mutex and condition queues
onstat -g rah command: Print read-ahead request statistics
onstat -g rbm command: Print a block map of shared memory
onstat -g rcv command: Print ER receive manager statistics
onstat -g rea command: Print ready threads
onstat -g rep command: Print ER schedule manager events
onstat -g rqm command: Print low-level queue statistics
onstat -g rss command: Print RS secondary server information
onstat -g rwm command: Print read and write mutexes
onstat -g sch command: Print VP information
onstat -g scn command: Print scan information
onstat -g sds command: Print SD secondary server information
onstat -g seg command: Print shared memory segment statistics
onstat -g ses command: Print session-related information
onstat -g sle command: Print all sleeping threads
onstat -g smb command: Print sbspaces information
onstat -g smx command: Print multiplexer group information
onstat -g spi command: Print spin locks with long spins
onstat -g sql command: Print SQL-related session information
onstat -g src command: Patterns in shared memory
onstat -g ssc command: Print SQL statement occurrences
onstat -g stk command: Print thread stack
onstat -g stm command: Print SQL statement memory usage
onstat -g stq command: Print queue information
onstat -g sts command: Print stack usage for each thread
onstat -g sym command: Print symbol table information for the oninit utility
onstat -g sync command: Print ER synchronization status
onstat -g tpf command: Print thread profiles
onstat -g ufr command: Print memory pool fragments
onstat -g vpcache command: Print CPU VP memory block cache statistics
onstat -g wai command: Print wait queue thread list
onstat -g wmx command: Print all mutexes with waiters
onstat -g wst command: Print wait statistics for threads
onstat -G command: Print TP/XA transaction information
onstat -h command: Print buffer header hash chain information
onstat -i command: Initiate interactive mode
onstat -j command: Provide onpload status information
onstat -k command: Print active lock information
onstat -l command: Print physical and logical log information
onstat -L command: Print the number of free locks
onstat -m command: Print recent system message log information
onstat -o command: Output shared memory contents to a file
onstat -O command: Print optical subsystem information
onstat -p command: Print profile counts
onstat -P command: Print partition information
onstat -r command: Repeatedly print selected statistics
onstat -R command: Print LRU, FLRU, and MLRU queue information
onstat -s command: Print latch information
onstat -t and onstat -T commands: Print tblspace information
onstat -u command: Print user activity profile
onstat -x command: Print database server transaction information
Determine the position of a logical-log record
Determine the mode of a global transaction
onstat -X command: Print thread information
onstat -z command: Clear statistics
Return codes on exiting the onstat utility
SQL Administration API
SQL Administration API Functions
SQL Administration API Overview
admin() and task() Function Syntax Behavior
admin() and task() Argument Size Specifications
admin() and task() Function Return Codes
SQL administration API portal: Arguments by functional category
add bufferpool argument: Add a buffer pool (SQL administration API)
add chunk argument: Add a new chunk (SQL administration API)
add log argument: Add a new logical log (SQL administration API)
add memory argument: Increase shared memory (SQL administration API)
add mirror argument: Add a mirror chunk (SQL administration API)
alter chunk argument: Change chunk status to online or offline (SQL administration API)
alter logmode argument: Change the database logging mode (SQL administration API)
alter plog argument: Change the physical log (SQL administration API)
archive fake argument: Perform an unrecorded backup (SQL administration API)
cdr argument: Administer Enterprise Replication (SQL administration API)
check data argument: Check data consistency (SQL administration API)
check extents argument: Check extent consistency (SQL administration API)
check partition argument: Check partition consistency (SQL administration API)
checkpoint argument: Force a checkpoint (SQL administration API)
clean sbspace argument: Release unreferenced smart large objects (SQL administration API)
create blobspace argument: Create a blobspace (SQL administration API)
create blobspace from storagepool argument: Create a blobspace from the storage pool (SQL administration API)
create chunk argument: Create a chunk (SQL administration API)
create chunk from storagepool argument: Create a chunk from the storage pool (SQL administration API)
create database argument: Create a database (SQL administration API)
create dbspace argument: Create a dbspace (SQL administration API)
create dbspace from storagepool argument: Create a dbspace from the storage pool (SQL administration API)
create sbspace argument: Create an sbspace (SQL administration API)
create sbspace from storagepool argument: Create an sbspace from the storage pool (SQL administration API)
create sbspace with accesstime argument: Create an sbspace that tracks access time (SQL administration API)
create sbspace with log argument: Create an sbspace with transaction logging (SQL administration API)
create tempdbspace argument: Create a temporary dbspace (SQL administration API)
create tempdbspace from storagepool argument: Create a temporary dbspace from the storage pool (SQL administration API)
create tempsbspace argument: Create a temporary sbspace (SQL administration API)
create tempsbspace from storagepool argument: Create a temporary sbspace from the storage pool (SQL administration API)
defragment argument: Dynamically defragment partition extents
drop blobspace argument: Drop a blobspace (SQL administration API)
drop blobspace to storagepool argument: Return space from an empty blobspace to the storage pool (SQL administration API)
drop chunk argument: Drop a chunk (SQL administration API)
drop chunk to storagepool argument: Return space from an empty chunk to the storage pool (SQL administration API)
drop database argument: Drop a database (SQL administration API)
drop dbspace argument: Drop a dbspace (SQL administration API)
drop dbspace to storagepool argument: Return space from an empty dbspace to the storage pool (SQL administration API)
drop log argument: Drop a logical log (SQL administration API)
drop sbspace argument: Drop an sbspace (SQL administration API)
drop sbspace to storagepool argument: Return space from an empty sbspace to the storage pool (SQL administration API)
drop tempdbspace argument: Drop a temporary dbspace (SQL administration API)
drop tempdbspace to storagepool argument: Return space from an empty temporary dbspace to the storage pool (SQL administration API)
drop tempsbspace to storagepool argument: Return space from an empty temporary sbspace to the storage pool (SQL administration API)
file status argument: Display the status of a message log file (SQL administration API)
ha make primary argument: Change the mode of a secondary server (SQL administration API)
ha rss argument: Create an RS secondary server (SQL administration API)
ha rss add argument: Add an RS secondary server to a primary server (SQL administration API)
ha rss change argument: Change the password of an RS secondary server (SQL administration API)
ha rss delete argument: Delete an RS secondary server (SQL administration API)
ha sds clear argument: Stop shared-disk replication (SQL administration API)
ha sds primary argument: Convert an SD secondary server to a primary server (SQL administration API)
ha sds set argument: Create a shared-disk primary server (SQL administration API)
ha set idxauto argument: Replicate indexes to secondary servers (SQL administration API)
ha set ipl argument: Log index builds on the primary server (SQL administration API)
ha set primary argument: Define an HDR primary server (SQL administration API)
ha set secondary argument: Define an HDR secondary server (SQL administration API)
ha set standard argument: Convert an HDR server into a standard server (SQL administration API)
ha set timeout argument: Change SD secondary server timeout (SQL administration API)
message log delete argument: Delete a message log file (SQL administration API)
message log rotate argument: Rotate the message log file (SQL administration API)
message log truncate argument: Delete the contents of a message log file (SQL administration API)
modify chunk extend argument: Extend the size of a chunk (SQL administration API)
modify chunk extendable argument: Mark a chunk as extendable (SQL administration API)
modify chunk extendable off argument: Mark a chunk as not extendable (SQL administration API)
modify space expand argument: Expand the size of a space (SQL administration API)
modify space sp_sizes argument: Modify the create or extend size of a storage space (SQL administration API)
onmode and a arguments: Add a shared-memory segment (SQL administration API)
onmode and c arguments: Force a checkpoint (SQL administration API)
onmode and C arguments: Control the B-tree scanner (SQL administration API)
onmode and d arguments: Set data-replication types (SQL administration API)
onmode and D arguments: Set PDQ priority (SQL administration API)
onmode and e arguments: Change usage of the SQL statement cache (SQL administration API)
onmode and F arguments: Free unused memory segments (SQL administration API)
onmode and j arguments: Switch the database server to administration mode (SQL administration API)
onmode and l arguments: Switch to the next logical log (SQL administration API)
onmode and m arguments: Switch to multi-user mode (SQL administration API)
onmode and M arguments: Temporarily change decision-support memory (SQL administration API)
onmode and n arguments: Unlock resident memory (SQL administration API)
onmode and O arguments: Mark a disabled dbspace as down (SQL administration API)
onmode and p arguments: Add or remove virtual processors (SQL administration API)
onmode and Q arguments: Set maximum number for decision-support queries (SQL administration API)
onmode and r arguments: Force residency of shared memory (SQL administration API)
onmode and S arguments: Set maximum number of decision-support scans (SQL administration API)
onmode and W arguments: Reset statement cache attributes (SQL administration API)
onmode and wf arguments: Permanently update a configuration parameter (SQL administration API)
onmode and wm arguments: Temporarily update a configuration parameter (SQL administration API)
onmode, wm, and AUTO_LRU_TUNING arguments: Change LRU tuning status (SQL administration API)
onmode and Y arguments: Change query plan measurements for a session (SQL administration API)
onmode and z arguments: Terminate a user session (SQL administration API)
onmode and Z arguments: Terminate a distributed transaction (SQL administration API)
onbar argument: Backup the storage spaces (SQL administration API)
onsmsync argument: Synchronize with the storage manager catalog (SQL administration API)
ontape archive argument: Backup the data on your database (SQL administration API)
print error argument: Print an error message (SQL administration API)
print file info argument: Display directory or file information (SQL administration API)
print partition argument: Print partition information (SQL administration API)
rename space argument: Rename a storage space (SQL administration API)
reset sysadmin argument: Move the sysadmin database (SQL administration API)
restart listen argument: Stop and start a listen thread dynamically (SQL administration API)
scheduler argument: Stop or start the scheduler (SQL administration API)
scheduler lmm enable argument: Specify automatic low memory management settings (SQL administration API)
scheduler lmm disable argument: Stop automatic low memory management (SQL administration API)
set chunk argument: Change the status of a chunk (SQL administration API)
set dataskip argument: Start or stop skipping a dbspace (SQL administration API)
set index compression argument: Change index page compression (SQL administration API)
set onconfig memory argument: Temporarily change a configuration parameter (SQL administration API)
set onconfig permanent argument: Permanently change a configuration parameter (SQL administration API)
set sbspace accesstime argument: Control access time tracking (SQL administration API)
set sbspace avg_lo_size argument: Set the average size of smart large objects (SQL administration API)
set sbspace logging argument: Change the logging of an sbspace (SQL administration API)
set sql tracing argument: Set global SQL tracing (SQL administration API)
set sql tracing database argument: Change database tracing (SQL administration API)
set sql tracing session argument: Control tracing for a session (SQL administration API)
set sql tracing user argument: Control tracing for users (SQL administration API)
set sql user tracing argument: Set global SQL tracing for a user session (SQL administration API)
start listen argument: Start a listen thread dynamically (SQL administration API)
start mirroring argument: Starts storage space mirroring (SQL administration API)
stop listen argument: Stop a listen thread dynamically (SQL administration API)
stop mirroring argument: Stops storage space mirroring (SQL administration API)
storagepool add argument: Add a storage pool entry (SQL administration API)
storagepool delete argument: Delete one storage pool entry (SQL administration API)
storagepool modify argument: Modify a storage pool entry (SQL administration API)
storagepool purge argument: Delete storage pool entries (SQL administration API)
Compress and Uncompress Operations (SQL administration API)
table or fragment arguments: Compress data and optimize storage (SQL administration API)
Output of the Estimate Compression Operation (SQL administration API)
purge compression dictionary arguments: Remove compression dictionaries (SQL administration API)
Appendixes
Files That the Database Server Uses
Database Server Files
Descriptions of Files
af.xxx
ac_msg.log
ac_config.std
bar_act.log
bldutil.process_id
buildsmi.out (UNIX) or buildsmi_out (Windows)
concdr.sh
.conf.dbservername
core
Emergency Boot Files for ON-Bar
gcore.xxx (UNIX)
illlsrra.xx
~/.informix
informix.rc (UNIX)
INFORMIXTMP
.inf.servicename
.infos.dbservername
.infxdirs
InstallServer.log (Windows)
ISM Catalog
ISM Logs
ISMversion
JVM_vpid file
JVPLOG
.jvpprops
Message Log
onconfig.std
The ONCONFIG File
onconfig
oncfg_servername.servernum
onsnmp.servername
onsrvapd.log
revcdr.sh
shmem.xxx (UNIX)
sm_versions.std
snmpd.log
sqlhosts
VP.servername.nnx
xbsa.messages
Troubleshooting errors
Collecting Diagnostics using onmode -I
Creating Tracepoints
Collecting data with the ifxcollect tool
Event Alarms
Using ALARMPROGRAM to Capture Events
Setting ALRM_ALL_EVENTS
Writing Your Own Alarm Script
Customizing the ALARMPROGRAM Scripts
Precautions for Foreground Operations in Alarm Scripts
Interpreting event alarm messages
Events in the ph_alert Table
Event Alarm Parameters
Event alarm IDs
Severity 5 event alarms
RS Secondary Server Event Alarms
SD Secondary Server Event Alarms
Discontinued configuration parameters
AFF_NPROCS (Discontinued)
AFF_SPROC (Discontinued)
BUFFERS (Discontinued)
FAST_RESTART_CKPT_FUZZYLOG (Discontinued)
FAST_RESTART_PHYSLOG (Discontinued)
JDKVERSION (Discontinued)
LBU_PRESERVE (Discontinued)
LOGSMAX (Discontinued)
LRU_MAX_DIRTY (Discontinued)
LRU_MIN_DIRTY (Discontinued)
LRUS (Discontinued)
NOAGE (Discontinued)
NUMAIOVPS (Discontinued)
NUMCPUVPS (Discontinued)
PHYSDBS (Discontinued)
RA_THRESHOLD configuration parameter (discontinued)
SB_CHECK_FOR_TEMP configuration parameter
Error Messages
How the Messages Are Ordered in This Chapter
How to View These Messages
Message Categories
Messages: A-B
Aborting Long Transaction: tx 0xn.
Affinitied VP mm to phys proc nn.
Affinity not enabled for this server.
Assert Failed: Error from SBSpace cleanup thread.
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.
Begin re-creating indexes deferred during recovery.
Building 'sysmaster' database requires ~mm pages of logical log. Currently there are nn pages available. Prepare to back up your logs soon.
Building 'sysmaster' database...
Messages: C
Cannot Allocate Physical-log File, mm wanted, nn available.
Cannot alter a table which has associated violations table.
Cannot change to mode.
Cannot Commit Partially Complete Transactions.
Cannot create a user-defined VP class with 'SINGLE_CPU_VP' non-zero.
Cannot create violations/diagnostics table.
Cannot insert from the violations table to the target table.
Cannot modify/drop a violations/diagnostics table.
Cannot Open Dbspace nnn.
Cannot Open Logical Log.
Cannot Open Mirror Chunk pathname, errorno = nn.
Cannot Open Primary Chunk pathname, errorno = nnn.
Cannot Open Primary Chunk chunkname.
Cannot open sysams in database name, iserrno number.
Cannot open sysdistrib in database name, iserrno number.
Cannot open system_table in database name, iserrno number.
Cannot open systrigbody in database name, iserrno number.
Cannot open systriggers in database name, iserrno number.
Cannot open sysxtdtypes in database name, iserrno number.
Cannot Perform Checkpoint, shut system down.
Cannot Restore to Checkpoint.
Cannot Rollback Incomplete Transactions.
Cannot update pagezero.
Cannot update syscasts in database name. Iserrno number.
Can’t affinity VP mm to phys proc nn.
Changing the sbspace minimum extent value: old value value1, new value value2.
Checkpoint blocked by down space, waiting for override or shutdown.
Checkpoint Completed: duration was n seconds.
Checkpoint Page Write Error.
Checkpoint Record Not Found in Logical Log.
Chunk chunkname added to space spacename.
Chunk chunkname dropped from space spacename.
Chunk number nn pathname -- Offline.
Chunk number nn pathname -- Online.
The chunk pathname must have READ/WRITE permissions for owner and group.
The chunk pathname must have owner-ID and group-ID set to informix.
The chunk pathname will not fit in the space specified.
Cleaning stray LOs in sbspace sbspacename.
Completed re-creating indexes.
Configuration has been grown to handle up to integer chunks.
Configuration has been grown to handle up to integer dbslices.
Configuration has been grown to handle up to integer dbspaces.
Continuing Long Transaction (for COMMIT): tx 0xn.
Could not disable priority aging: errno = number.
Could not fork a virtual processor: errno = number.
Create_vp: cannot allocate memory.
Messages: D-E-F
Dataskip is OFF for all dbspaces.
Dataskip is ON for all dbspaces.
Dataskip is ON for dbspaces: dbspacelist.
Dataskip will be turned {ON|OFF} for dbspacename.
DBSERVERALIASES exceeded the maximum limit of 32
DBSPACETEMP internal list not initialized, using default.
The DBspace/BLOBspace spacename is now mirrored.
The DBspace/BLOBspace spacename is no longer mirrored.
Dbspace dbspacename for Physical-log File not found.
devname: write failed, file system is full.
Dropping temporary tblspace 0xn, recovering nn pages.
Dynamically allocated new shared memory segment (size nnnn).
ERROR: NO "wait for" locks in Critical Section.
Error building sysmaster database. See outfile.
Error in dropping system defined type.
Error in renaming systdist.
Error removing sysdistrib row for tabid = tabid, colid = colid in database name. iserrno = number
Error writing pathname errno = number.
Error writing shmem to file filename (error). Unable to create output file filename errno=mm.Error writing filename errno=nn.
Fail to extend physical log space.
Fatal error initializing CWD string. Check permissions on current working directory. Group groupname must have at least execute permission on '.'.
The following tables have outstanding old version data pages due to an In-Place Alter Table. Perform UPDATE tablename SET column = column WHERE 1=1; to clear these pages from the following tables.
Fragments dbspacename1 dbspacename2 of table tablename set to non-resident.
Forced-resident shared memory not available.
Freed mm shared-memory segment(s) number bytes.
Messages: G-H-I
gcore pid; mv core.pid dir/core.pid.ABORT.
I/O function chunk mm, pagenum nn, pagecnt aa --> errno = bb.
I/O error, primary/mirror Chunk pathname -- Offline (sanity).
Informix database_server Initialized - Complete Disk Initialized.
Informix database_server Initialized - Shared Memory Initialized.
Informix database_server Stopped.
ERROR: Insufficient available disk in the root dbspace to increase the entire Configuration save area.
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.
Internal overflow of shmid's, increase system max shared memory segment size.
Messages: J-K-L-M
Listener-thread err = error_number: error_message.
Lock table overflow - user id mm session id nn.
Logical-log File not found.
Logical Log nn Complete.
Logical logging vberror for type:subtype in (failed_system).
Log Record: log = ll, pos = 0xn, type = type:subtype(snum), trans = xx
Log record (type:subtype) at log nn, 0xn was not undone.
Log record (type:subtype) failed, partnum pnum row rid iserrno num.
Log record (type:subtype) in log nn, offset 0xn was not rolled back.
Logical Recovery allocating nn worker threads thread_type.
Logical Recovery Started.
Maximum server connections number.
Memory allocation error.
Mirror Chunk chunkname added to space spacename. Perform manual recovery.
Mixed transaction result. (pid=nn user=userid).
mt_shm_free_pool: pool 0xn has blocks still used (id nn).
mt_shm_init: can’t create resident/virtual segment.
mt_shm_remove: WARNING: may not have removed all/correct segments.
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.
Not enough main memory.
Not enough logical-log files, Increase LOGFILES.
Not enough physical procs for affinity.
The number of configured CPU poll threads exceeds NUMCPUVPS.
onconfig parameter parameter modified from old_value to new_value.
oninit: Cannot have SINGLE_CPU_VP non-zero and number of CPU VPs greater than 1.
oninit: Cannot have SINGLE_CPU_VP non-zero and user-defined VP classes.
oninit: Cannot mix VPCLASS cpu and NUMCPUVPS, AFF_SPROC, AFF_NPROCS, or NOAGE parameters.
oninit: Cannot mix VPCLASS aio and NUMAIOVPS parameters.
oninit: Fatal error in initializing ASF with 'ASF_INIT_DATA' flags asfcode = '25507'.
oninit: invalid or missing name for Subsystem Staging Blobspace.
Cannot alter a table which has associated violations table.
oninit: Too many VPCLASS parameters specified.
oninit: VPCLASS classname bad affinity specification.
oninit: VPCLASS classname duplicate class name.
oninit: VPCLASS classname illegal option.
oninit: VPCLASS classname maximum number of VPs is out of the range 0-10000.
oninit: VPCLASS classname name is too long. Maximum length is maxlength.
oninit: VPCLASS classname number of VPs is greater than the maximum specified.
oninit: VPCLASS classname number of VPs is out of the range 0-10000.
onmode: VPCLASS classname name is too long. Maximum length is maxlength.
Optical Subsystem is running.
Optical Subsystem is not running.
Optical Subsystem STARTUP Error.
Online Mode.
onspaces: unable to reset dataskip.
Open transaction detected when changing log versions.
Out of message shared memory.
Out of resident shared memory.
Out of virtual shared memory.
PANIC: Attempting to bring system down.
Participant site database_server heuristically rolled back.
Physical recovery complete: number pages examined, number pages restored.
Physical recovery started at page (chunk:offset).
Portions of partition partnum of table tablename in database dbname were not logged. This partition cannot be rolled forward.
Possible mixed transaction result.
Prepared participant site server_name did not respond.
Prepared participant site server_name not responding.
Messages: Q-R-S
Quiescent Mode.
Read failed. Table name, Database name, iserrno = number
Recovery Mode.
Recreating index: 'dbsname:"owner".tabname-idxname'.
Rollforward of log record failed, iserrno = nn.
Root chunk is full and no additional pages could be allocated to chunk descriptor page.
scan_logundo: subsys ss, type tt, iserrno ee.
Session completed abnormally. Committing tx id 0xm, flags 0xn.
Session completed abnormally. Rolling back tx id 0xm, flags 0xn.
semctl: errno = nn.
semget: errno = nn.
shmat: some_string os_errno: os_err_text.
shmctl: errno = nn.
shmdt: errno = nn.
shmem sent to filename.
shmget: some_str os_errno: key shmkey: some_string.
Shutdown (onmode -k) or override (onmode -O).
Shutdown Mode.
Space spacename added.
Space spacename dropped.
Space spacename -- Recovery Begins(addr).
Space spacename -- Recovery Complete(addr).
Space spacename -- Recovery Failed(addr).
sysmaster database built successfully.
Successfully extend physical log space
Messages: T-U-V
This ddl operation is not allowed due to deferred constraints pending on this table and dependent tables.
This type of space does not accept log files.
TIMER VP: Could not redirect I/O in initialization, errno = nn.
Too Many Active Transactions.
Too many violations.
Transaction Not Found.
Transaction heuristically rolled back.
Transaction table overflow - user id nn, process id nn.
Unable to create output file filename errno = nn.
Unable to extend nn reserved pages for purpose in root chunk.
Unable to initiate communications with the Optical Subsystem.
Unable to start SQL engine.
Unable to open tblspace nn, iserrno = nn.
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.
Violations table is not started for the target table.
Violations table reversion test completed successfully.
Violations table reversion test failed.
Violations table reversion test start.
Violations tables still exist.
Virtual processor limit exceeded.
VPCLASS classname name is too long. Maximum length is maxlength.
VPCLASS classname duplicate class name.
VPCLASS classname Not enough physical procs for affinity.
Messages: W-X-Y-Z
WARNING: aio_wait: errno = nn.
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.
warning: Chunk time stamps are invalid.
Warning: name_old is a deprecated onconfig parameter. Use name_new instead. See the release notes and the Informix Administrator's Reference for more information.
Warning: name_old is a deprecated onconfig parameter. Use name_new instead.
Warning: Unable to allocate requested big buffer of size nn.
You are turning off smart large object logging.
Messages: Symbols
HH:MM:SS Informix database server Version R.VV.PPPPP Software Serial Number RDS#XYYYYYY.
argument: invalid argument.
function_name: cannot allocate memory.
Conversion/Reversion Messages
Messages: A-C
Cannot revert constraint with id id (in syschecks).
Cannot revert new fragment expression for index index, tabid id.
Cannot revert new table fragment expression for table with id id.
Cannot update page zero.
Checking database name for revertibility.
Conversion of pre 7.3 in-place alter started status.
Conversion of pre 9.2 database tblspaces status.
The conversion of the database name has failed.
Converting database name...
Converting in-place alters to new format.
Converting 'onpload' database...
Converting partition header from version 7.x.
Converting partition header page address.
Converting partition header pages status.
Converting partition keys to 9.2.
Converting partition name for databasename:tablename.
Messages: D-F
The database name has been converted successfully.
Database name is not revertible...
Database name is revertible...
Database name: Must drop trigger (id = id_number).
Database name SUCCESSFULLY reverted...
... dropping sysmaster database.
The dummy updates failed while converting database name. This may imply data corruption in the database. If so, restore the original database with the tape backup. For more information, see output_file.
The dummy updates succeeded while converting database name.
Error in slow altering a system table.
External conversion aborted due to incompatible sysmaster database.
Messages: I-P
Internal server error.
Must drop long identifiers in table name in database name
Must drop new database (name) before attempting reversion. Iserrno error_number
Must drop new user defined statistics in database name, iserrno number
ON-Bar conversion completed successfully.
ON-Bar conversion failed see /tmp/bar_conv.out.
ON-Bar conversion start:
ON-Bar reversion completed successfully.
ON-Bar reversion failed see /tmp/bar_rev.out.
ON-Bar reversion start:
ON-Bar reversion test completed successfully.
ON-Bar reversion test start:
'onpload' conversion completed successfully.
'onpload' conversion failed. For details, look in $INFORMIXDIR/etc/conpload.out.
...'onpload' reversion completed successfully.
...'onpload' reversion failed. For details, look in $INFORMIXDIR/etc/revpload.out.
'onpload' reversion test completed successfully.
'onpload' reversion test start:
The pload database contains load/unload jobs referring to long table names, column names, or database names. These jobs will not work as expected until they are redefined.
Messages: R-W
...reverting 'onpload' database.
Reverting partition header from version 9.2.
Reverting partition header page address.
Reverting partition header pages status.
Reverting partition keys to pre 9.2.
Reverting partition name for databasename:tablename.
... reverting reserved pages.
... reverting tables that underwent In-Place Alter.
R-tree error message conversion completed successfully.
R-tree error message conversion failed. (See /tmp/conrtree.out or %TMP%\conrtree.out)
R-tree error message conversion started.
Reversion canceled.
Reversion complete. Install IBM Informix database server version before restarting.
Reversion of database name FAILED
...reverting 'syscdr' database.
...starting reversion of database name.
There is a semi-detached index in this table, which cannot be reverted. Drop this index, and retry reversion.
Unable to read reserved page chunk:offset - reserved_page.
WARNING: Target server version must have a certified Storage Manager installed after conversion/reversion and before bringing up server.
Conversion and Reversion Messages for Enterprise Replication
CDR reversion test completed successfully.
CDR reversion test failed; for details look in $INFORMIXDIR/etc/revtestcdr.out.
Enterprise Replication is not ready for conversion. The Control and TRG send queues should be empty for conversion/reversion to proceed.
Enterprise Replication is not ready for conversion. The syscdr database should NOT contain old-style group definitions for conversion to succeed.
Enterprise Replication should be in a stopped state for conversion/reversion to proceed.
Reversion of ‘syscdr’ failed; for details look in $INFORMIXDIR/etc/revcdr.out.
Starting CDR reversion test...
Starting 'syscdr' conversion...
Starting ‘syscdr’ reversion...
'syscdr' conversion completed successfully.
'syscdr' conversion failed. For details, look in $INFORMIXDIR/etc/concdr.out.
Syscdr should NOT contain new replicate sets for reversion to succeed.
Syscdr should not contain replicates defined with the --floatieee option for reversion to succeed.
Dynamic Log Messages
Dynamically added log file logid to DBspace dbspace_number.
Log file logid added to DBspace dbspace_number.
Log file number logid has been dropped from DBspace dbspace_number.
Log file logid has been pre-dropped.
Pre-dropped log file number logid has been deleted from DBspace dbspace_number.
ALERT: Because the oldest logical log (logid) contains records from an open transaction (transaction_address), the server is attempting to dynamically add a log file. But there is no space available. Please add a DBspace or chunk. Then complete the transaction as soon as possible.
ALERT: The oldest logical log (logid) contains records from an open transaction (transaction_address). Logical logging will remain blocked until a log file is added. Add the log file with the onparams -a command, using the -i (insert) option, as in: onparams -a -d dbspace -s size -i. Then complete the transaction as soon as possible.
Log file logid has been pre-dropped. It will be deleted from the log list and its space can be reused once you take level-0 archives of all BLOBspaces, Smart BLOBspaces and non-temporary DBspaces.
Sbspace Metadata Messages
Allocated number pages to Metadata from chunk number.
Allocated number pages to Userdata from chunk number.
Freeing reserved space from chunk number to Metadata.
Freeing reserved space from chunk number to Userdata.
Truncate Table Messages
The table cannot be truncated if it has an open cursor or dirty readers.
The table cannot be truncated. It has at least one non-empty child table with referential constraints.
Limits in IBM Informix Dynamic Server
Limitations on UNIX Operating Systems
System-Level Parameter Limits (UNIX)
Table-Level Parameter Limits (UNIX)
Access capabilities (UNIX)
IBM Informix System Defaults (UNIX)
ON-Monitor Statistics (UNIX)
Limitations on Windows Operating Systems
System-Level Parameter Limits (Windows)
Table-Level Parameter Limits (Windows)
Access Capabilities (Windows)
IBM Informix System Defaults (Windows)
DB-Access User's Guide
What's new in DB-Access for IBM Informix, Version 11.70
Getting started with DB-Access
What is DB-Access?
Using DB-Access
Set up DB-Access
Pre-DB-Access installation
Environment variables
Create and work with the demonstration databases
Demonstration databases
Demonstration installation
Preparing a demonstration database
Command-line syntax
Privileges for the demonstration database
Permissions for the SQL command files
Start DB-Access
Start the DB-Access menu interface
Display the main menu
Display other menus or options
Menu suboptions
CONNECTION menu options
DATABASE menu options
QUERY-LANGUAGE menu options
TABLE menu options
Examples of command-line syntax
Execute a command file
View the information Schema
Check for ANSI compliance
Check the scale of DECIMAL(p) values
Activate the XLUF feature for nonprintable characters
DB-Access interactively in non-menu mode
Read from the keyboard or standard input device
Interactive input
Batch command input on UNIX platforms
Connect to a database environment in non-menu mode
Connect in interactive non-menu mode
Connect with a file or shell file in background mode
The full-screen menu interface
The DB-Access user interface
The keyboard with DB-Access
Menus
Choose a menu option
Exit a menu screen
The response screens
Read the screen header
Select or enter values on the screen
Exit a response screen
The HELP screen
An editor screen
Alternative approaches
Database-level tasks
Table-level tasks
The Query-language option
Overview of the SQL menu
A system editor
The Query-language option
Enter a new SQL statement
The editing keys
Editing restrictions
Run an SQL statement
Statements that the Run option supports
View successful results
What happens when errors occur
Modify an SQL statement
Redirect query results
Send output to a printer
Send output to a file
The New-file option
The Append-file option
Send output to a pipe
Choose an existing SQL statement
Save the current SQL statement
Display table information
Drop an SQL statement
Support for SPL Routines
The Database option
Select a database menu option
Select a database
List of available databases
Specify a database
Create a database
Specify a dbspace
Specify logging
Exit the CREATE DATABASE menu
Display database information
Retrieve information about dbspaces
Retrieve nondefault locale information
Retrieve information about routines
Select a different database
Delete a database
The DROP DATABASE screen
Confirm your decision to delete a database
Close a database
The Table option
The TABLE menu
Create or alter a table
The CREATE TABLE screen
The ALTER TABLE screen
The Schema Editor
Add columns to a table (Add option)
Column name
Column data type
Locale character data
Large object storage location
Data length or range
Column index
Column index fill factor
Null value permission
Build the table (Exit option)
Modifying columns (Modify option)
Deleting columns (Drop option)
Arrange storage and locking (Table_options)
Select dbspaces
Fragmenting a new table
Round-robin setup
Expression strategy setup
Alter fragmentation for an existing table
Attach a dbspace
Detach a dbspace
Fragment an existing table
Set the extent size
Determine the lock mode
Add or drop rowids
Define constraints
Define primary-key constraints
Define foreign-key constraints
Define check constraints
Define unique constraints
Data validation
Define default values
Data validation
Display table information
Display column information
DB-Access data types
Large objects
Extended data types in Informix
Opaque data types
Collection types
Row types
Display index information
Display table-level privileges
Display references privileges
Display column constraints and defaults
Display referential constraints
Sample primary and check constraint displays
Display triggers
Display fragmentation information
Drop a table
The Connection and Session options
Overview of Connection and Session options
Choose the Connection option
Connect to a database environment
Permissions needed
Implicit closures
Disconnect from a database environment
Transaction processing
Choose the session option
Appendixes
How to read online help for SQL statements
Demonstration SQL
SQL files for the Relational database model
The alt_cat.sql command file
The c_calls.sql command file
The c_cat.sql command file
The c_custom.sql command file
The c_index.sql command file
The c_items.sql command file
The c_manuf.sql command file
The c_orders.sql file
The c_proc.sql command file
The c_state command file
The c_stock.sql command file
The c_stores.sql command file
The c_table.sql command file
The c_trig.sql command file
The c_type.sql command file
The c_view1.sql command file
The c_view2.sql command file
The d_proc.sql command file
The d_trig.sql command file
The d_view.sql command file
The del_stock.sql command file
The ins_table.sql command file
The opt_disk.sql command file
The sel_agg.sql command file
The sel_all.sql command file
The sel_group.sql command file
The sel_join.sql command file
The sel_ojoin1.sql command file
The sel_ojoin2.sql command file
The sel_ojoin3.sql command file
The sel_ojoin4.sql command file
The sel_order.sql command file
The sel_sub.sql command file
The sel_union.sql command file
The upd_table.sql command file
SQL files for the Dimensional Database Model
The createdw.sql file
The loaddw.sql file
User-defined routines for the Object-relational database model
Performance Guide
What's new in performance for Informix, version 11.70
Performance basics
Developing a basic approach to performance measurement and tuning
Quick start for acceptable performance on a small database
Performance goals
Measurements of performance
Throughput
Ways to measure throughput
Standard throughput benchmarks
Response time
Response time and throughput
Response-time measurement
Operating-system timing commands
Operating-system tools for monitoring performance
Timing functions within your application
Cost per transaction
Resource utilization and performance
Resource utilization
CPU utilization
Memory utilization
Disk utilization
Factors that affect resource utilization
Maintenance of good performance
Performance monitoring and the tools you use
Evaluate the current configuration
Create a performance history
The importance of a performance history
Tools that create a performance history
Operating-system tools
Database server tools
Performance information that IBM Informix Server Administrator provides
Performance information that the onstat utility displays
Monitor performance with the OpenAdmin Tool (OAT) for Informix
Monitor database server resources
Monitor resources that impact CPU utilization
Monitor memory utilization
Monitor disk I/O utilization
Using onstat -g to monitor I/O utilization
Using ISA to monitor I/O utilization
Using the oncheck utility to monitor I/O utilization
Monitor transactions
Using the onlog utility to monitor transactions
Using the onstat utility to monitor transactions
Using ISA to monitor transactions
Monitor sessions and queries
Monitoring memory usage for each session
Using the SET EXPLAIN statement
Effect of configuration on CPU utilization
UNIX configuration parameters that affect CPU utilization
UNIX semaphore parameters
UNIX file-descriptor parameters
UNIX memory configuration parameters
Windows configuration parameters that affect CPU utilization
Configuration parameters and environment variables that affect CPU utilization
Specifying virtual processor class information
Setting the number of CPU VPs
Disabling process priority aging for CPU VPs
Specifying processor affinity
Distributing computation impact
Isolating AIO VPs from CPU VPs
Avoiding a certain CPU
Setting the number of AIO VPs
Setting the MULTIPROCESSOR configuration parameter when using multiple CPU VPs
Setting the SINGLE_CPU_VP configuration parameter when using one CPU VP
Optimizing access methods
Setting the value of OPTCOMPIND within a session
Limiting PDQ resources in queries
Limiting the performance impact of CPU-intensive queries
Limiting the number of PDQ scan threads that can run concurrently
Configuring poll threads
Specifying the connection protocol
Specifying virtual-processor classes for poll threads
Specifying the number of connections and poll threads
Improve connection performance and scalability
Enabling fast polling
Network buffer pools
Network buffers
Support for private network buffers
Network buffer size
Virtual processors and CPU utilization
Adding virtual processors
Automatic addition of CPU virtual processors
Monitoring virtual processors
Using some onstat-g commands to monitor virtual processors
Monitor virtual processors with the onstat-g glo command
Monitor virtual processors with the onstat-g rea command
Monitor virtual processors with the onstat-g ioq command
Using ISA to monitor virtual processors
Using SMI tables to monitor virtual processors
CPU virtual processor memory caches
Enabling private memory caches
Obtaining CPU VP memory block cache statistics
Connections and CPU utilization
Multiplexed connections and CPU utilization
MaxConnect for multiple connections UNIX
Effect of configuration on memory utilization
Shared memory
Resident portion of shared memory
Virtual portion of shared memory
Message portion of shared memory
Estimating the size of the resident portion of shared memory
Estimating the size of the virtual portion of shared memory
Estimating the size of the message portion of shared memory
Configuring UNIX shared memory
Freeing shared memory with onmode -F
Configuration parameters that affect memory utilization
Setting the size of the buffer pool, logical-log buffer, and physical-log buffer
The BUFFERPOOL configuration parameter and memory utilization
64-Bit addressing and buffers
Smart large objects and buffers
Monitoring buffers
The DS_TOTAL_MEMORY configuration parameter and memory utilization
Algorithm for determining DS_TOTAL_MEMORY
Deriving a minimum for decision-support memory
Deriving a working value for decision-support memory
When the DS_TOTAL_MEMORY configuration parameter is set
When the DS_TOTAL_MEMORY configuration parameter is not set
Checking the derived value for decision-support memory
The LOGBUFF configuration parameter and memory utilization
The LOW_MEMORY_RESERVE configuration parameter and memory utilization
The PHYSBUFF configuration parameter and memory utilization
The LOCKS configuration parameter and memory utilization
The RESIDENT configuration parameter and memory utilization
The SHMADD and EXTSHMADD configuration parameters and memory utilization
The SHMTOTAL configuration parameter and memory utilization
The SHMVIRTSIZE configuration parameter and memory utilization
The SHMVIRT_ALLOCSEG configuration parameter and memory utilization
The STACKSIZE configuration parameter and memory utilization
Configuration parameters that affect memory caches
Data-dictionary cache
Data-dictionary configuration
Monitoring the data-dictionary cache
Data-distribution cache
Data-distribution configuration
Monitoring the data-distribution cache
SQL statement cache
Prepared statements and the statement cache
SQL statement cache configuration
Monitoring and tuning the SQL statement cache
Number of SQL statement executions
Monitoring the number of hits on the SQL statement cache
Determining the number of nonshared entries in the SQL statement cache
Monitoring and tuning the size of the SQL statement cache
Changing the size of the SQL statement cache
Too many single-use queries in the SQL statement cache
Memory limit and size
Multiple SQL statement cache pools
Number of SQL statement cache pools
Size of SQL statement cache pools and the current cache
SQL statement cache information in onstat -g ssc output
UDR cache
Session memory
Data-replication buffers and memory utilization
Memory latches
Monitoring latches with command-line utilities
Monitoring latches with onstat -p
Monitoring latches with onstat -s
Monitoring latches with ISA
Monitoring latches with SMI tables
Encrypted values
Effect of configuration on I/O activity
Chunk and dbspace configuration
Associate disk partitions with chunks
Associate dbspaces with chunks
Placing system catalog tables with database tables
I/O for cooked files for dbspace chunks
Direct I/O (UNIX)
Direct I/O (Windows)
Concurrent I/O (AIX only)
Enabling the direct I/O or concurrent I/O option (UNIX)
Confirming the use of the direct or concurrent I/O option (UNIX)
Placement of critical data
Consider separate disks for critical data components
Consider mirroring for critical data components
Consider mirroring the root dbspace
Consider mirroring smart-large-object chunks
Mirroring and its effect on the logical log
Mirroring and its effect on the physical log
Configuration parameters that affect critical data
Configure dbspaces for temporary tables and sort files
Creating temporary dbspaces
Specify temporary tables in the DBSPACETEMP configuration parameter
Override the DBSPACETEMP configuration parameter for a session
Estimating temporary space for dbspaces and hash joins
PSORT_NPROCS environment variable
Configure sbspaces for temporary smart large objects
Creating temporary sbspaces
SBSPACETEMP configuration parameter
Placement of simple large objects
Advantage of blobspaces over dbspaces
Blobpage size considerations
Optimize blobspace blobpage size
Obtain blobspace storage statistics
Determine blobpage fullness with oncheck -pB output
Interpreting blobpage average fullness
Analyzing efficiency criteria with oncheck -pB output
Factors that affect I/O for smart large objects
Disk layout for sbspaces
Configuration parameters that affect sbspace I/O
onspaces options that affect sbspace I/O
Sbspace extents
Lightweight I/O for smart large objects
Advantages of lightweight I/O for smart large objects
Specifying lightweight I/O for smart large objects
Logging
How the Optical Subsystem affects performance
Environment variables and configuration parameters for the Optical Subsystem
STAGEBLOB, an Optical Subsystem configuration parameter
OPCACHEMAX, an Optical Subsystem configuration parameter
INFORMIXOPCACHE, an Optical Subsystem environment variable
Table I/O
Sequential scans
Light scans
Unavailable data
Configuration parameters that affect table I/O
How DATASKIP affects table I/O
Background I/O activities
Configuration parameters that affect checkpoints
RTO_SERVER_RESTART and its effect on checkpoints
Automatic checkpoints, LRU tuning, and AIO virtual processor tuning
CKPTINTVL and its effect on checkpoints
LOGSIZE and LOGFILES and their effect on checkpoints
PHYSFILE and its effect on checkpoints
How checkpoints affect the physical log
ONDBSPACEDOWN and its effect on checkpoints
Configuration parameters that affect logging
LOGBUFF and PHYSBUFF and their effect on logging
LOGFILES and its effect on logging
Calculating the space allocated to logical log files
LOGSIZE and its effect on logging
Estimating logical-log size when logging dbspaces
Estimating the logical-log size when logging simple large objects
Estimating the logical-log size when logging smart large objects
DYNAMIC_LOGS and its effect on logging
LTXHWM and LTXEHWM and their effect on logging
TEMPTAB_NOLOG and its effect on logging
Configuration parameters that affect page cleaning
CLEANERS and its effect on page cleaning
BUFFERPOOL its effect on page cleaning
RTO_SERVER_RESTART and its effect on page cleaning
Configuration parameters that affect backup and restore
ON-Bar configuration parameters
ontape configuration parameters (UNIX)
Configuration parameters that affect rollback and recovery
OFF_RECVRY_THREADS and ON_RECVRY_THREADS and their effect on fast recovery
PLOG_OVERFLOW_PATH and its effect on fast recovery
RTO_SERVER_RESTART and its effect on fast recovery
The LOW_MEMORY_RESERVE configuration parameter and memory utilization
Configuration parameters that affect data replication and auditing
Configuration parameters that affect data replication
Configuration parameters that affect auditing
LRU tuning
Table performance considerations
Placing tables on disk
Isolating high-use tables
Placing high-use tables on middle partitions of disks
Using multiple disks
Using multiple disks for a dbspace
Using multiple disks for logical logs
Spreading temporary tables and sort files across multiple disks
Backup and restore considerations
Factors affecting the performance of nonfragmented tables and table fragments
Estimating table size
Estimating data pages
Estimating tables with fixed-length rows
Estimating tables with variable-length rows
Selecting an intermediate value for the size of the table
Estimating pages that simple large objects occupy
Storing simple large objects in the tblspace or a separate blobspace
Estimating tblspace pages for simple large objects
Managing the size of first and next extents for the tblspace tblspace
Managing sbspaces
Estimating pages that smart large objects occupy
Estimating the size of the sbspace and metadata area
Sizing the metadata area manually for a new chunk
Example of calculating the metadata area for a new chunk
Improving metadata I/O for smart large objects
Monitoring sbspaces
Monitoring sbspaces with oncheck -cS
Monitoring sbspaces with oncheck -pe
Monitoring sbspaces with oncheck -pS
Monitoring sbspaces with onstat -g smb
Changing storage characteristics of smart large objects
Altering Ssmart-large-object columns
Managing extents
Choosing table extent sizes
Extent sizes for tables in a dbspace
Extent sizes for table fragments
Extent sizes for smart large objects in sbspaces
Monitoring active tblspaces
Monitoring the upper limit on extents and extent interleaving
Considering the upper limit on extents
Checking for extent interleaving
Eliminating interleaved extents
Reorganizing dbspaces and tables to eliminate extent interleaving
Creating or altering an index to cluster
Using ALTER TABLE to eliminate extent interleaving
Reclaiming unused space within an extent
Reclaiming space in an empty extent with ALTER INDEX
Reclaiming space in an empty extent by unloading and re-creating or reloading a table
Releasing space in an empty extent with ALTER FRAGMENT
Managing extent deallocation with the TRUNCATE keyword
Defragment partitions to merge extents
Storing multiple table fragments in a single dbspace
Displaying a list of table and index partitions
Changing tables to improve performance
loading and unloading tables
Advantages of logging tables
Advantages of nonlogging tables
Quickly loading a large standard table
Quickly loading a new nonlogging table
Dropping indexes for table-update efficiency
Attaching or detaching fragments
Altering a table definition
Slow alter
In-place alter
When the database server uses the in-place alter algorithm
Performance considerations for DML statements
Performance considerations for DDL statements
Alter operations that do not use the in-place alter algorithm
Altering a column that is part of an index
Fast alter
Denormalize the data model to improve performance
Shortening rows
Expelling long strings
Convert CHAR columns into VARCHAR columns to shorten rows (GLS)
Convert a long string to a TEXT data type column
Move strings to a companion table
Build a symbol table
Splitting wide tables
Redundant data
Adding redundant data
Reduce disk space in tables with variable length rows
Reduce disk space by compressing tables and fragments
Indexes and index performance considerations
Types of indexes
B-tree indexes
Structure of conventional index pages
Forest of trees indexes
R-tree indexes
Indexes that DataBlade modules provide
Estimating index pages
Index extent sizes
Formula for estimating the extent size of an attached index
Formula for estimating the extent size of a detached index
Estimating conventional index pages
Managing indexes
Space costs of indexes
Time costs of indexes
Unclaimed index space
Indexes on columns
Filtered columns in large tables
Order-by and group-by columns
Avoiding columns with duplicate keys
Clustering
Configuration parameters that affect the degree of clustering
Nonunique indexes
Improve query performance with a forest of trees index
Detecting root node contention
Creating a forest of trees index
Disabling and enabling a forest of trees index
Performing a range scan on a forest of trees index
Determining if you are using a forest of trees index
Finding the number of hashed columns and subtrees in a forest of trees index
Creating and dropping an index in an online environment
When you cannot create or drop indexes online
Creating attached indexes in an online environment
Limiting memory allocation while creating indexes online
Improving performance for index builds
Estimating memory needed for sorting
Estimating temporary space for index builds
Storing multiple index fragments in a single dbspace
Improving performance for index checks
Indexes on user-defined data types
Defining indexes for user-defined data types
B-tree secondary-access method
Uses for a B-tree index
Extending a generic B-tree index
Identifying the available access methods
User-defined secondary-access methods
R-tree indexes
Using a functional index
What is a functional index?
When is a functional index used?
Creating a functional index
Using an index that a DataBlade module provides
Choosing operator classes for indexes
Operator classes
Strategy and support functions of a secondary access method
Default operator classes
Built-in B-tree operator class
B-tree strategy functions
B-tree support function
Identifying the available operator classes
User-defined operator classes
Locking
Locks
Locking granularity
Row and key locks
Key-value locks
Page locks
Table locks
Database locks
Configuring the lock mode
Setting the lock mode to wait
Locks with the SELECT statement
Isolation level
Dirty Read isolation
Committed Read isolation
Ways to reduce the risk of Committed Read isolation level conflicts
Cursor Stability isolation
Repeatable Read isolation
Locking nonlogging tables
Update cursors
Locks placed with INSERT, UPDATE, and DELETE statements
The internal lock table
Monitoring locks
Configuring and managing lock usage
Monitoring lock waits and lock errors
Monitoring the number of free locks
Monitoring deadlocks
Monitoring isolation levels that sessions use
Locks for smart large objects
Byte-range locking
How the database server manages byte-range locks
Using byte-range locks
Monitoring byte-range locks
Setting number of locks for byte-range locking
Lock promotion
Dirty Read isolation level and smart large objects
Fragmentation guidelines
Planning a fragmentation strategy
Fragmentation goals
Improved query performance through fragmentation strategy
Reduced contention between queries and transactions
Increased data availability
Increased granularity for backup and restore
Examining your data and queries
Considering physical fragmentation factors
Distribution schemes
Choosing a distribution scheme
Designing an expression-based distribution scheme
Suggestions for improving fragmentation
Strategy for fragmenting indexes
Attached indexes
Detached indexes
Restrictions on indexes for fragmented tables
Strategy for fragmenting temporary tables
Distribution schemes that eliminate fragments
Fragmentation expressions for fragment elimination
Query expressions for fragment elimination
Range expressions in query
Equality expressions in query
Effectiveness of fragment elimination
Nonoverlapping fragments on a single column
Overlapping fragments on a single column
Nonoverlapping fragments, multiple columns
Improve the performance of operations that attach and detach fragments
Improving ALTER FRAGMENT ATTACH performance
Distribution schemes for reusing indexes
Fragmenting the index in the same way as the table
Fragmenting the index with the same distribution scheme as the table
Attaching unfragmented tables together
Ensuring no data movement when you attach a fragment
Indexes on attached tables
Example for situation when corresponding index does not exist
Example for situation when index on table is not usable
Improving ALTER FRAGMENT DETACH performance
Fragmenting the index in the same way as the table
Fragmenting the index using same distribution scheme as the table
Forcing out transactions when altering table fragments
Monitoring Fragment Use
Monitoring fragmentation with the onstat -g ppf command
Monitoring fragmentation with SET EXPLAIN output
Queries and the query optimizer
The query plan
The access plan
The join plan
Nested-loop join
Hash join
Join order
Example of query-plan execution
Example of a join with column filters
Example of a join with indexes
Query plans that include an index self-join path
Query plan evaluation
Report that shows the query plan chosen by the optimizer
The sqexplain.out file
Query statistics section provides performance debugging information
Sample query plan reports
Single-table query
Multitable query
Key-first scan
Query plans for subqueries
Query plans for collection-derived tables
Example showing how the database server completes the query
Derived tables folded into parent queries
XML query plans in IBM Data Studio
Factors that affect the query plan
Statistics held for the table and index
Filters in the query
Indexes for evaluating a filter
Effect of PDQ on the query plan
Effect of OPTCOMPIND on the query plan
Single-table query
Multitable query
Effect of available memory on the query plan
Time costs of a query
Memory-activity costs
Sort-time costs
Row-reading costs
Sequential access costs
Nonsequential access costs
Index lookup costs
Reading duplicate values from an index
Searching for NCHAR or NVARCHAR columns in an index
In-place ALTER TABLE costs
View costs
Small-table costs
Data-mismatch costs
Encrypted-value costs
GLS functionality costs
Network-access costs
Optimization when SQL is within an SPL routine
SQL optimization
Displaying the execution plan
Automatic reoptimization
Reoptimizing SPL routines
Optimization levels for SQL in SPL routines
Execution of an SPL routine
SPL routine executable format stored in UDR cache
Changing the UDR cache
Monitoring the UDR cache
Trigger execution
Performance implications for triggers
SELECT triggers on tables in a table hierarchy
SELECT triggers and row buffering
Optimizer directives
What optimizer directives are
Optimizer directives that are embedded in queries
External optimizer directives
Reasons to use optimizer directives
Preparation for using directives
Guidelines for using directives
Types of directives that are included in SQL statements
Access-method directives
Join-order directives
Effect of join order on join plan
Join order when you use views
Join-plan directives
Optimization-goal directives
Example of directives that can alter a query plan
EXPLAIN directives
Configuration parameters and environment variables for optimizer directives
Optimizer directives and SPL routines
Forcing reoptimization to avoid an index and previously prepared statement problem
External optimizer directives
Creating and saving external directives
Enabling external directives
Deleting external directives
Parallel database query (PDQ)
What PDQ is
Structure of a PDQ query
Database server operations that use PDQ
Parallel delete operations
Parallel insert operations
Explicit inserts with SELECT...INTO TEMP statements
Implicit inserts with INSERT INTO...SELECT statements
Parallel index builds
Parallel user-defined routines
Hold cursors that use PDQ
SQL operations that do not use PDQ
Update statistics operations affected by PDQ
SPL routines and triggers and PDQ
Correlated and uncorrelated subqueries
OUTER index joins and PDQ
Remote tables used with PDQ
The Memory Grant Manager
The allocation of resources for parallel database queries
Limiting the priority of decision-support queries
Limiting the value of the PDQ priority
Maximizing OLTP throughput for queries
Conserving resources when using PDQ
Allowing maximum use of parallel processing
Determining the level of parallel processing
Limits on parallel operations associated with PDQ priority
Using SPL routines with PDQ queries
Adjusting the amount of memory for DSS and PDQ queries
Limiting the number of concurrent scans
Limiting the maximum number of PDQ queries
Managing PDQ queries
Analyzing query plans with SET EXPLAIN output
Influencing the choice of a query plan
Setting the PDQ priority dynamically
User control of PDQ resources
DBA control of resources for PDQ and DSS queries
Controlling resources allocated to PDQ
DBA control of resources allocated to decision-support queries
Monitoring resources used for PDQ and DSS queries
Using the onstat Utility
Monitoring MGM resources with the onstat -g mgm command
Explanation of the sample onstat -g mgm output
Monitoring PDQ threads with onstat utility commands
Monitoring resources allocated for a session running a DSS query
Identifying parallel scans in SET EXPLAIN output
Improving individual query performance
Test queries using a dedicated test system
Display the query plan
Improve filter selectivity
Filters with user-defined routines
Avoid some filters
Avoid difficult regular expressions
Avoid noninitial substrings
Use join filters and post-join filters
Automatic statistics updating
How AUS works
AUS expiration policies
Changing AUS expiration policies
Viewing AUS statements
Rescheduling AUS
Disabling AUS
Update statistics when they are not generated automatically
Update the statistics for the number of rows
Drop data distributions if necessary when upgrading
Drop distributions in LOW mode without gathering statistics
Creating data distributions
Updating statistics for join columns
Updating statistics for columns with user-defined data types
Update statistics in parallel on very large databases
Adjust the amount of memory and disk space for UPDATE STATISTICS
Data sampling during update statistics operations
Display data distributions
Improve performance by adding or removing indexes
Replace autoindexes with permanent indexes
Use composite indexes
Indexes for data warehouse applications
Configure B-tree scanner information to improve transaction processing
Alice scan mode values
Leaf and range scan mode settings
B-tree scanner index compression levels and transaction processing performance
Setting the level for B-tree scanner compression of indexes
Determine the amount of free space in an index page
Optimizer estimates of distributed queries
Buffer data transfers for a distributed query
The query plan of a distributed query
Improve sequential scans
Enable view folding to improve query performance
Reduce the join and sort operations
Avoid or simplify sort operations
Use parallel sorts
Use temporary tables to reduce sorting scope
More memory for queries with hash joins, aggregates, and other memory-intensive elements
Optimize user-response time for queries
Optimization level
Optimization goals
Specifying the query performance goal
Preferred query plans for user-response-time optimization
Nested-loop joins versus hash joins
Table scans versus index scans
Ordering with fragmented indexes
Optimize queries for user-defined data types
Parallel UDRs
Selectivity and cost functions
User-defined statistics for UDTs
Negator functions
SQL statement cache
When to use the SQL statement cache
Using the SQL statement cache
Enabling the SQL statement cache
Placing statements in the cache
Monitoring memory usage for each session
Display all user threads and session memory usage
Display detailed session information and memory usage
Display information about session SQL statements
Display information about the memory that SQL statements use in a session
Monitoring usage of the SQL statement cache
Monitor sessions and threads
Monitor sessions and threads with onstat commands
Monitor threads with onstat –u output
Monitor threads with onstat -g ath output
Monitor threads with onstat -g act output
Monitor threads with onstat -g cpu output
Monitor session resources with onstat -g ses output
Monitor session memory with onstat -g mem and onstat -g stm output
Monitor sessions and threads with ON-Monitor (UNIX)
Monitor sessions and threads with ISA
Monitor sessions and threads with SMI tables
Monitor transactions
Display information about transactions
Display information about transaction locks
Display statistics on user sessions
Display Statistics on Sessions Executing SQL Statements
The onperf utility on UNIX
Overview of the onperf utility
Basic onperf utility functions
Display metric values
Save metric values to a file
Review metric measurements
onperf utility tools
Requirements for running the onperf utility
Starting the onperf utility and exiting from it
The onperf user interface
Graph tool
Graph-tool title bar
Graph-tool graph menu
Graph-tool metrics menu
Graph-tool view menu
The graph-tool Configure menu and the Configuration dialog box
Graph-tool Tools menu
Changing the scale of metrics
Displaying recent-history values
Query-tree tool
Status tool
Activity tools
Why you might want to use onperf
Routine monitoring with onperf
Diagnosing sudden performance loss
Diagnosing performance degradation
onperf utility metrics
Database server metrics
Disk-chunk metrics
Disk-spindle metrics
Physical-processor metrics
Virtual-processor metrics
Session metrics
Tblspace metrics
Fragment metrics
Appendix
Case studies and examples
Case study of a situation in which disks are overloaded
Backup and restore
Backup and Restore Guide
What's New in the Backup and Restore Guide, Version 11.70
Overview of backup and restore
Backup and restore concepts
Recovery system
Backup systems
Backup levels
Logical-log backup
Manual and continuous logical-log backups
Log salvage
Save logical-log backups
Restore systems
Warm, cold, and mixed restores
Physical and logical restores
Comparing the ON-Bar and ontape utilities
Plan for backup and restore
Plan a recovery strategy
Types of data loss
Determine failure severity
Data use determines your backup schedule
Schedule backups
Security requirements for label-based access control
Plan a backup system for a production database server
Evaluate hardware and memory resources
Evaluate backup and restore time
Evaluate logging and transaction activity
Compress row data
Transform data with external programs
ON-Bar backup and restore system
Overview of the ON-Bar backup and restore system
Where to find information about tasks for ON-Bar, ISM, and TSM
ON-Bar components for Informix
ON-Bar utilities and its script or batch file
IBM Informix Storage Manager (ISM)
IBM Tivoli Storage Manager
Third-party storage managers
XBSA interface
ON-Bar tables
ON-Bar boot files
ON-Bar activity log
Specify the location of the activity log
Specify the level of ON-Bar debugging
Specify the location of the debug log
Monitor the progress of a backup or restore
Monitor backup and restore performance
Transform data with external filter programs
Transforming with filters during backup and restore
Configure the storage manager and ON-Bar
Configure a storage manager
Configuring a third-party storage manager
Configure ISM
Configure TSM
Edit the TSM client options files
Edit the TSM client user options file
Edit the TSM client system options file
Assign a TSM management class for a backup
Register with the TSM server
Initializing the IBM Informix Interface for TSM password
Update the sm_versions file
Updating the storage-manager definition in sm_versions
Validate your storage manager
Configure ON-Bar
The bargroup group (UNIX)
Your customized onbar script is saved on new installations
Set ISM environment variables and ONCONFIG parameters
Set the IBM Informix Interface for TSM environment variables
Specify the location of the XBSA Library
Specify ON-Bar configuration parameters
Verify the configuration of ON-Bar and your storage manager
Choose storage managers and storage devices
Features that ISM supports
Features that ISM does not support
Features that TSM supports
Storage device requirements
Files that ON-Bar, ISM, and TSM use
Back up with ON-Bar
Summary of ON-Bar tasks
Prepare for a backup
Data and critical files that ON-Bar backs up
Administrative files to back up
Install and configure a storage manager
Whole-system backup
Parallel backup
Standard backup
Incremental backup
Physical backup
Choose a backup level
Collect information about your system before a backup
Ensure that you have enough logical-log space
Verify that you have enough temporary disk space
Copy database server configuration information
Verify database integrity
Back up storage spaces and logical logs
Backup syntax
Back up after changing the physical schema
When to back up the root dbspace and modified storage spaces
When to back up the modified storage spaces only
Use ISM during a backup
Back up the ISM catalog
Use ISA to back up and verify
ON-Bar backup examples
Perform a level-0 backup of all storage spaces
Perform a level-0 backup of specified storage spaces
Perform an incremental backup
Back up a list of storage spaces specified in a file
Back up specific tables
Retry skipped storage spaces during a backup
Perform a whole-system backup
Back up smart large objects in sbspaces
Use fake backups in a data warehouse
Backing up blobspaces in a logging database
Back up logical logs when blobspaces are offline
Back up table types
View recent ON-Bar activity
Viewing a list of registered backups
Back up logical logs
Back up logical logs with ON-Bar commands
Perform a continuous backup of logical logs
Perform a manual backup of logical logs
Use ALARMPROGRAM to set the log backup mode
View backed-up logical logs
Monitor logical-log backups
Salvage logical-log files
ON-Bar backup processes
Backup sequence on Informix
Restore data with ON-Bar
ON-Bar restore types
Warm restore
Cold restore
Mixed restore
Parallel restore
Point-in-time restore
Imported restore
Rename chunks restore
Restartable restore
Continuous log restore
Pre-recovery checklist
Monitor restores
Ensure that storage devices are available
Restore save sets with ISM
Perform a complete restore
Perform a physical-only or logical-only restore
Use ISA to restore data
Examples of ON-Bar restore commands
Perform a restore
Restore specific storage spaces
Perform a logical restore
Perform a physical restore followed by a logical restore
Performing a warm restore in stages
Performing a cold restore in stages
Salvage logical logs
Performing a cold restore
Perform a whole-system restore
Restoring the data from a whole-system backup when LTAPEDEV is null
The -O option in a whole-system restore
Restore data by using a mixed restore
Strategies for using mixed restore
Restore data to a point-in-time
Perform a cold point-in-time restore
Perform a point-in-time cold restore in stages
Perform a point-in-time mixed restore
Perform a point-in-time restore with multiple timelines
Perform a point-in-time warm restore
Restore from an older backup
Restoring from an older backup by using a physical point-in-time restore
Restoring from an older backup by expiring the bad backup
Perform a point-in-log restore
Restore online storage spaces
Recreating chunk files during a restore
Restoring when using cooked chunks
Restoring when using raw chunks
Restoring a dropped storage space
Restoring a dropped storage space by using separate physical and logical restores
Restoring a dropped storage space when the chunk files were also deleted
Restoring data when reinitializing the database server
Reinitializing the database server after a failure when you do not need the old data:
Reinitializing the database server and restore the old data
Configuring continuous log restore by using ON-Bar
Rename chunks during a restore
Key considerations
New-chunk requirements
Syntax
Examples of renaming chunks during a restore
Rename chunks with command-line options
Rename chunks with a file
Rename chunks while specifying other options
Renaming a chunk to a nonexistent device
Transfer data by performing an imported restore
Preparing for an imported restore
Importing a restore
Backing up data and migrating storage-manager objects
Performing the imported restore
Example of performing an imported restore with ON-Bar and the Informix Storage Manager
Initializing High-Availability Data Replication with ON-Bar
Performing the imported restore with HDR
Initializing High-Availability Data Replication for an imported restore
Restore nonlogging databases and tables
Restore table types
Restore tables with large objects
Use restartable restore to recover data
Restartable restore example
Restart a restore
Interaction between restartable restore and BAR_RETRY value
Restart a logical restore
Resolve a failed restore
ON-Bar restore processes
Warm-restore sequence
Cold-restore sequence
External backup and restore
External backup and restore overview
Block before backing up
Rules for an external backup
Prepare for an external backup
Block and unblock database server
Track an external backup
Performing an external backup when chunks are not mirrored
RS secondary server external backup
Performing an external backup of an RS secondary server
Data restored in an external restore
Rename chunks
External restore commands
Rules for an external restore
Performing an external restore
Performing a cold external restore
Mixed external restore restriction
Performing a warm external restore
Examples of external restore commands
Initializing HDR with an external backup and restore
Customize and maintain ON-Bar
Customize ON-Bar and storage-manager commands
Print the backup boot files
Migrate backed-up logical logs to tape
Expire and synchronize the backup catalogs
Choose an expiration policy
The onsmsync utility
Remove expired backups
Expiring old backups on ISM
Regenerate the emergency boot file
Regenerate the sysutils database
Delete a bad backup
Expire backups based on the retention date
Expire a generation of backups
Expire backups based on the retention interval
Expire backups with multiple point-in-time restores
Expire all backups
Monitor the performance of ON-Bar and the storage managers
Set ON-Bar performance statistics levels
View ON-Bar backup and restore performance statistics
ON-Bar catalog tables
The bar_action table
The bar_instance table
The bar_ixbar table
The bar_object table
The bar_server table
The bar_syncdeltab table
ON-Bar catalog map
ON-Bar messages and return codes
About ON-Bar messages
Message format
Message numbers
ON-Bar usage messages
-43000
-43001
-43006
-43007
-43357
ON-Bar return codes
ontape backup and restore system
Configure ontape
Set configuration parameters for the ontape utility
Data transformation filter parameters for ontape
Tape and tape device parameters for ontape
Set the tape-device parameters
Specify separate devices for storage-space and logical-log backups
Specify tape devices as symbolic links
Specify a file system directory
Specify a remote device
Specify /dev/null for a tape device
Set TAPEDEV to stdio
Rewind tape devices before opening and on closing
Specify the tape-block-size
Specify the tape-size
Tape size for remote devices
Check and change ontape configuration parameters
Change TAPEDEV to /dev/null
Change LTAPEDEV to /dev/null
Verify that the tape device can read the specified block size
Change ontape parameters
Back up with ontape
Summary of ontape tasks
Start ontape
Exit codes for ontape
Change database logging status
Create a backup
Backup levels
Back up after changing the physical schema
Prepare for a backup
Avoid temp tables during heavy activity
Make sure enough logical-log space exists
Keep a copy of your configuration file
Verify consistency before a level-0 backup
Online and quiescent backups
Back up to tape
Label tapes created with ontape
Back up to standard output
Back up to a directory
Set the file directory path
Rename existing files
Override the default name of the archive files
Perform a backup
Backup examples
Back up raw tables
Back up to Amazon Simple Storage Service
The ifxbkpcloud.jar utility
Cloud storage file naming conventions
When the logical-log files fill during a backup
When a backup terminates prematurely
Monitor backup history by using oncheck
Back up logical-log files with ontape
Before you back up the logical-log files
Use blobspace TEXT and BYTE data types and logical-log files
Use /dev/null when you do not need to recover
When to back up logical-log files
Start an automatic logical-log backup
Starting a continuous logical-log file backup
End a continuous logical-log backup
Devices that logical-log backups must use
Restore with ontape
Types of physical restore
Full-system restore
Restores of dbspaces, blobspaces, and sbspaces
Cold, warm, or mixed restores
Cold restores
Warm restores
Mixed restores
Perform a restore
Restore the whole system
Gather the appropriate tapes
Decide on a complete cold or a mixed restore
Verify your database server configuration
Set shared-memory parameters to maximum assigned value
Set mirroring configuration to level-0 backup state
Verify that the raw devices or files are available
Perform a cold restore
Salvage logical-log files
Mount tapes during the restore
Restore logical log files
Bring the database server online when the restore is over
Restore selected storage spaces
Gather the appropriate tapes
Ensure that needed device are available
Back up logical-log files
Perform a warm restore
Restore raw tables
Configuring continuous log restore with ontape
Rename chunks during a restore
Validation sequence for renaming chunks
New chunk requirements
Rename chunks with command-line options
Rename chunks with a file
Rename chunks while specifying other options
Rename a chunk to a nonexistent device
Renaming a chunk to a nonexistent device
Restore from standard input
Restore data to a remote server
Simultaneous backup and restore by using standard I/O
Perform an external backup and restore
Recover data by using an external backup and restore
Data that is backed up in an external backup
Rules for an external backup
Performing an external backup
Prepare for an external backup
Block and unblock Informix
Track an external backup
Data that is restored in an external restore
Use external restore commands
Rules for an external restore
Rename chunks
Performing a cold external restore
Examples of external restore commands
Initializing HDR with an external backup and restore
Verify and restore backups with archecker
Verify that backups are complete
Verify archecker configuration file information
Verify backups by using archecker in integrated mode
Syntax for archecker by using integrated mode
Estimate the amount of temporary space for archecker
Verify backups
Interpret verification messages
Sample verification message in the ON-Bar activity log
Sample verification message in the archecker message log
Verification failures
Fixing backup verification problems
Diagnosing why a backup failed verification
Verifying an expired backup
Restoring when a backup is missing data
Verification process with archecker
Verifying backups by using archecker in stand-alone mode
Syntax for archecker utility commands
Perform table-level restores by using the archecker utility
Overview of the archecker utility
The archecker configuration file
Schema command file
Table-level restore and locales
Data restore with archecker
Physical restore
Logical restore
The stager
The applier
Syntax for archecker table-level restores
Manually control a logical restore
Performing a restore with multiple storage managers
Perform a parallel restore
When to delete restore files
The archecker schema reference
The CREATE TABLE statement
The CREATE EXTERNAL TABLE statement
The DATABASE statement
The INSERT statement
The RESTORE statement
The SET statement
Schema command file examples
Simple schema command file
Restore a table from a previous backup
Restore to a different table
Extract a subset of columns
Use data filtering
Restore to an external table
Restore multiple tables
Perform a distributed restore
Backup and restore configuration parameter reference
Backup and restore configuration parameters
ON-Bar and ontape configuration parameters in the ONCONFIG file
BACKUP_FILTER configuration parameter
BAR_ACT_LOG configuration parameter
BAR_BSALIB_PATH configuration parameter
BAR_CKPTSEC_TIMEOUT configuration parameter
BAR_DEBUG configuration parameter
BAR_DEBUG_LOG configuration parameter
BAR_HISTORY configuration parameter
BAR_IXBAR_PATH configuration parameter
BAR_MAX_BACKUP configuration parameter
BAR_NB_XPORT_COUNT configuration parameter
BAR_PERFORMANCE configuration parameter
BAR_PROGRESS_FREQ configuration parameter
BAR_RETRY configuration parameter
BAR_SIZE_FACTOR configuration parameter
BAR_XFER_BUF_SIZE configuration parameter
ISM_DATA_POOL configuration parameter
ISM_LOG_POOL configuration parameter
LTAPEBLK configuration parameter
LTAPEDEV configuration parameter
LTAPESIZE configuration parameter
RESTARTABLE_RESTORE configuration parameter
RESTORE_FILTER configuration parameter
TAPEBLK configuration parameter
TAPEDEV configuration parameter
TAPESIZE configuration parameter
The archecker utility configuration parameters and environment variable
AC_CONFIG file environment variable
AC_DEBUG configuration parameter
AC_IXBAR configuration parameter
AC_LTAPEBLOCK configuration parameter
AC_LTAPEDEV parameter
AC_MSGPATH configuration parameter
AC_SCHEMA configuration parameter
AC_STORAGE configuration parameter
AC_TAPEBLOCK configuration parameter
AC_TAPEDEV configuration parameter
AC_TIMEOUT configuration parameter
AC_VERBOSE configuration parameter
Event alarm configuration parameters
Appendixes
Troubleshooting some backup and restore errors
Corrupt page during an archive
Log backup already running
No server connection during a restore
Drop a database before a restore
No dbspaces or blobspaces during a backup or restore
Restore blobspace BLOBs
Changing the system time on the backup system
Migrate data, servers, and tools
Use data-migration tools for recovery
Preparing for a database server or storage-manager upgrade
Upgrade your storage manager
Change storage-manager vendors
Migrating from ontape to ON-Bar
Migrate private ON-Bar scripts
GLS support
Use GLS with the ON-Bar utility
Identifiers that support non-ASCII characters
Identifiers that require 7-bit ASCII characters
Locale of ON-Bar messages
Use the GL_DATETIME environment variable with ON-Bar
Point-in-time restore example
Use GLS with the ontape utility
Encrypt archived data with IBM Database Encryption Expert
Replication
Enterprise Replication
What's New in Enterprise Replication for Informix, Version 11.70
Introducing Enterprise Replication
About IBM Informix Enterprise Replication
IBM Informix Enterprise Replication
Asynchronous Data Replication
Log-Based Data Capture
High Performance
High Availability
Consistent Information Delivery
Repair and Initial Data Synchronization
Flexible Architecture
Centralized Administration
Ease of Implementation
Network Encryption
How Enterprise Replication Replicates Data
Data Capture
Row Images
Evaluating Rows for Updates
Send Data Queues and Receive Data Queues
Data Evaluation Examples
Data Transport
Applying Replicated Data
Overview of Enterprise Replication Administration
Setting Up Enterprise Replication
Enterprise Replication Server Administrator
Enterprise Replication Terminology
Enterprise Replication Server
Replicate
Master Replicate
Shadow Replicate
Participant
Replicate Set
Template
Global Catalog
Enterprise Replication Considerations
Operational Considerations
Backup and Restore Considerations
Data Compression Considerations
Database and Table Design Considerations
Unbuffered Logging
Table Types
Label-based access control
Out-of-Row Data
Shadow Columns
Primary Key Constraint
Serial Data Types and Primary Keys
Cascading Deletes
Triggers
Using Constraints
Sequence Objects
The NLSCASE database property
Transaction Processing Considerations
Replication Volume
Distributed Transactions
Large Transactions
Supported SQL Statements
Forbidden SQL Statements
Limited SQL Statements
Permitted SQL Statements
Using GLS with Enterprise Replication
Using Enterprise Replication in Mixed-Version Environments
Enterprise Replication Data Types
Replicating on Heterogeneous Hardware
Replicating Simple and Smart Large Objects
Replicating Simple Large Objects from Tblspaces
Replicating Large Objects from Blobspaces or Sbspaces
Distributing BYTE and TEXT Data
Considerations for Replicating Smart Large Objects
Replicating Opaque User-Defined Data Types
Installing and Registering UDTs
UDT Support Functions
Considerations for Replicating Opaque Data Types
Replicating Table Hierarchies
Verifying the Data Type of Replicated Columns
Setting Up and Managing Enterprise Replication
Selecting the Enterprise Replication System and Network Topology
Primary-Target Replication System
Primary-Target Data Dissemination
Data Consolidation
Workload Partitioning
Workflow Replication
Primary-Target Considerations
Update-Anywhere Replication System
Conflict Resolution
Conflict Resolution Rule
Ignore Conflict-Resolution Rule
Time Stamp Conflict Resolution Rule
SPL Conflict Resolution Rule
SPL Conflict Resolution for Large Objects
Delete Wins Conflict Resolution Rule
Always-Apply Conflict-Resolution Rule
Conflict Resolution Scope
Choosing a Replication Network Topology
Fully Connected Topology
Hierarchical Routing Topology Terminology
Hierarchical Tree
Forest of Trees
Preparing the Replication Environment
Preparing the Network Environment
Configuring hosts information for replication servers
Configuring port and service names for replication servers
Database Server Groups
Configuring secure connections for replication servers
Configuring network encryption for replication servers
Testing the replication network
Testing the password file
Preparing the Disk
Logical Log Configuration Disk Space
Logical Log Configuration Guidelines
Disk Space for Delete Tables
Shadow Column Disk Space
Setting Up Send and Receive Queue Spool Areas
Transaction Record dbspace
Row Data sbspaces
Creating sbspaces for Spooled Row Data
Logging Mode for sbspaces
Dropping a Spooled Row Data sbspace
Setting Up the Grouper Paging File
Creating ATS and RIS Directories
Preparing the Database Server Environment
Setting Database Server Environment Variables
Setting Configuration Parameters
Time Synchronization
Preparing Data for Replication
Preparing Consistent Data
Blocking Replication
Using DB-Access to Begin Work Without Replication
Using ESQL/C to Begin Work Without Replication
Preparing to Replicate User-Defined Types
Preparing to Replicate User-Defined Routines
Preparing Tables for Conflict Resolution
Preparing Tables for a Consistency Check Index
Preparing tables without primary keys
Preparing Logging Databases
Preparing for Role Separation (UNIX)
Load and unload data
High-Performance Loader
onunload and onload Utilities
dbexport and dbimport Utilities
UNLOAD and LOAD Statements
Data Preparation Example
Using the cdr start replicate Command
Using LOAD, UNLOAD, and BEGIN WORK WITHOUT REPLICATION
Using High-Availability Clusters with Enterprise Replication
High-Availability Replication System
Using High-Availability Clusters in a Hierarchical Tree Topology
Using High-Availability Clusters in a Forest of Trees Topology
Setting Up Database Server Groups for High-Availability Cluster Servers
Managing Enterprise Replication with High-Availability Clusters
Failure of the Primary Server in a High-Availability Cluster
Connection Manager with Enterprise Replication and clusters
Performance Considerations
Defining Replication Servers, Replicates, Participants, and Replicate Sets
Starting Database Servers
Defining Replication Servers
Creating a new domain by cloning a server
Example of creating a new replication domain by cloning
Adding a server to the domain by cloning a server
Customizing the Replication Server Definition
Defining Replicates
Defining Participants
Defining Replicates on Table Hierarchies
Defining Master Replicates
Master Replicate Verification
Creating Strict Master Replicates
Creating Empty Master Replicates
Defining Shadow Replicates
Specifying Conflict Resolution Rules and Scope
Specifying Replication Frequency
Setting Up Failed Transaction Logging
Replicating Only Changed Columns
Using the IEEE Floating Point or Canonical Format
Enabling Triggers
Enabling code set conversion between replicates
Configuring code set conversion between replicates
Code set conversion errors
Defining Replicate Sets
Exclusive Replicate Sets
Non-Exclusive Replicate Sets
Customizing the Replicate Set Definition
Initially Synchronizing Data Among Database Servers
Using Templates to Set Up Replication
Defining Templates
Realizing Templates
Verifying Participants without Applying the Template
Synchronizing Data Among Database Servers
Improve Performance During Synchronization
Creating Tables Automatically
Other Options
Changing Templates
Template Example
Grid setup and management
Example of setting up a replication system with a grid
Creating a grid
Maintaining the grid
Adding a server to a grid by cloning
Adding an existing replicate to a grid replicate set
Viewing grid information
Administering servers in the grid with the SQL administration API
Propagating database object changes
Creating replicated tables through a grid
Altering replicated tables through a grid
Propagating updates to data
Rerunning failed grid routines
Enabling replication within a grid transaction
Routing client connections in a grid
Managing Replication Servers and Replicates
Managing Replication Servers
Modifying Replication Server Attributes
Dynamically Modifying Configuration Parameters for a Replication Server
Viewing Replication Server Attributes
Connecting to Another Replication Server
Temporarily stopping replication on a server
Restarting Replication on a Server
Suspending Replication for a Server
Resuming a Suspended Replication Server
Deleting a Replication Server
Managing Replicates
Modifying Replicates
Adding or Deleting Participants
Changing Replicate Attributes
Viewing Replicate Properties
Starting a Replicate
Stopping a Replicate
Suspending a Replicate
Resuming a Suspended Replicate
Deleting a Replicate
Managing Replicate Sets
Routing client connections for a replicate set
Modifying Replicate Sets
Adding or Deleting Replicates From a Replicate Set
Changing Replication Frequency For the Replicate Set
Viewing Replicate Sets
Starting a Replicate Set
Stopping a Replicate Set
Suspending a Replicate Set
Resuming a Replicate Set
Deleting a Replicate Set
Managing Templates
Viewing Template Definitions
Deleting Templates
Managing Replication Server Network Connections
Viewing Network Connection Status
Dropping the Network Connection
Reestablishing the Network Connection
Resynchronizing Data among Replication Servers
Performing Direct Synchronization
Synchronizing Significantly Inconsistent Tables
Checking Consistency and Repairing Inconsistent Rows
Interpreting the Consistency Report
Increase the speed of consistency checking
Indexing the ifx_replcheck Column
Repair inconsistencies by time stamp
Repairing inconsistencies while enabling a replication server
Repairing Failed Transactions with ATS and RIS Files
Resynchronizing Data Manually
Alter, Rename, or Truncate Operations during Replication
Adding a Replicated Column
Dropping a Replicated Column
Modifying the Data Type or Size of a Replicated Column
Changing the Name of a Replicated Column, Table, or Database
Considerations for Changing or Recreating Primary Key Columns
Attaching a New Fragment to a Replicated Table
Remastering a Replicate
Automatic Remastering
Manual Remastering
Recapture replicated transactions
Monitoring and Troubleshooting Enterprise Replication
Monitor Enterprise Replication
Solve Replication Processing Problems
Failed Transaction (ATS and RIS) Files
Enabling ATS and RIS File Generation
ATS and RIS File Names
ATS and RIS File Formats
XML File Format
XML Tags
ATS and RIS Text File Contents
Disabling ATS and RIS File Generation
Suppressing Data Sync Errors and Warnings
Preventing Memory Queues from Overflowing
Handle potential log wrapping
Monitoring Disk Usage for Send and Receive Queue Spool
Increasing the Sizes or Numbers of Storage Spaces
Recovering when Storage Spaces Fill
Common Configuration Problems
Troubleshooting Tips for Alter Operations
Enterprise Replication Event Alarms
Enabling or Disabling Enterprise Replication Event Alarms
Appendixes
The cdr Command-Line Utility Reference
Interpreting the cdr Command-Line Utility Syntax
Command Abbreviations
Option Abbreviations
Option Order
Long Command-Line Examples
Long Identifiers
Connect Option
Participant and participant modifier
Return Codes for the cdr Utility
Frequency Options
cdr add onconfig
cdr alter
cdr change grid
cdr change onconfig
cdr change replicate
cdr change replicateset
cdr check replicate
cdr check replicateset
cdr check sec2er
cdr cleanstart
cdr connect server
cdr define grid
cdr define qod
cdr define replicate
cdr define replicateset
cdr define server
cdr define template
cdr delete grid
cdr delete replicate
cdr delete replicateset
cdr delete server
cdr delete template
cdr disable grid
cdr disable server
cdr disconnect server
cdr enable grid
cdr enable server
cdr error
cdr finderr
cdr list grid
cdr list replicate
cdr list replicateset
cdr list server
cdr list template
cdr modify replicate
cdr modify replicateset
cdr modify server
cdr realize template
cdr remaster
cdr remove onconfig
cdr repair
cdr reset qod
cdr resume replicate
cdr resume replicateset
cdr resume server
cdr start
cdr start qod
cdr start replicate
cdr start replicateset
cdr start sec2er
cdr stats rqm
cdr stats recv
cdr stats check
cdr stats sync
cdr stop
cdr stop qod
cdr stop replicate
cdr stop replicateset
cdr suspend replicate
cdr suspend replicateset
cdr suspend server
cdr swap shadow
cdr sync replicate
cdr sync replicateset
cdr -V
cdr view
Configuration Parameter and Environment Variable Reference
CDR_APPLY Configuration Parameter
CDR_DBSPACE Configuration Parameter
CDR_DELAY_PURGE_DTC configuration parameter
CDR_DSLOCKWAIT Configuration Parameter
CDR_ENV Configuration Parameter
CDR_EVALTHREADS Configuration Parameter
CDR_LOG_LAG_ACTION Configuration Parameter
CDR_LOG_STAGING_MAXSIZE Configuration Parameter
CDR_MAX_DYNAMIC_LOGS Configuration Parameter
CDR_NIFCOMPRESS Configuration Parameter
CDR_QDATA_SBSPACE Configuration Parameter
CDR_QHDR_DBSPACE Configuration Parameter
CDR_QUEUEMEM Configuration Parameter
CDR_SERIAL Configuration Parameter
CDR_SUPPRESS_ATSRISWARN Configuration Parameter
ENCRYPT_CDR Configuration Parameter
ENCRYPT_CIPHERS Configuration Parameter
ENCRYPT_MAC Configuration Parameter
ENCRYPT_MACFILE Configuration Parameter
ENCRYPT_SWITCH Configuration Parameter
CDR_ALARMS Environment Variable
CDR_ATSRISNAME_DELIM Environment Variable
CDR_DISABLE_SPOOL Environment Variable
CDR_LOGDELTA Environment Variable
CDR_PERFLOG Environment Variable
CDR_RMSCALEFACT Environment Variable
CDR_ROUTER Environment Variable
CDRSITES_10X Environment Variable
CDRSITES_731 Environment Variable
CDRSITES_92X Environment Variable
Grid routines
ifx_get_erstate() function
ifx_grid_connect() procedure
ifx_grid_disconnect() procedure
ifx_grid_execute() procedure
ifx_grid_function() function
ifx_grid_procedure() procedure
ifx_grid_purge() procedure
ifx_grid_redo() procedure
ifx_set_erstate() procedure
Enterprise Replication routines
ifx_get_erstate() function
ifx_set_erstate() procedure
onstat Command Reference
onstat -g ath
onstat -g cat
onstat -g cdr
onstat -g cdr config
onstat -g ddr
onstat -g dss
onstat -g dtc
onstat -g grp
onstat -g nif
onstat -g que
onstat -g rcv
onstat -g rep
onstat -g rqm
onstat -g sync
onstat -k
syscdr Tables
The replcheck_stat Table
The replcheck_stat_node Table
SMI Table Reference
The syscdr_ats Table
The syscdr_atsdir Table
The syscdr_ddr Table
The syscdr_nif Table
The syscdr_rcv Table
The syscdr_ris Table
The syscdr_risdir Table
The syscdr_rqm Table
The syscdr_rqmhandle Table
The syscdr_rqmstamp Table
The syscdr_state Table
The syscdrack_buf Table
The syscdrack_txn Table
The syscdrctrl_buf Table
The syscdrctrl_txn Table
The syscdrerror Table
The syscdrlatency Table
The syscdrpart Table
The syscdrprog Table
The syscdrq Table
The syscdrqueued Table
The syscdrrecv_buf Table
The syscdrrecv_stats Table
The syscdrrecv_txn Table
The syscdrrepl Table
The syscdrreplset Table
The syscdrs Table
The syscdrsend_buf Table
The syscdrsend_txn Table
The syscdrserver Table
The syscdrsync_buf Table
The syscdrsync_txn Table
The syscdrtx Table
Enterprise Replication Queues
Columns of the Transaction Tables
Columns of the Buffer Tables
Replication Examples
Replication Example Environment
Primary-Target Example
Update-Anywhere Example
Hierarchy Example
SQLHOSTS Registry Key (Windows)
The Location of the SQLHOSTS Registry Key
Local SQLHOSTS Registry Key
Shared SQLHOSTS Registry Key
Preparing the SQLHOSTS Connectivity Information
Setting up the SQLHOSTS Registry with ISA
Setting up the SQLHOSTS Registry Key for Database Server with regedit
Setting Up the Database Server Group Registry Key
Setting up the Registry Keys on All Computers
Verifying the services Files on All Computers
Informix Replication Plug-in for OAT
Setting up the Replication plug-in
Monitoring Enterprise Replication
Viewing the topology of an ER domain
Configuring alert thresholds
Checking for alerts on an Enterprise Replication domain
Viewing the status of an Enterprise Replication node
Viewing a summary of replication activity at the current node
Viewing the node as a replication source
Viewing the node as a replication target
Monitoring log capture information for a node
Determining if transactions are being captured for replication
Monitoring log capture progress for a node
Preventing DDRBLOCK and log wrap
Turning on dynamic log file allocation
Monitoring the send queue for a node
Viewing target nodes and replicates related to the current node
Monitoring network I/O for an Enterprise Replication node
Monitoring disk space usage for a node
Monitoring the receive queue for a node
Monitoring how replicated data is applied at the target node
Monitoring transaction failures
Determining the apply latency rate
Reviewing ATS and RIS files for failed transactions
Reviewing Enterprise Replication errors
Viewing the ER configuration parameters
Administering Enterprise Replication
Setting up Enterprise Replication
Defining a server for Enterprise Replication
Defining a replicate set
Defining a replicate
Using templates to set up Enterprise Replication
Defining a template
Realizing a template
Deleting a template
Managing Enterprise Replication with a grid
Creating a grid
Deleting a grid
Adding members to a grid
Changing the users of a grid
Enabling or disabling a source server for a grid
Monitoring the status of grid tasks
Rerunning a grid command
Removing a grid command
Routing client connections in a grid
Viewing the SLAs for a grid
Creating an SLA for a grid
Modifying an SLA for a grid
Monitoring the quality of data in a grid
Managing Enterprise Replication servers
Modifying an ER server
Changing ATS and RIS file location and format
Changing the idle timeout for an ER server
Changing the type for participants on an ER server
Disabling ATS or RIS file generation on an ER server
Enabling ATS or RIS file generation on an ER server
Stopping or restarting replication on a server
Suspending replication for a server
Resuming replication to a suspended server
Stopping replication on a server
Restarting replication on a server
Restarting replication with empty queues
Disabling replication for a server
Enabling replication for a disabled server
Disconnecting an ER server
Reconnecting an ER server
Deleting an ER server
Managing replicate sets
Modifying a replicate set
Adding and deleting replicates in a replicate set
Changing replication frequency for a replicate set
Viewing replicate set properties
Starting a replicate set
Stopping a replicate set
Suspending a replicate set
Resuming a replicate set
Deleting a replicate set
Managing replicates
Modifying a replicate
Adding and deleting participants
Changing the master replicate server
Changing the conflict resolution rule and scope
Changing replication frequency for a replicate
Activating ATS and RIS file generation
Replicating full rows or changed columns
Enabling and disabling triggers
Retaining or removing deleted rows
Viewing replicate properties
Starting a replicate
Stopping a replicate
Suspending a replicate
Resuming a replicate
Deleting a replicate
Resynchronizing data among replication servers
Checking a replicate
Checking and repairing a replicate
Synchronizing a replicate
Deleting a check or sync task for a replicate
Checking a replicate set
Checking and repairing a replicate set
Synchronizing a replicate set
Deleting a check or sync task for a replicate set
Repairing failed transactions with ATS files
Repairing failed transactions with RIS files
Monitoring task status
Monitoring replicate tasks
Monitoring replicate set tasks
Changing ER configuration parameters
Managing client connections
Viewing connection units
Adding a connection unit
Modifying a failover configuration
Creating a service level agreement
Modifying a service level agreement
Creating a Connection Manager
System administration
Summary of configuration parameters
List of utilities
onstat quick reference card
onconfig quick reference card
SQL administration API quick reference card
List of environment variables
Administration tools
IBM OpenAdmin Tool (OAT) for Informix
How do I connect to a database server?
Logging in to a database server
Logging in to a database server in an OAT group
Switching to another server in an OAT group
How do I monitor database server activity?
Monitoring database server health
Monitoring alerts and event alarms
Reviewing the admin command history
Monitoring the online message log
Deleting the online message log
Rotating the online message log
Monitoring the ON-Bar activity log
Deleting the ON-Bar activity log
Rotating the ON-Bar activity log
How do I manage system space?
Monitoring space usage
Managing space usage
Creating a space
Modifying a space
Dropping a space
Adding a chunk
Modifying a chunk
Dropping a chunk
Adding storage space automatically
Configuring the server to add storage space
Adding a storage pool entry
Modifying a storage pool entry
Deleting storage pool entries
Expanding a space
Extending a chunk
Optimizing storage space
Optimizing storage space automatically
Estimating compression
Compressing tables and table fragments
Uncompressing tables and table fragments
Consolidating free space
Returning free space to the dbspace
Defragmenting extents
Managing recovery logs
Viewing checkpoint history
Forcing checkpoints
Viewing logical log statistics
Adding logical logs
Switching logical logs
Dropping logical logs
Viewing physical log statistics
Moving physical logs
How do I administer the database server?
Managing server memory
Managing high availability clusters
Configuring connectivity for high availability clusters
Finding high availability clusters
Viewing the topology of a cluster
Viewing the status of servers in a cluster
Adding an SDS server
Starting or stopping a server in a cluster
Managing time series
Managing configuration parameters
Running system validation checks
Validating one or more databases or tables at the current server
Validating the extents of one or more dbspaces on the current server
Managing virtual processors
Granting and limiting user privileges
Granting database-level privileges to a user
Modifying the database-level privileges of a user
Revoking the database-level privileges of a user
Granting table-level privileges to a user
Modifying the table-level privileges of a user
Revoking the table-level privileges of a user
Managing internal users (UNIX, Linux)
Setting the privileges for internal users on a server (UNIX, Linux)
Adding an internal user (UNIX, Linux)
Editing an internal user (UNIX, Linux)
Deleting an internal user (UNIX, Linux)
Creating a trusted context
Managing a trusted context
Managing Auto Update Statistics
Configuring and enabling Auto Update Statistics
Viewing refreshes and evaluations at the server
Requesting an immediate evaluation of statistics
Determining when statistics are updated next
Viewing the current Auto Update Statistics settings
Monitoring the Auto Update Statistics settings
Viewing alerts generated by Auto Update Statistics
Cleaning up abnormal runs of Auto Update Statistics
Backing up database server data
Backing up data with ontape
Changing the backup configuration and schedule
Performing a backup on demand
How do I manage Scheduler tasks?
Adding Scheduler tasks
Adding a new task
Adding a new sensor
Enabling Scheduler tasks
Changing the Scheduler task allowable time interval
Deleting a Scheduler task
How do I explore performance information?
Analyzing query performance with SQL Explorer
Turning on SQL tracing
Turning off SQL tracing
Specifying options for SQL tracing
Trace Mode
Suspending SQL tracing
Resuming SQL tracing from a suspended state
Switching between Live and Saved Data
Drilling down from the activity summary
Drilling down by transaction
Drilling down by SQL statement type
Optimizing SQL statements
Exploring user sessions
Stopping a user session
Viewing performance history
Running system performance reports
Monitoring servers with the onstat utility
How do I manage databases and tables?
Reviewing the databases on a server
Connecting to a database
Viewing schemas
Reviewing procedures and routines for a database
Performing standard SQL operations: query, insert, update, delete
Performing a query
Updating a table row
Deleting a table row
Inserting a table row
How do I set up access to a server?
Adding an OAT group
Creating a server connection
Exporting connection information
Importing connection information
Accessing a database with a nondefault locale
How do I configure security for OAT?
Creating an OAT group with read-only privileges
Read-only group restrictions
Limiting access to the Admin configuration pages
Providing password protection for the Admin configuration pages: Apache example
Configuring HTTPS for OAT
Disabling or enabling password protection for SQL Toolbox
How do I manage plug-ins for OAT?
Installing a plug-in for OAT
Enabling a plug-in for OAT
Upgrading a plug-in for OAT
Disabling a plug-in for OAT
Uninstalling a plug-in for OAT
idsadmin class functions
isreadonly function
get_database function
load_lang function
lang function
How do I customize the main menu for OAT?
Informix Health Advisor Plug-in for OAT
Running the Health Advisor
Adding a profile
Setting up alarms for a profile
Scheduling a task for a profile
Configuring email notification
Informix Replication Plug-in for OAT
Setting up the Replication plug-in
Monitoring Enterprise Replication
Viewing the topology of an ER domain
Configuring alert thresholds
Checking for alerts on an Enterprise Replication domain
Viewing the status of an Enterprise Replication node
Viewing a summary of replication activity at the current node
Viewing the node as a replication source
Viewing the node as a replication target
Monitoring log capture information for a node
Determining if transactions are being captured for replication
Monitoring log capture progress for a node
Preventing DDRBLOCK and log wrap
Turning on dynamic log file allocation
Monitoring the send queue for a node
Viewing target nodes and replicates related to the current node
Monitoring network I/O for an Enterprise Replication node
Monitoring disk space usage for a node
Monitoring the receive queue for a node
Monitoring how replicated data is applied at the target node
Monitoring transaction failures
Determining the apply latency rate
Reviewing ATS and RIS files for failed transactions
Reviewing Enterprise Replication errors
Viewing the ER configuration parameters
Administering Enterprise Replication
Setting up Enterprise Replication
Defining a server for Enterprise Replication
Defining a replicate set
Defining a replicate
Using templates to set up Enterprise Replication
Defining a template
Realizing a template
Deleting a template
Managing Enterprise Replication with a grid
Creating a grid
Deleting a grid
Adding members to a grid
Changing the users of a grid
Enabling or disabling a source server for a grid
Monitoring the status of grid tasks
Rerunning a grid command
Removing a grid command
Routing client connections in a grid
Viewing the SLAs for a grid
Creating an SLA for a grid
Modifying an SLA for a grid
Monitoring the quality of data in a grid
Managing Enterprise Replication servers
Modifying an ER server
Changing ATS and RIS file location and format
Changing the idle timeout for an ER server
Changing the type for participants on an ER server
Disabling ATS or RIS file generation on an ER server
Enabling ATS or RIS file generation on an ER server
Stopping or restarting replication on a server
Suspending replication for a server
Resuming replication to a suspended server
Stopping replication on a server
Restarting replication on a server
Restarting replication with empty queues
Disabling replication for a server
Enabling replication for a disabled server
Disconnecting an ER server
Reconnecting an ER server
Deleting an ER server
Managing replicate sets
Modifying a replicate set
Adding and deleting replicates in a replicate set
Changing replication frequency for a replicate set
Viewing replicate set properties
Starting a replicate set
Stopping a replicate set
Suspending a replicate set
Resuming a replicate set
Deleting a replicate set
Managing replicates
Modifying a replicate
Adding and deleting participants
Changing the master replicate server
Changing the conflict resolution rule and scope
Changing replication frequency for a replicate
Activating ATS and RIS file generation
Replicating full rows or changed columns
Enabling and disabling triggers
Retaining or removing deleted rows
Viewing replicate properties
Starting a replicate
Stopping a replicate
Suspending a replicate
Resuming a replicate
Deleting a replicate
Resynchronizing data among replication servers
Checking a replicate
Checking and repairing a replicate
Synchronizing a replicate
Deleting a check or sync task for a replicate
Checking a replicate set
Checking and repairing a replicate set
Synchronizing a replicate set
Deleting a check or sync task for a replicate set
Repairing failed transactions with ATS files
Repairing failed transactions with RIS files
Monitoring task status
Monitoring replicate tasks
Monitoring replicate set tasks
Changing ER configuration parameters
Managing client connections
Viewing connection units
Adding a connection unit
Modifying a failover configuration
Creating a service level agreement
Modifying a service level agreement
Creating a Connection Manager
Informix Schema Manager Plug-in for OAT
Viewing database objects
Viewing table objects
Reviewing table statistics
Creating a database
Dropping a database
Managing tables and indexes
Creating a table
Dropping a table
Truncating a table
Creating an index
Creating a partial-column index
Disabling or enabling an index
Dropping an index
Loading and unloading data with external tables
Loading data with an external table
Unloading data to an external table
Creating an external table
Viewing external table information
Viewing the status of load and unload tasks
Running saved load and unload tasks
Deleting load and unload tasks
Creating a group of saved load or unload tasks
Informix TimeSeries Plug-in for OAT
Reviewing time series
Creating a container
Creating a calendar
Creating a virtual table
Administrator's Guide
What's New in administration for Informix, 11.70
The database server
Database server installation and configuration
Plan for the database server
Consider your priorities
Considering your environment
Configure the operating system
Configure Windows memory
Maximum address space
Modify UNIX kernel parameters
Configure disk space
Use large chunks
Creating chunk files on UNIX
Provide NTFS partitions in Windows
Set permissions, ownership, and group
Create standard device names (UNIX)
Set environment variables
Required environment variables
Setting environment variables
Set GLS environment variables
Set environment variables on UNIX
Set environment variables on Windows
Configure connectivity
The sqlhosts file on UNIX
The sqlhosts registry on Windows
Configure connectivity using ISA
Configure the database server
Prepare the onconfig configuration file
Creating an onconfig file on UNIX
Creating an onconfig file on Windows
Using the Instance Manager to create a new database server instance (Windows)
Using the Instance Manager to rename a database server instance (Windows)
Configuring Java support
Start and administer the database server
Starting the database server
Preparing for automatic startup
Preparing for automatic startup on Windows
Preparing the UNIX startup and shutdown scripts
Preparing the UNIX startup scripts
Preparing the UNIX shutdown script
Prepare to connect to applications
Create storage spaces and chunks
Support for large chunks
Set up your backup system and storage
Set up ontape
Set up your storage manager and ON-Bar
Automatically terminating idle connections
Configure session properties
Configuring session properties
Perform routine administrative tasks
Change database server modes
Back up data and logical-log files
Monitor activity
Check for consistency
Perform additional administrative tasks
Disk mirroring
Manage database-logging status
Manage the logical log
Manage the physical log
Manage shared memory
Manage virtual processors
Manage parallel database query
Data replication
Data replication environments
Enterprise Replication
Auditing
Distributed queries
Global transactions
Transaction manager
Monitor database server activity
Event alarms
IBM Informix Server Administrator (ISA)
Message log
Specify the destination for message-log messages
Monitor the message log
ON-Monitor (UNIX)
The oncheck utility
The onperf tool (UNIX)
The onstat utility
SMI tables
System console
UNIX operating-system tools
Windows Event Viewer
Windows Performance Logs and Alerts
Windows utilities
The OpenAdmin Tool (OAT) for Informix
Client/server communications
Client/server architecture
Network protocol
Network programming interface
Windows network domain
Database server connection
Supporting multiplexed connections
Connections that the database server supports
Local connections
Shared-memory connections (UNIX)
Stream-pipe connections (UNIX)
Stream-pipe connections (Linux)
Named-pipe connections (Windows)
Local-loopback connections
Communication support services
Connectivity files
Network-configuration files
TCP/IP connectivity files
TCP/IP connectivity files on UNIX
TCP/IP connectivity files on Windows
What happens between a client and server when a TCP/IP connection is opened
Multiple TCP/IP ports
Network security files
The hosts.equiv file
The netrc information
User impersonation
The sqlhosts file and the SQLHOSTS registry key
Setting up the sqlhosts file (UNIX)
Setting up the SQLHOSTS registry key with Setnet32 (Windows)
The sqlhosts information
IANA standard service names and port numbers in the sqlhosts.std file
sqlhosts Connectivity information
sqlhosts file and SQLHOSTS registry key options
Group information
Creating a database server group in the sqlhosts file (UNIX)
Setting up the database server group registry key Windows
Alternatives for TCP/IP connections
Informix support for IPv6 addresses
ONCONFIG parameters related to connectivity
Connection information set in the DBSERVERNAME configuration parameter
Connection information set in the DBSERVERALIASES configuration parameter
Connection information set in the LIMITNUMSESSIONS configuration parameter
Connection information set in the NETTYPE configuration parameter
Name service maximum retention time set in the NS_CACHE configuration parameter
Connection information set in the NUMFDSERVERS configuration parameter
Connection information set in the HA_ALIAS configuration parameter
Environment variables for network connections
Distributed Relational Database Architecture (DRDA) communications
Overview of DRDA
Configuring Informix for connections to IBM Data Server Clients
Allocating poll threads for an interface/protocol combination with the NETTYPE configuration parameter
Specify the size of the DRDA communication buffer with the DRDA_COMMBUFFSIZE configuration parameter
The DRDAEXEC thread and queries from clients
SQL and supported and unsupported data types
Display DRDA connection information
Display DRDA session information
Examples of client/server configurations
A shared-memory connection (UNIX)
A local-loopback connection
A network connection
Multiple connection types
Accessing multiple database servers
IBM Informix MaxConnect
Database server initialization
Types of initialization
Initializing disk space
Initialization process
Process configuration file
Create shared-memory portions
Initialize or restart shared-memory
Initialize disk space
Start all required virtual processors
Make necessary conversions
Start fast recovery
Start a checkpoint
Document configuration changes
Create the oncfg_servername.servernum file
Drop Temporary Tblspaces
Set forced residency if specified
Return control to user
Create sysmaster database and prepare SMI tables
Create the sysutils database
Create the sysuser database
Create sysadmin database
Monitor maximum number of user connections
Database server operating modes
Change database server operating modes
Users permitted to change modes
ISA options for changing modes
ON-Monitor options for changing modes (UNIX)
Command-line options for changing modes
Change from offline to quiescent mode
Change from offline to online mode
Change from offline to administration mode
Change from quiescent to online mode
Change gracefully from online to quiescent mode
Change immediately from online to quiescent mode
Change from quiescent or online to administration mode
Change from administration to online mode
Change from administration to quiescent mode
Change from any mode immediately to offline mode
Specify administration mode users with the ADMIN_MODE_USERS configuration parameter
Disk, memory, and process management
Virtual processors and threads
Virtual processors
Threads
Types of virtual processors
Advantages of virtual processors
Shared processing
Save memory and resources
Parallel processing
Add and drop virtual processors in online mode
Bind virtual processors to CPUs
How virtual processors service threads
Control structures
Context switching
Stacks
Queues
Ready queues
Sleep queues
Wait queues
Mutexes
Virtual-processor classes
CPU virtual processors
Determine the number of CPU virtual processors required
Run on a multiprocessor computer
Run on a single-processor computer
Add and drop CPU virtual processors in online mode
Prevent priority aging
Processor affinity
Set processor affinity with the VPCLASS configuration parameter
User-defined classes of virtual processors
Determine the number of user-defined virtual processors required
User-defined virtual processors
Specify user-defined virtual processors
Assign a UDR to a user-defined virtual-processor class
Add and drop user-defined virtual processors in online mode
Java virtual processors
Disk I/O virtual processors
I/O priorities
Logical-log I/O
Physical-log I/O
Asynchronous I/O
Kernel-asynchronous I/O
AIO virtual processors
Automatic increasing and decreasing of AIO virtual processors
Number of AIO virtual processors required
Network virtual processors
Specifying Network Connections
Run poll threads on CPU or network virtual processors
Specify the number of networking virtual processors
Specify listen and poll threads for the client/server connection
Fast polling
Multiple listen threads
Add listen threads
Add a network-interface card
Dynamically starting, stopping, or restarting a listen thread
Communications support module virtual processor
Encrypt virtual processors
Optical virtual processor
Audit virtual processor
Miscellaneous virtual processor
Basic Text Search virtual processors
MQ messaging virtual processor
Web feature service virtual processor
XML virtual processor
Manage virtual processors
Set virtual-processor configuration parameters
Set virtual processor parameters with a text editor
Specify a virtual processor class
Disable priority aging (UNIX)
Set virtual-processor parameters with ISA
Set virtual-processor parameters with ON-Monitor
Start and stop virtual processors
Add virtual processors in online mode
Add virtual processors in online mode with onmode
Add virtual processors in online mode with ON-Monitor (UNIX)
Add network virtual processors
Drop CPU and user-defined virtual processors
Monitor virtual processors
Monitor virtual processors with command-line utilities
The onstat -g ath command
The onstat -g glo command
The onstat -g ioq command
The onstat -g rea command
Monitor virtual processors with SMI tables
Shared memory
Shared memory
Shared-memory use
Shared-memory allocation
Shared-memory size
Action to take if SHMTOTAL is exceeded
Processes that attach to shared memory
How a client attaches to the communications portion (UNIX)
How utilities attach to shared memory
How virtual processors attach to shared memory
Obtain key values for shared-memory segments
Specify where to attach the first shared-memory segment
Attach additional shared-memory segments
Define the shared-memory lower-boundary address
Resident shared-memory segments
Resident portion of shared memory
Shared-memory header
Shared-memory buffer pool
Buffer overflow to the virtual portion
Buffer size
Logical-log buffer
Physical-log buffer
High-Availability Data-Replication Buffer
Lock table
Virtual portion of shared memory
Management of the virtual portion of shared memory
Size of the virtual portion of shared memory
Components of the virtual portion of shared memory
Shared-memory internal tables
Buffer table
Chunk table
Dbspace table
Page-cleaner table
Tblspace table
Transaction table
User table
Big buffers
Session data
Thread data
Stacks
Heaps
Data-distribution cache
Dictionary cache
SQL statement cache
Sort memory
SPL routine and the UDR cache
Global pool
Communications portion of shared memory (UNIX)
Virtual-extension portion of shared memory
Concurrency control
Shared-memory mutexes
Shared-memory buffer locks
Types of buffer locks
Share lock
Exclusive lock
Database server thread access to shared buffers
FIFO/LRU queues
Components of LRU queue
Pages in least-recently used order
LRU queues and buffer-pool management
Number of LRU queues to configure
Number of cleaners to allocate
Number of pages added to the MLRU queues
End of MLRU cleaning
Automatic read-ahead operations
Database server thread access to buffer pages
Flush data to disk
Flush buffer-pool buffers
Flush before-images first
Flush the physical-log buffer
Synchronize buffer flushing
Describing flushing activity
Foreground write
LRU write
Chunk write
Flush the logical-log buffer
After a transaction is prepared or terminated in a database with unbuffered logging
When a session that uses nonlogging databases or unbuffered logging terminates
When a checkpoint occurs
When a page is modified that does not require a before-image in the physical-log file
Buffer large-object data
Write simple large objects
Blobpages and shared memory
Creation of simple large objects
Creation of blobpage buffers
Access smart large objects
Memory use on 64-bit platforms
Manage shared memory
Set operating-system shared-memory configuration parameters
Maximum shared-memory segment size
Using more than two gigabytes of memory (Windows)
Maximum number of shared-memory identifiers (UNIX)
Semaphores (UNIX)
Set database server shared-memory configuration parameters
Set parameters for resident shared memory
Set parameters for virtual shared memory
Set parameters for shared-memory performance
Set shared-memory parameters with a text editor
Set shared-memory parameters with ISA
Set shared-memory parameters with ON-Monitor (UNIX)
Set SQL statement cache parameters
Set up shared memory
Turn residency on or off for resident shared memory
Turn residency on or off in online mode
Turn residency on or off when restarting the database server
Add a segment to the virtual portion of shared memory
Reserve memory for critical activities
Configure the server response when memory is critically low
Scenario for maintaining a targeted amount of memory
Monitor shared memory
Monitor shared-memory segments
Monitor the shared-memory profile and latches
Command-line utilities to monitor shared memory and latches
IBM Informix Server Administrator
ON-Monitor (UNIX)
SMI tables
Monitor buffers
Command-line utilities to monitor buffers
The onstat -p utility
The onstat -B utility
The onstat -b utility
The onstat -X utility
The onstat -R utility
ON-Monitor (UNIX)
SMI tables
Monitor buffer-pool activity
Command-line utilities to obtain information about buffer-pool activity
The onstat -p utility
The onstat -F utility
The onstat -R utility
SMI tables
Deleting shared memory segments after a server failure
Data storage
Physical and logical units of storage
Chunks
Disk allocation for chunks
Disk access on Windows
Raw disk space on Windows
NTFS files
Unbuffered or buffered disk access on UNIX
Extendable chunks
Offsets
Pages
Blobpages
Sbpages
Extents
Dbspaces
Control of where simple large object data is stored
Root dbspace
Temporary dbspaces
Blobspaces
Sbspaces
Advantages of using sbspaces
Sbspaces and Enterprise Replication
Metadata, user data, and reserved area
Control of where smart large object data is stored
Storage characteristics of sbspaces
Extent sizes for sbspaces
Average smart-large-object size
Buffering mode
Last-access time
Lock mode
Logging
Levels of inheritance for sbspace characteristics
More information about sbspaces
Temporary sbspaces
Comparison of temporary and standard sbspaces
Temporary smart large objects
Extspaces
Databases
Tables
Damaged tables
Table types for Informix
Standard permanent tables
RAW tables
Temp tables
Properties of table types
Loading of data into a table
Fast recovery of table types
Backup and restore of RAW tables
Temporary tables
Temporary tables that you create
Where user-created temporary tables are stored
Temporary tables that the database server creates
Where database server-created temporary tables are stored
Tblspaces
Maximum number of tblspaces in a table
Table and index tblspaces
Extent interleaving
Table fragmentation and data storage
Amount of disk space required store data
Size of the root dbspace
Physical and logical logs
Temporary tables
Critical data
Extra space
Amount of space that databases require
The storage pool
Disk-layout guidelines
Dbspace and chunk guidelines
Table-location guidelines
Sample disk layouts
Sample layout when performance is highest priority
Sample layout when availability is highest priority
Logical-volume manager
Manage disk space
Allocate disk space
Specify an offset
Specify an offset for the initial chunk of root dbspace
Specify an offset for additional chunks
Use offsets to create multiple chunks
Allocating cooked file spaces on UNIX
Allocating raw disk space on UNIX
Create symbolic links to raw devices (UNIX)
Allocating NTFS file space on Windows
Allocating raw disk space on Windows
Specify names for storage spaces and chunks
Specify the maximum size of chunks
Specify the maximum number of chunks and storage spaces
Back up after you change the physical schema
Monitor storage spaces
Manage dbspaces
Creating a dbspace that uses the default page size
Specifying the first and next extent sizes for the tblspace tblspace
Creating a dbspace with a non-default page size
Create a buffer pool for the non-default page size
Resize an existing buffer pool
Delete an existing buffer pool
Define the page size
Improving the performance of cooked-file dbspaces by using direct I/O
Storing multiple named fragments in a single dbspace
Creating a temporary dbspace
What to do if you run out of disk space
Adding a chunk to a dbspace or blobspace
Adding a chunk with ON-Monitor (UNIX)
Rename dbspaces
Additional actions that may be required after you rename a dbspace
Manage blobspaces
Creating a blobspace
Prepare blobspaces to store TEXT and BYTE data
Determine blobpage size
Determine database server page size
Obtain blobspace storage statistics
Manage sbspaces
Creating an sbspace
Size sbspace metadata
Adding a chunk to an sbspace
Alter storage characteristics of smart large objects
Creating a temporary sbspace
Automatic space management
Creating and managing storage pool entries
Marking a chunk as extendable or not extendable
Modifying the create or extend size of a storage space
Changing the threshold and wait time for the automatic addition of more space
Configuring the frequency of the monitor low storage task
Manually expanding a space or extending an extendable chunk
Example of minimally configuring for and testing the automatic addition of more space
Example of configuring for the automatic addition of more space
Drop a chunk
Verify whether a chunk is empty
Drop a chunk from a dbspace with onspaces
Drop a chunk from a blobspace
Drop a chunk from an sbspace with onspaces
The -f (force) option
Delete smart large objects without any pointers
Drop a storage space
Preparation for dropping a storage space
Drop a mirrored storage space
Drop a storage space with onspaces
Dropping a dbspace or blobspace with ON-Monitor (UNIX)
Back up after dropping a storage space
Creating a space or chunk from the storage pool
Returning empty space to the storage pool
Manage extspaces
Create an extspace
Drop an extspace
Skip inaccessible fragments
The DATASKIP configuration parameter
The dataskip feature of onspaces
Use onstat to check dataskip status
The SQL statement SET DATASKIP
Effect of the dataskip feature on transactions
Determine when to use dataskip
Determine when to skip selected fragments
Determine when to skip all fragments
Monitor fragmentation use
Display databases
SMI tables
Using IBM Informix Server Administrator
ON-Monitor (UNIX)
Monitor disk usage
Monitor chunks
The onstat -d utility
The onstat -d update option
The onstat -D option
Monitor chunk I/O activity with the onstat -g iof command
The oncheck -pr command
The oncheck -pe command
IBM Informix Server Administrator
ON-Monitor (UNIX)
SMI tables
Monitor tblspaces and extents
SMI tables
Monitor simple large objects in a blobspace
The onstat -O option
Determine blobpage fullness with oncheck -pB
Monitor blobspace usage with oncheck -pe
Monitor simple large objects in a dbspace with oncheck -pT
Monitor sbspaces
The onstat -d option
The oncheck -ce and oncheck -pe options
The oncheck -cs option
The oncheck -ps option
Monitoring the metadata and user-data areas
The onstat -g smb c option
Storage optimization
Automatically optimizing data storage
Defragment partitions
Compression of row data and storage optimization
Data that you can compress
Data that you cannot compress
Compression ratios
Compression estimates
Compression dictionaries
Compression information that you can view
Illustration of compressed data and storage optimization
Compressing and uncompressing row data
Estimating compression ratios
Creating a compression dictionary
Compressing tables
Consolidating free space in tables
Returning free space to the dbspace
Uncompressing data
Deleting compression dictionaries
Move compressed data
Load data into a table
Moving data with external tables
External tables
Defining external tables
Map columns to other columns
Load data from and unload to a named pipe
Loading data with named pipes
FIFO virtual processors
Unloading data with named pipes
Copying data from one instance to another using the PIPE option
Monitor the load or unload operations
Monitor frequent load and unload operations
Monitor FIFO virtual processors
External tables in high-availability cluster environments
System catalog entries for external tables
Performance considerations when using external tables
Manage errors from external table load and unload operations
Reject files
External table error messages
Recoverability of table types for external tables
Logging and log administration
Logging
Database server processes that require logging
Transaction logging
Logging of SQL statements and database server activity
Activity that is always logged
Activity logged for databases with transaction logging
Activity that is not logged
Database-logging status
Unbuffered transaction logging
Buffered transaction logging
ANSI-compliant transaction logging
No database logging
Databases with different log-buffering status
Database logging in an X/Open DTP environment
Settings or changes for logging status or mode
Manage the database-logging mode
Change the database-logging mode
Modify the database-logging mode with ondblog
Change the buffering mode with ondblog
Cancel a logging mode change with ondblog
End logging with ondblog
Make a database ANSI compliant with ondblog
Changing the logging mode of an ANSI-compliant database
Modify the database logging mode with ontape
Turn on transaction logging with ontape
End logging with ontape
Change buffering mode with ontape
Make a database ANSI compliant with ontape
Modify database logging mode with ISA
Modify database logging mode with ON-Monitor
Modify the table-logging mode
Alter a table to turn off logging
Alter a table to turn on logging
Disable logging on temporary tables
Monitor transactions
Monitor the logging mode of a database
Monitor the logging mode with SMI tables
Monitor the logging mode with ON-Monitor (UNIX)
Monitor the logging mode with ISA
Logical log
What is the logical log?
Location of logical-log files
Identification of logical-log files
Status flags of logical-log files
Size of the logical-log file
Number of logical-log files
Performance considerations
Dynamic log allocation
Freeing of logical-log files
Action if the next logical-log file is not free
Action if the next log file contains the last checkpoint
Logging blobspaces and simple large objects
Switch log files to activate blobspaces
Back up log files to free blobpages
Back up blobspaces after inserting or deleting TEXT and BYTE data
Log sbspaces and smart large objects
Sbspace logging
Logging for smart large objects
Logging for updated smart large objects
Turn logging on or off for an sbspace
Smart-large-object log records
Prevent long transactions when logging smart-large-object data
Logging process
Dbspace logging
Blobspace logging
Manage logical-log files
Estimate the size and number of log files
Estimate the log size when logging smart large objects
Estimate the number of logical-log files
Back up logical-log files
Backing up blobspaces
Back up sbspaces
Switch to the next logical-log file
Free a logical-log file
Delete a log file with status D
Free a log file with status U
Freeing a log file with status U-B or F
Freeing a log file with status U-C or U-C-L
Free a log file with status U-B-L
Monitor logging activity
Monitor the logical log for fullness
The onstat -l command
The oncheck -pr command
Monitor temporary logical logs
SMI tables
ON-Monitor (UNIX)
Monitor log-backup status
Allocate log files
Dynamically add a logical-log file
Size and number of dynamically added log files
Location of dynamically added log files
Adding logical-log files manually
Dropping logical-log files
Change the size of logical-log files
Moving a logical-log file to another dbspace
Changing logging configuration parameters
Using ON-Monitor to change LOGFILES (UNIX)
Display logical-log records
Monitor events for dynamically added logs
Set high-watermarks for rolling back long transactions
Long-transaction high-watermark (LTXHWM)
Exclusive access, long-transaction high-watermark (LTXEHWM)
Adjust the size of log files to prevent long transactions
Recovering from a Long Transaction Hang
Physical logging, checkpoints, and fast recovery
Critical sections
Physical logging
Fast recovery use of physically-logged pages
Backup use of physically-logged pages
Database server activity that is physically logged
Physical recovery messages
Physical logging and simple large objects
Physical logging and smart large objects
Size and location of the physical log
Specify the location of the physical log
Strategy for estimating the size of the physical log
Physical-log overflow when transaction logging is turned off
Checkpoints
LRU values for flushing a buffer pool between checkpoints
Checkpoints during backup
Fast recovery
Need for fast recovery
Situations when fast recovery is initiated
Fast recovery and buffered logging
Possible physical log overflow during fast recovery
Fast recovery and no logging
Fast recovery after a checkpoint
The server returns to the last-checkpoint state
The server locates the checkpoint record in the logical log
The server rolls forward logical-log records
The server rolls back uncommitted transactions
Manage the physical log
Change the physical-log location and size
Check for adequate contiguous space
Change physical-log location or size using onparams
Change physical-log location or size using ON-Monitor (UNIX)
Monitor physical and logical-logging activity
Monitor checkpoint information
Turn checkpoint tuning on or off
Force a checkpoint
Server-provided checkpoint statistics
SMI tables
Turn automatic LRU tuning on or off
Fault tolerance
Mirroring
Mirroring
Benefits of mirroring
Costs of mirroring
Consequences of not mirroring
Data to mirror
Alternatives to mirroring
Logical volume managers
Hardware mirroring
External backup and restore
Mirroring process
Creation of a mirror chunk
Mirror status flags
Recovery
Actions during processing
Disk writes to mirror chunks
Disk reads from mirror chunks
Detection of media failures
Chunk recovery
Result of stopping mirroring
Structure of a mirror chunk
Using mirroring
Preparing to mirror data
Enable the MIRROR configuration parameter
Change the MIRROR parameter with ON-Monitor (UNIX)
Allocate disk space for mirrored data
Link chunks (UNIX)
Relink a chunk to a device after a disk failure
Using mirroring
Mirroring the root dbspace during initialization
Change the mirror status
Manage mirroring
Start mirroring for unmirrored storage spaces
Start mirroring for unmirrored dbspaces using onspaces
Starting mirroring using ISA
Start mirroring for unmirrored dbspaces using ON-Monitor (UNIX)
Start mirroring for new storage spaces
Start mirroring for new spaces using onspaces
Starting mirroring for new spaces using ISA
Start mirroring for new dbspaces using ON-Monitor (UNIX)
Add mirror chunks
Add mirror chunks using onspaces
Adding mirror chunks using ISA
Add mirror chunks using ON-Monitor (UNIX)
Take down a mirror chunk
Take down mirror chunks using onspaces
Take down mirror chunks using ON-Monitor (UNIX)
Recover a mirror chunk
Recover a mirror chunk using onspaces
Recover a mirror chunk using ISA
Recover a mirror chunk using ON-Monitor (UNIX)
End mirroring
End mirroring using onspaces
End mirroring using ON-Monitor (UNIX)
Ending mirroring using ISA
Consistency checking
Perform periodic consistency checking
Verify consistency
Validate system catalog tables
Validate data pages
Validate extents
Validate indexes
Validate logical logs
Validate reserved pages
Validate metadata
Monitor for data inconsistency
Read assertion failures in the message log and dump files
Validate table and tblspace data
Retain consistent level-0 backups
Deal with corruption
Find symptoms of corruption
Fix index corruption
Fix I/O errors on a chunk
Collect diagnostic information
Disable I/O errors
Monitor the database server for disabling I/O errors
The message log to monitor disabling I/O errors
Event alarms to monitor disabling I/O errors
No bad-sector mapping
High availability and scalability
Strategies for high availability and scalability
Components supporting high availability and scalability
Advantages of data replication
Clustering versus mirroring
Clustering versus two-phase commit
Clustering and Enterprise Replication
Type of data replicated
Primary and secondary database servers
Transparent scaling and workload balancing strategies
High availability strategies
High-availability cluster configuration
Plan for a high-availability cluster
Configuring clusters
Hardware and operating-system requirements for clusters
Database and data requirements for clusters
Database server configuration requirements for clusters
Database server version
Storage space and chunk configuration
Non-default page sizes in an HDR environment
Mirroring
Physical-log configuration
Dbspace and logical-log tape backup devices
Logical-log configuration
HDR configuration parameters
Configuring secure connections for clusters
Starting HDR for the First Time
Decrease setup time using the ontape STDIO feature
Remote standalone secondary servers
Comparison of RS secondary servers and HDR secondary servers
Index page logging
How index page logging works
Enable or disable index page logging
View index page logging statistics
Server Multiplexer Group (SMX) connections
Enable SMX encryption
Obtain SMX statistics
Starting an RS secondary server for the first time
Decrease setup time through an alternative backup method
Converting an offline primary server to an RS secondary server
Delayed application of log records
Specifying the log staging directory
Delay application of log records on an RS secondary server
Stop the application of log records
Shared disk secondary servers
SD secondary server
Disk requirements for SD secondary servers
Setting up a shared disk secondary server
Recovering a shared-disk cluster after critical data is damaged
Recovering a shared-disk cluster after non-critical data is lost
Obtain SD secondary server statistics
SD secondary server configuration
Promote an SD secondary server to a primary server
Convert a primary server to a standard server
SD secondary server security
Cluster administration
How data replication works
How data initially replicates
Reproduction of updates from the primary database server
How the log records are sent to HDR secondary servers
How the log records are sent to RS secondary and SD secondary servers
HDR data replication buffers
When log records are sent
HDR synchronous updating
HDR asynchronous updating
Lost-and-found transactions
Threads that handle data replication
Checkpoints between database servers
How data synchronization is tracked
Data Replication Configuration Examples
Remote standalone secondary configuration examples
Shared disk secondary configuration examples
Enterprise Replication as part of the recoverable group
High-availability clusters with Enterprise Replication configuration example
Example of a complex failover recovery strategy
Redirection and connectivity for data-replication clients
Design clients for redirection
Direct clients automatically with DBPATH
How the DBPATH redirection method works
Direct clients with the connectivity information
How redirection with the connectivity information works
Changing the connectivity information
Connect to the database server
Automatic redirection with server groups
Direct clients with INFORMIXSERVER
How redirection works with INFORMIXSERVER
What the administrator must do
What the user must do
Handle redirection within an application
Comparison of different redirection mechanisms
Recovering after failover of primary server in an HA environment
Failover of the primary server to the HDR secondary server
Failover of the primary server to an SD secondary server
Troubleshooting high-availability cluster environments
Configuring Connection Manager using settings from the primary server
Design data replication group clients
Use of temporary dbspaces for sorting and temporary tables
Performing basic administration tasks
Changing database server configuration parameters
Back up storage spaces and logical-log files
Changing the logging mode of databases
Add and drop chunks and storage spaces
Renaming chunks
Saving chunk status on the secondary database server
Use and change mirroring of chunks
Manage the physical log
Manage the logical log
Manage virtual processors
Manage shared memory
Set the wait time for a response from the primary server
Replicate an index to an HDR secondary database server
Encrypting data traffic between HDR database servers
Adjust LRU flushing and automatic tuning in HDR server pairs
Quickly cloning a primary server
Creating a clone of a primary server
Database updates on secondary servers
Isolation levels on secondary servers
Set lock mode
Transient types on high-availability cluster secondary servers
Row versioning
Backup and restore with high-availability clusters
Change the database server mode
Changing the database server type
Prevent blocking checkpoints on HDR servers
View statistics for nonblocking checkpoints on HDR servers
Monitor HDR status
Command-line utilities
The onstat -g dri option
The oncheck -pr option
SMI tables
ON-Monitor (UNIX)
Transaction completion during cluster failover
Configuring the server so that transactions complete after failover
Connection Management
Configuring the Connection Manager
Creating an encrypted password file
Modifying an encrypted password file
Configuring the environment for Connection Manager
Modifying the sqlhosts file for Connection Manager
Starting the Connection Manager
Connection Manager setup example
Establish Connection Manager redundancy and failover
Monitor and troubleshoot the Connection Manager
Determine the status of Connection Manager
Connection Manager event alarms
Stop the Connection Manager
Dynamically reconfiguring the Connection Manager
Converting the Connection Manager configuration file
Failover configuration
Failover with ISV cluster management software
Configuring I/O fencing for shared file systems
HDR failures
HDR failures defined
Detection of HDR failures
Actions when an HDR failure is detected
Considerations after HDR failure
Actions to take if the secondary database server fails
Actions to take if the primary database server fails
Automatic switchover
Actions that occur after automatic switchover
Automatic switchover without a reliable network
Manual switchover
Restart after a manual switchover
Restart if the secondary database server is not switched to standard
Connect offline applications after failover
Restore data after media failure occurs
Restore after a media failure on the primary database server
Restore after a media failure on the secondary database server
Replicate an index to the secondary server
Restart HDR after a failure
Restart after critical data is damaged
Critical media failure on the primary database server
Critical media failure on the secondary database server
Critical media failure on both database servers
Restart if critical data is not damaged
Restart after a network failure
Restarting If the Secondary Database Server Fails
Restart if the primary database server fails
The secondary database server was not changed to a standard database server
The secondary database server is changed to a standard database server
The secondary database server is changed to a standard database server automatically
Recovery after a failure of an RS cluster
Obtain RS secondary server statistics
Remove an RS secondary server
RS secondary server security
Create or change a password on an RS secondary server
Distributed data
Multiphase commit protocols
Transaction managers
TP/XA Library with a transaction manager
Microsoft Transaction Server (MTS/XA)
Informix transaction support for XA-compliant, external data sources
XA in high-availability clusters
Loosely coupled and tightly coupled modes
Two-phase commit protocol
When the two-phase commit protocol is used
Two-phase commit concepts
Phases of the two-phase commit protocol
Precommit phase
Postdecision phase
How the two-phase commit protocol handles failures
Types of failures that automatic recovery handles
Administrator's role in automatic recovery
Automatic-recovery mechanisms for coordinator failure
Automatic-recovery mechanisms for participant failure
Presumed-end optimization
Independent actions
Situations that initiate independent action
Possible results of independent action
Independent actions that allow transactions to complete successfully
Independent actions that result in an error condition
Independent actions that result in heuristic decisions
The heuristic rollback scenario
Conditions that result in a heuristic rollback
Condition 1: Logical log fills to a high-watermark
Condition 2: System administrator executes onmode -z
Results of a heuristic rollback
Situation 1: Coordinator issues a commit and all participants report heuristic rollbacks
Situation 2: Coordinator issued a commit; one participant commits and one reports a heuristic rollback
The heuristic end-transaction scenario
When to perform a heuristic end transaction
How to use onmode -Z
Action when the transaction is ended heuristically
Monitor a global transaction
Two-phase commit protocol errors
Two-phase commit and logical-log records
Logical-log records when the transaction commits
Logical-log records written during a heuristic rollback
Logical-log records written after a heuristic end transaction
Configuration parameters used in two-phase commits
Function of the DEADLOCK_TIMEOUT parameter
Function of the TXTIMEOUT parameter
Heterogeneous commit protocol
Gateways that can participate in a heterogeneous commit transaction
Enable and disable of heterogeneous commit
How heterogeneous commit works
Precommit phase
Gateway commit phase
Heterogeneous commit optimization
Implications of a failed heterogeneous commit
Database server coordinator failure
Participant failure
Interpretation of heterogeneous commit error messages
Application attempts to update multiple gateway participants
Failed attempt to commit distributed transaction using heterogeneous commit
Manually recovering from failed two-phase commit
Determine if manual recovery is required
Determine if a transaction was implemented inconsistently
Global transaction ended prematurely
Heuristic end transaction
Heuristic rollback
Determine if the distributed database contains inconsistent data
Obtaining information from the logical log
Obtain the global transaction identifier
Decide if action is needed to correct the situation
Example of manual recovery
Overview of automatic monitoring and corrective actions
The Scheduler
Scheduler tables
Built-in tasks and sensors
Creating a task
Creating a sensor
Actions for task and sensors
Creating a group
Creating a threshold
Creating an alert
Monitor the scheduler
Modifying the scheduler
Remote administration with the SQL administration API
SQL administration API admin() and task() functions
Viewing SQL administration API history
Controlling the size of the command_history table
Query drill-down
Specifying startup SQL tracing information by using the SQLTRACE configuration parameter
Disable SQL tracing globally or for a session
Enable SQL tracing for a particular user
Enable global SQL tracing for a session
Administrator's Reference
What's New in Administrator's Reference for Informix database server, Version 11.70
Configuring and Monitoring Informix
Database configuration parameters
onconfig File Conventions
Creating the onconfig File
Displaying the Settings in the onconfig File
onconfig Portal: Configuration parameters by functional category
Database configuration parameter reference
ADMIN_MODE_USERS Configuration Parameter
ADMIN_USER_MODE_WITH_DBSA Configuration Parameter
ALARMPROGRAM configuration parameter
ALLOW_NEWLINE Configuration Parameter
ALRM_ALL_EVENTS configuration parameter
AUTO_AIOVPS Configuration Parameter
AUTO_CKPTS Configuration Parameter
AUTO_LRU_TUNING Configuration Parameter
AUTO_READAHEAD configuration parameter
AUTO_REPREPARE configuration parameter
AUTO_STAT_MODE configuration parameter
BATCHEDREAD_TABLE configuration parameter
BATCHEDREAD_INDEX configuration parameter
BLOCKTIMEOUT configuration parameter
BTSCANNER Configuration Parameter
BUFFERPOOL configuration parameter
CHECKALLDOMAINSFORUSER configuration parameter
CKPTINTVL configuration parameter
CLEANERS Configuration Parameter
CONSOLE Configuration Parameter
CONVERSION_GUARD configuration parameter
DATASKIP Configuration Parameter
DBCREATE_PERMISSION Configuration Parameter
DB_LIBRARY_PATH Configuration Parameter
DBSERVERALIASES configuration parameter
DBSERVERNAME configuration parameter
DBSPACETEMP configuration parameter
Use Hash Join Overflow and DBSPACETEMP
DD_HASHMAX configuration parameter
DD_HASHSIZE Configuration Parameter
DEADLOCK_TIMEOUT configuration parameter
DEF_TABLE_LOCKMODE configuration parameter
DEFAULTESCCHAR configuration parameter
DELAY_APPLY Configuration Parameter
DIRECT_IO Configuration Parameter (UNIX)
DIRECTIVES configuration parameter
DISABLE_B162428_XA_FIX Configuration Parameter
DRDA_COMMBUFFSIZE Configuration Parameter
DRAUTO Configuration Parameter
DRIDXAUTO Configuration Parameter
DRINTERVAL configuration parameter
DRLOSTFOUND Configuration Parameter
DRTIMEOUT configuration parameter
DS_HASHSIZE Configuration Parameter
DS_MAX_QUERIES Configuration Parameter
DS_MAX_SCANS Configuration Parameter
DS_NONPDQ_QUERY_MEM configuration parameter
DS_POOLSIZE Configuration Parameter
DS_TOTAL_MEMORY configuration parameter
Algorithm for DS_TOTAL_MEMORY
AUTO_STAT_MODE configuration parameter
DUMPCNT Configuration Parameter (UNIX)
DUMPCORE Configuration Parameter (UNIX)
DUMPDIR Configuration Parameter
DUMPGCORE Configuration Parameter (UNIX)
DUMPSHMEM Configuration Parameter (UNIX)
DYNAMIC_LOGS Configuration Parameter
EILSEQ_COMPAT_MODE configuration parameter
ENABLE_SNAPSHOT_COPY Configuration Parameter
ENCRYPT_CIPHERS Configuration Parameter
ENCRYPT_HDR Configuration Parameter
ENCRYPT_MAC Configuration Parameter
ENCRYPT_MACFILE configuration parameter
ENCRYPT_SMX Configuration Parameter
ENCRYPT_SWITCH Configuration Parameter
EXPLAIN_STAT Configuration Parameter
EXT_DIRECTIVES Configuration Parameter
EXTSHMADD Configuration Parameter
FAILOVER_CALLBACK Configuration Parameter
FAILOVER_TX_TIMEOUT Configuration Parameter
FASTPOLL Configuration Parameter
FILLFACTOR configuration parameter
FULL_DISK_INIT Configuration Parameter
GSKIT_VERSION configuration parameter
HA_ALIAS Configuration Parameter
HETERO_COMMIT Configuration Parameter
IFX_EXTEND_ROLE Configuration Parameter
IFX_FOLDVIEW configuration parameter
LIMITNUMSESSIONS configuration parameter
LISTEN_TIMEOUT Configuration Parameter
LOCKS Configuration Parameter
LOGBUFF configuration parameter
LOGFILES configuration parameter
LOG_INDEX_BUILDS Configuration Parameter
LOG_STAGING_DIR Configuration Parameter
LOGSIZE configuration parameter
LOGSIZE for smart large objects
LOW_MEMORY_MGR configuration parameter
LOW_MEMORY_RESERVE configuration parameter
LTXEHWM Configuration Parameter
LTXHWM Configuration Parameter
MAX_FILL_DATA_PAGES Configuration Parameter
MAX_INCOMPLETE_CONNECTIONS Configuration Parameter
MAX_PDQPRIORITY Configuration Parameter
MIRROR Configuration Parameter
MIRROROFFSET Configuration Parameter
MIRRORPATH Configuration Parameter
MSG_DATE configuration parameter
MSGPATH configuration parameter
MULTIPROCESSOR Configuration Parameter
NET_IO_TIMEOUT_ALARM configuration parameter
NETTYPE Configuration Parameter
NS_CACHE configuration parameter
NUMFDSERVERS configuration parameter
OFF_RECVRY_THREADS configuration parameter
ON_RECVRY_THREADS Configuration Parameter
ONDBSPACEDOWN configuration parameter
Database Server Behavior When ONDBSPACEDOWN Does Not Apply
ONLIDX_MAXMEM Configuration Parameter
OPCACHEMAX Configuration Parameter (UNIX)
OPTCOMPIND configuration parameter
OPT_GOAL Configuration Parameter
PC_HASHSIZE Configuration Parameter
PC_POOLSIZE Configuration Parameter
PHYSBUFF Configuration Parameter
PHYSFILE Configuration Parameter
PLOG_OVERFLOW_PATH Configuration Parameter
PN_STAGEBLOB_THRESHOLD configuration parameter
PRELOAD_DLL_FILE Configuration Parameter
QSTATS Configuration Parameter
RA_PAGES configuration parameter
REMOTE_SERVER_CFG configuration parameter
REMOTE_USERS_CFG configuration parameter
RESIDENT configuration parameter
RESTARTABLE_RESTORE Configuration Parameter
RESTORE_POINT_DIR configuration parameter
ROOTNAME Configuration Parameter
ROOTOFFSET Configuration Parameter
ROOTPATH Configuration Parameter
ROOTSIZE configuration parameter
RSS_FLOW_CONTROL Configuration Parameter
RTO_SERVER_RESTART configuration parameter
S6_USE_REMOTE_SERVER_CFG configuration parameter
SBSPACENAME Configuration Parameter
SBSPACETEMP Configuration Parameter
SDS_ENABLE Configuration Parameter
SDS_LOGCHECK configuration parameter
SDS_PAGING Configuration Parameter
SDS_TEMPDBS Configuration Parameter
SDS_TIMEOUT Configuration Parameter
SECURITY_LOCALCONNECTION Configuration Parameter
SEQ_CACHE_SIZE configuration parameter
SERVERNUM configuration parameter
SHMADD configuration parameter
SHMBASE Configuration Parameter
SHMNOACCESS Configuration Parameter
SHMTOTAL configuration parameter
SHMVIRT_ALLOCSEG configuration parameter
SHMVIRTSIZE configuration parameter
SINGLE_CPU_VP configuration parameter
VPCLASS Values and the SINGLE_CPU_VP Configuration Parameter
SMX_COMPRESS Configuration Parameter
SP_AUTOEXPAND configuration parameter
SP_THRESHOLD Configuration Parameter
SP_WAITTIME Configuration Parameter
SQL_LOGICAL_CHAR Configuration Parameter
SQLTRACE Configuration Parameter
SSL_KEYSTORE_LABEL Configuration Parameter
STACKSIZE configuration parameter
STAGEBLOB Configuration Parameter
STATCHANGE configuration parameter
STMT_CACHE Configuration Parameter
STMT_CACHE_HITS Configuration Parameter
STMT_CACHE_NOLIMIT Configuration Parameter
STMT_CACHE_NUMPOOL Configuration Parameter
STMT_CACHE_SIZE Configuration Parameter
STOP_APPLY Configuration Parameter
STORAGE_FULL_ALARM Configuration Parameter
SYSALARMPROGRAM configuration parameter
SYSSBSPACENAME Configuration Parameter
TBLSPACE_STATS configuration parameter
TBLTBLFIRST configuration parameter
TBLTBLNEXT configuration parameter
TEMPTAB_NOLOG configuration parameter
TXTIMEOUT configuration parameter
UNSECURE_ONSTAT Configuration Parameter
UPDATABLE_SECONDARY Configuration Parameter
USELASTCOMMITTED Configuration Parameter
USEOSTIME Configuration Parameter
USTLOW_SAMPLE configuration parameter
VP_MEMORY_CACHE_KB Configuration Parameter
VPCLASS configuration parameter
WSTATS configuration parameter
USERMAPPING configuration parameter
The sysmaster database
The sysmaster Database
The buildsmi Script
The bldutil.sh Script
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
The System-Monitoring Interface Tables
The sysutils Tables
sysadtinfo
sysaudit
syschkio
syscheckpoint
syschunks
syscluster
syscmsm
syscmsmsla
syscmsmtab
syscompdicts_full
sysconfig
sysdatabases
sysdbslocale
sysdbspaces
sysdri
sysdual
sysenv
sysenvses
sysextents
sysextspaces
sysfeatures
sysha_lagtime Table
sysha_type
sysha_workload
sysipl
syslocks
syslogs
syslogfil table
sysmgminfo
sysnetclienttype
sysnetglobal
sysnetworkio table
sysonlinelog
sysprofile
sysproxyagents
sysproxydistributors
sysproxysessions table
sysproxytxnops table
sysproxytxns table
sysptprof table
sysrepevtreg table
sysrepstats table
User interface for sysrepstats and sysrepevtreg tables
sysrsslog
sysscblst
syssesappinfo
syssesprof
syssessions
syssmx
syssmxses
syssqexplain table
syssqltrace
syssqltrace_info
syssqltrace_iter
syssrcrss
syssrcsds
systabnames
systhreads
systrgrss
systrgsds
sysvpprof
The SMI Tables Map
Information from onstat in the SMI Tables
The sysadmin Database
The Scheduler Tables
The ph_task Table
The ph_run Table
The ph_group Table
The ph_alert Table
The ph_threshold Table
The Results Table
The command_history table
The storagepool table
Disk Structures and Storage
Dbspace Structure and Storage
Structure of the Root Dbspace
Reserved Pages
Structure of a Regular Dbspace
Structure of an Additional Dbspace Chunk
Structure of a Mirror Chunk
Structure of the Chunk Free-List Page
Structure of the Tblspace Tblspace
Tblspace Tblspace Entries
Tblspace Numbers
Structure of the Database Tblspace
Database Tblspace Entries
Structure and Allocation of an Extent
Extent Structure
Extent size
Page Types Within a Table Extent
Page Types Within an Index Extent
Next-Extent Allocation
Next-Extent Size
Extent size doubling
Lack of Contiguous Space
Merge of Extents for the Same Table
Structure and Storage of a Dbspace Page
Rows in Nonfragmented Tables
Definition of Rowid
Use of Rowids
Rows in Fragmented Tables
Access to Data in Fragmented Tables with Rowid
Recommendations on Use of Rowid
Data-Row Format and Storage
Storage of Row
Location of Rows
Page Compression
Structure of Fragmented Tables
Structure of B-Tree Index Pages
Definition of B-tree terms
Logical Storage of Indexes
Creation of Root and Leaf Nodes
Creation of branch nodes
Duplicate Key Values
Key-Value Locking
Adjacent Key Locking
Freed Index Pages
Filling Indexes
Calculating the Length of Index Items
Functional 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
Creation of Simple Large Objects
Deletion or Insertion of Simple Large Objects
Size Limits for Simple Large Objects
Blobspace Page Types
Structure of a Blobspace Blobpage
Sbspace Structure
Structure of the metadata area
Sbpage Structure
Multiple Chunk Sbspace
Time Stamps
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
Interpreting Logical-Log Records
About Logical-Log Records
Transactions That Drop a Table or Index
Transactions That Are Rolled Back
Checkpoints with Active Transactions
Distributed Transactions
Logical-Log Record Structure
Logical-Log Record Header
Logical-Log Record Types and Additional Columns
Log Record Types for Smart Large Objects
Administrative Utilities
Overview of Utilities
Obtaining Utility Version Information
IBM Informix Server Administrator
The genoncfg Utility
The oncheck Utility
oncheck Check-and-Repair
What Does Each Option Do?
Using the -y Option to Perform Repairs
Repairing Indexes in Sbspaces and External Spaces
Locking and oncheck
oncheck syntax
oncheck -cc and-pc: Check system catalog tables
oncheck -cd and oncheck -cD commands: Check pages
oncheck -ce, -pe: Check the chunk-free list
oncheck -ci and -cI: Check index node links
oncheck -cr and -cR: Check reserved pages
oncheck -cs, -cS, -ps, -pS: Check and display sbspaces
oncheck -pB: Display blobspace statistics
oncheck -pd and pD: Display rows in hexadecimal format
oncheck -pk, -pK, -pl, -pL: Display index information
oncheck -pp and -pP: Display the contents of a logical page
oncheck -pr and pR: Display reserved-page information
oncheck -pt and -pT: Display tblspaces for a table or fragment
Turn On Locking with -x
Send Special Arguments to the Access Method with -u
Return Codes on Exit
The onclean Utility
The onshutdown script
The oncmsm utility
Service Level Agreement Examples
Failover Configuration Examples
Proxy Mode and Redirect Mode
The ondblog Utility
ondblog: Change Logging Mode
ondblog Syntax
The oninit utility
Return codes for the oninit utility
The onlog Utility
The onmode utility
onmode Syntax
onmode -a: Add a shared-memory segment
onmode -BC: Allow large chunk mode
onmode -c: Force a checkpoint
onmode -C: Control the B-tree scanner
onmode -cache surrogates: Cache the allowed.surrogates file
onmode -d: Set data-replication types
Using the -d standard Option
Using the -d primary dbservername Option
Using the -d secondary dbservername Option
onmode -d: Set High Availability server characteristics
onmode -d command: Replicate an index with data-replication
onmode -D, -M, -Q, -S: Change decision-support parameters
onmode -e: Change usage of the SQL statement cache
onmode -F: Free unused memory segments
onmode -I: Control diagnostics collection
onmode -k, -m, -s, -u, -j: Change database server mode
Taking the Database Server to Offline Mode with the -k Option
Bringing the Database Server Online with the -m Option
Shutting Down the Database Server Gracefully with the -s Option
Shutting Down the Database Server Immediately with the -u Option
Changing the Database Server to Administration Mode with the -j Option
Changing Database Server Mode with ON-Monitor (UNIX)
onmode -l: Switch the logical-log file
onmode -n, -r: Change shared-memory residency
onmode -O: Override ONDBSPACEDOWN WAIT mode
onmode -p: Add or remove virtual processors
Adding and Dropping Virtual Processors
Dropping Virtual Processors Automatically
Monitoring poll threads with onstat
onmode -P: Start, stop, or restart a listen thread dynamically
onmode -R: Regenerate .infos File
onmode -W: Change settings for the SQL statement cache
SQL statement cache examples
onmode -wf, -wm: Dynamically change certain configuration parameters
onmode -wm: Change LRU tuning status
onmode -Y: Dynamically change SET EXPLAIN
onmode -z: Kill a database server session
onmode -Z: Kill a distributed transaction
The ON-Monitor Utility
Using ON-Monitor (UNIX)
Navigating ON-Monitor and Using Help
Executing Shell Commands Within ON-Monitor
ON-Monitor Screen Options
Setting Configuration Parameters in ON-Monitor
The onparams Utility
onparams Syntax
onparams -a -d dbspace: Add a logical-log file
onparams -d -l lognum: Drop a logical-log file
onparams -p: Change physical-log parameters
Backing Up After You Change the Physical-Log Size or Location
Changing the Size of the Physical Log and Using Non-Default Page Sizes
onparams -b: Add a new buffer pool
Examples of onparams Commands
The onpassword utility
Configuring secure connections using a password file
The ifxclone utility
The onspaces Utility
onspaces Syntax
onspaces -a: Add a chunk to a dbspace or blobspace
onspaces -a: Add a chunk to an sbspace
onspaces -c -b: Create a blobspace
onspaces -c -d: Create a dbspace
Creating a Temporary Dbspace with the -t Option
Specifying First and Next Extent Size for the tblspace tblspace
Specifying a Non-Default Page Size with the Same Size as the Buffer Pool
onspaces -c -S: Create an sbspace
Creating a Temporary Sbspace with the -t Option
Creating an Sbspace with the -Df option
Changing the -Df Settings
Using the onspaces -g option
onspaces -c -x: Create an extspace
onspaces -ch: Change sbspace default specifications
onspaces -cl: Clean up stray smart large objects in sbspaces
onspaces -d: Drop a chunk in a dbspace, blobspace, or sbspace
onspaces -d: Drop a blobspace, dbspace, extspace, or sbspace
onspaces -f: Specify DATASKIP parameter
onspaces -m: Start mirroring
Using a File to Specify Chunk-Location Information with the -f Option
onspaces -r: Stop mirroring
onspaces -ren: Rename a dbspace, blobspace, sbspace, or extspace
Renaming a Dbspace, Blobspace, Sbspace, or Extspace when Enterprise Replication Is Active
Performing an Archive after Renaming a Space
onspaces -s: Change status of a mirrored chunk
Avoid overwriting a chunk
The onstat utility
onstat Utility Commands Sorted by Functional Category
Monitor the database server status
onstat Command Syntax
onstat command: Equivalent to the onstat -pu command
onstat - command: Print output header
Subheader printed with the onstat - command
onstat – command: Print onstat options and functions
Running onstat Commands on a Shared Memory Dump File
onstat -a command: Print overall status of the database server
onstat -b command: Print buffer information for buffers in use
onstat -B command: Prints information about used buffers
onstat -c command: Print ONCONFIG file contents
onstat -C command: Print B–tree scanner information
onstat -d command: Print chunk information
onstat -D command: Print page-read and page-write information
onstat -f command: Print dbspace information affected by dataskip
onstat -F command: Print counts
onstat -g monitoring options
onstat -g act command: Print active threads
onstat -g afr command: Print allocated memory fragments
onstat -g all command: Print diagnostic information
onstat -g aqt command: Print data mart and accelerated query table information
onstat -g arc command: Print archive status
onstat -g ath command: Print information about all threads
onstat -g buf command: Print buffer pool profile information
onstat -g cat command: Print ER global catalog information
onstat -g cdr command: Print ER statistics
onstat -g cdr config command: Print ER settings
onstat -g ckp command: Print checkpoint history and configuration recommendations
onstat -g cluster command: Print high-availability cluster information
onstat -g cmsm command: Print Connection Manager information
onstat -g con command: Print condition and thread information
onstat -g cpu: Print runtime statistics
onstat -g dbc command: Print dbScheduler and dbWorker thread statistics
onstat -g ddr command: Print ER database log reader status
onstat -g defragment command: Print defragment partition extents
onstat -g dic command: Print table information
onstat -g dis command: Print database server information
onstat -g dsk command: Print the progress of the currently running compression operation
onstat -g dll command: Print dynamic link library file list
onstat -g dmp command: Print raw memory
onstat -g dri command: Print high-availability data replication information
onstat -g dsc command: Print distribution cache information
onstat -g dss command: Print ER environment data
onstat -g dtc command: Print delete table cleaner statistics
onstat -g env command: Print environment variable values
onstat -g ffr command: Print free fragments
onstat -g glo command: Print global multithreading information
onstat -g grp command: Print ER grouper statistics
onstat -g his command: Print SQL trace information
onstat -g ioa command: Print combined onstat -g information
onstat -g iob command: Print big buffer use summary
onstat -g iof command: Print asynchronous I/O statistics
onstat -g iog command: Print AIO global information
onstat -g ioq command: Print I/O queue information
onstat -g ipl command: Print index page logging status information
onstat -g iov command: Print AIO VP statistics
onstat -g lap command: Print light appends status information
onstat -g laq command: Print secondary server queues
onstat -g lmm command: Print low memory management information
onstat -g lmx command: Print all locked mutexes
onstat -g lsc command: Print active light scan status (deprecated)
onstat -g mem command: Print pool memory statistics
onstat -g mgm command: Print MGM resource information
onstat -g nbm command: Print a block bit map
onstat -g nif command: Print statistics about the network interface
onstat -g nsc command: Print current shared memory connection information
onstat -g nsd command: Print poll threads shared-memory data
onstat -g nss command: Print shared memory network connections status
onstat -g ntd command: Print network statistics
onstat -g ntm command: Print network mail statistics
onstat -g ntt command: Print network user times
onstat -g ntu command: Print network user statistics
onstat -g opn command: Print open partitions
onstat -g osi: Print operating system information
onstat -g pos command: Print file values
onstat -g ppd command: Print partition compression dictionary information
onstat -g ppf command: Print partition profiles
onstat -g pqs command: Print operators for all SQL queries
onstat -g prc command: Print sessions using UDR or SPL routine
onstat -g proxy command: Print proxy distributor information
onstat -g que command: Prints ER queue statistics
onstat -g qst command: Print wait options for mutex and condition queues
onstat -g rah command: Print read-ahead request statistics
onstat -g rbm command: Print a block map of shared memory
onstat -g rcv command: Print ER receive manager statistics
onstat -g rea command: Print ready threads
onstat -g rep command: Print ER schedule manager events
onstat -g rqm command: Print low-level queue statistics
onstat -g rss command: Print RS secondary server information
onstat -g rwm command: Print read and write mutexes
onstat -g sch command: Print VP information
onstat -g scn command: Print scan information
onstat -g sds command: Print SD secondary server information
onstat -g seg command: Print shared memory segment statistics
onstat -g ses command: Print session-related information
onstat -g sle command: Print all sleeping threads
onstat -g smb command: Print sbspaces information
onstat -g smx command: Print multiplexer group information
onstat -g spi command: Print spin locks with long spins
onstat -g sql command: Print SQL-related session information
onstat -g src command: Patterns in shared memory
onstat -g ssc command: Print SQL statement occurrences
onstat -g stk command: Print thread stack
onstat -g stm command: Print SQL statement memory usage
onstat -g stq command: Print queue information
onstat -g sts command: Print stack usage for each thread
onstat -g sym command: Print symbol table information for the oninit utility
onstat -g sync command: Print ER synchronization status
onstat -g tpf command: Print thread profiles
onstat -g ufr command: Print memory pool fragments
onstat -g vpcache command: Print CPU VP memory block cache statistics
onstat -g wai command: Print wait queue thread list
onstat -g wmx command: Print all mutexes with waiters
onstat -g wst command: Print wait statistics for threads
onstat -G command: Print TP/XA transaction information
onstat -h command: Print buffer header hash chain information
onstat -i command: Initiate interactive mode
onstat -j command: Provide onpload status information
onstat -k command: Print active lock information
onstat -l command: Print physical and logical log information
onstat -L command: Print the number of free locks
onstat -m command: Print recent system message log information
onstat -o command: Output shared memory contents to a file
onstat -O command: Print optical subsystem information
onstat -p command: Print profile counts
onstat -P command: Print partition information
onstat -r command: Repeatedly print selected statistics
onstat -R command: Print LRU, FLRU, and MLRU queue information
onstat -s command: Print latch information
onstat -t and onstat -T commands: Print tblspace information
onstat -u command: Print user activity profile
onstat -x command: Print database server transaction information
Determine the position of a logical-log record
Determine the mode of a global transaction
onstat -X command: Print thread information
onstat -z command: Clear statistics
Return codes on exiting the onstat utility
SQL Administration API
SQL Administration API Functions
SQL Administration API Overview
admin() and task() Function Syntax Behavior
admin() and task() Argument Size Specifications
admin() and task() Function Return Codes
SQL administration API portal: Arguments by functional category
add bufferpool argument: Add a buffer pool (SQL administration API)
add chunk argument: Add a new chunk (SQL administration API)
add log argument: Add a new logical log (SQL administration API)
add memory argument: Increase shared memory (SQL administration API)
add mirror argument: Add a mirror chunk (SQL administration API)
alter chunk argument: Change chunk status to online or offline (SQL administration API)
alter logmode argument: Change the database logging mode (SQL administration API)
alter plog argument: Change the physical log (SQL administration API)
archive fake argument: Perform an unrecorded backup (SQL administration API)
cdr argument: Administer Enterprise Replication (SQL administration API)
check data argument: Check data consistency (SQL administration API)
check extents argument: Check extent consistency (SQL administration API)
check partition argument: Check partition consistency (SQL administration API)
checkpoint argument: Force a checkpoint (SQL administration API)
clean sbspace argument: Release unreferenced smart large objects (SQL administration API)
create blobspace argument: Create a blobspace (SQL administration API)
create blobspace from storagepool argument: Create a blobspace from the storage pool (SQL administration API)
create chunk argument: Create a chunk (SQL administration API)
create chunk from storagepool argument: Create a chunk from the storage pool (SQL administration API)
create database argument: Create a database (SQL administration API)
create dbspace argument: Create a dbspace (SQL administration API)
create dbspace from storagepool argument: Create a dbspace from the storage pool (SQL administration API)
create sbspace argument: Create an sbspace (SQL administration API)
create sbspace from storagepool argument: Create an sbspace from the storage pool (SQL administration API)
create sbspace with accesstime argument: Create an sbspace that tracks access time (SQL administration API)
create sbspace with log argument: Create an sbspace with transaction logging (SQL administration API)
create tempdbspace argument: Create a temporary dbspace (SQL administration API)
create tempdbspace from storagepool argument: Create a temporary dbspace from the storage pool (SQL administration API)
create tempsbspace argument: Create a temporary sbspace (SQL administration API)
create tempsbspace from storagepool argument: Create a temporary sbspace from the storage pool (SQL administration API)
defragment argument: Dynamically defragment partition extents
drop blobspace argument: Drop a blobspace (SQL administration API)
drop blobspace to storagepool argument: Return space from an empty blobspace to the storage pool (SQL administration API)
drop chunk argument: Drop a chunk (SQL administration API)
drop chunk to storagepool argument: Return space from an empty chunk to the storage pool (SQL administration API)
drop database argument: Drop a database (SQL administration API)
drop dbspace argument: Drop a dbspace (SQL administration API)
drop dbspace to storagepool argument: Return space from an empty dbspace to the storage pool (SQL administration API)
drop log argument: Drop a logical log (SQL administration API)
drop sbspace argument: Drop an sbspace (SQL administration API)
drop sbspace to storagepool argument: Return space from an empty sbspace to the storage pool (SQL administration API)
drop tempdbspace argument: Drop a temporary dbspace (SQL administration API)
drop tempdbspace to storagepool argument: Return space from an empty temporary dbspace to the storage pool (SQL administration API)
drop tempsbspace to storagepool argument: Return space from an empty temporary sbspace to the storage pool (SQL administration API)
file status argument: Display the status of a message log file (SQL administration API)
ha make primary argument: Change the mode of a secondary server (SQL administration API)
ha rss argument: Create an RS secondary server (SQL administration API)
ha rss add argument: Add an RS secondary server to a primary server (SQL administration API)
ha rss change argument: Change the password of an RS secondary server (SQL administration API)
ha rss delete argument: Delete an RS secondary server (SQL administration API)
ha sds clear argument: Stop shared-disk replication (SQL administration API)
ha sds primary argument: Convert an SD secondary server to a primary server (SQL administration API)
ha sds set argument: Create a shared-disk primary server (SQL administration API)
ha set idxauto argument: Replicate indexes to secondary servers (SQL administration API)
ha set ipl argument: Log index builds on the primary server (SQL administration API)
ha set primary argument: Define an HDR primary server (SQL administration API)
ha set secondary argument: Define an HDR secondary server (SQL administration API)
ha set standard argument: Convert an HDR server into a standard server (SQL administration API)
ha set timeout argument: Change SD secondary server timeout (SQL administration API)
message log delete argument: Delete a message log file (SQL administration API)
message log rotate argument: Rotate the message log file (SQL administration API)
message log truncate argument: Delete the contents of a message log file (SQL administration API)
modify chunk extend argument: Extend the size of a chunk (SQL administration API)
modify chunk extendable argument: Mark a chunk as extendable (SQL administration API)
modify chunk extendable off argument: Mark a chunk as not extendable (SQL administration API)
modify space expand argument: Expand the size of a space (SQL administration API)
modify space sp_sizes argument: Modify the create or extend size of a storage space (SQL administration API)
onmode and a arguments: Add a shared-memory segment (SQL administration API)
onmode and c arguments: Force a checkpoint (SQL administration API)
onmode and C arguments: Control the B-tree scanner (SQL administration API)
onmode and d arguments: Set data-replication types (SQL administration API)
onmode and D arguments: Set PDQ priority (SQL administration API)
onmode and e arguments: Change usage of the SQL statement cache (SQL administration API)
onmode and F arguments: Free unused memory segments (SQL administration API)
onmode and j arguments: Switch the database server to administration mode (SQL administration API)
onmode and l arguments: Switch to the next logical log (SQL administration API)
onmode and m arguments: Switch to multi-user mode (SQL administration API)
onmode and M arguments: Temporarily change decision-support memory (SQL administration API)
onmode and n arguments: Unlock resident memory (SQL administration API)
onmode and O arguments: Mark a disabled dbspace as down (SQL administration API)
onmode and p arguments: Add or remove virtual processors (SQL administration API)
onmode and Q arguments: Set maximum number for decision-support queries (SQL administration API)
onmode and r arguments: Force residency of shared memory (SQL administration API)
onmode and S arguments: Set maximum number of decision-support scans (SQL administration API)
onmode and W arguments: Reset statement cache attributes (SQL administration API)
onmode and wf arguments: Permanently update a configuration parameter (SQL administration API)
onmode and wm arguments: Temporarily update a configuration parameter (SQL administration API)
onmode, wm, and AUTO_LRU_TUNING arguments: Change LRU tuning status (SQL administration API)
onmode and Y arguments: Change query plan measurements for a session (SQL administration API)
onmode and z arguments: Terminate a user session (SQL administration API)
onmode and Z arguments: Terminate a distributed transaction (SQL administration API)
onbar argument: Backup the storage spaces (SQL administration API)
onsmsync argument: Synchronize with the storage manager catalog (SQL administration API)
ontape archive argument: Backup the data on your database (SQL administration API)
print error argument: Print an error message (SQL administration API)
print file info argument: Display directory or file information (SQL administration API)
print partition argument: Print partition information (SQL administration API)
rename space argument: Rename a storage space (SQL administration API)
reset sysadmin argument: Move the sysadmin database (SQL administration API)
restart listen argument: Stop and start a listen thread dynamically (SQL administration API)
scheduler argument: Stop or start the scheduler (SQL administration API)
scheduler lmm enable argument: Specify automatic low memory management settings (SQL administration API)
scheduler lmm disable argument: Stop automatic low memory management (SQL administration API)
set chunk argument: Change the status of a chunk (SQL administration API)
set dataskip argument: Start or stop skipping a dbspace (SQL administration API)
set index compression argument: Change index page compression (SQL administration API)
set onconfig memory argument: Temporarily change a configuration parameter (SQL administration API)
set onconfig permanent argument: Permanently change a configuration parameter (SQL administration API)
set sbspace accesstime argument: Control access time tracking (SQL administration API)
set sbspace avg_lo_size argument: Set the average size of smart large objects (SQL administration API)
set sbspace logging argument: Change the logging of an sbspace (SQL administration API)
set sql tracing argument: Set global SQL tracing (SQL administration API)
set sql tracing database argument: Change database tracing (SQL administration API)
set sql tracing session argument: Control tracing for a session (SQL administration API)
set sql tracing user argument: Control tracing for users (SQL administration API)
set sql user tracing argument: Set global SQL tracing for a user session (SQL administration API)
start listen argument: Start a listen thread dynamically (SQL administration API)
start mirroring argument: Starts storage space mirroring (SQL administration API)
stop listen argument: Stop a listen thread dynamically (SQL administration API)
stop mirroring argument: Stops storage space mirroring (SQL administration API)
storagepool add argument: Add a storage pool entry (SQL administration API)
storagepool delete argument: Delete one storage pool entry (SQL administration API)
storagepool modify argument: Modify a storage pool entry (SQL administration API)
storagepool purge argument: Delete storage pool entries (SQL administration API)
Compress and Uncompress Operations (SQL administration API)
table or fragment arguments: Compress data and optimize storage (SQL administration API)
Output of the Estimate Compression Operation (SQL administration API)
purge compression dictionary arguments: Remove compression dictionaries (SQL administration API)
Appendixes
Files That the Database Server Uses
Database Server Files
Descriptions of Files
af.xxx
ac_msg.log
ac_config.std
bar_act.log
bldutil.process_id
buildsmi.out (UNIX) or buildsmi_out (Windows)
concdr.sh
.conf.dbservername
core
Emergency Boot Files for ON-Bar
gcore.xxx (UNIX)
illlsrra.xx
~/.informix
informix.rc (UNIX)
INFORMIXTMP
.inf.servicename
.infos.dbservername
.infxdirs
InstallServer.log (Windows)
ISM Catalog
ISM Logs
ISMversion
JVM_vpid file
JVPLOG
.jvpprops
Message Log
onconfig.std
The ONCONFIG File
onconfig
oncfg_servername.servernum
onsnmp.servername
onsrvapd.log
revcdr.sh
shmem.xxx (UNIX)
sm_versions.std
snmpd.log
sqlhosts
VP.servername.nnx
xbsa.messages
Troubleshooting errors
Collecting Diagnostics using onmode -I
Creating Tracepoints
Collecting data with the ifxcollect tool
Event Alarms
Using ALARMPROGRAM to Capture Events
Setting ALRM_ALL_EVENTS
Writing Your Own Alarm Script
Customizing the ALARMPROGRAM Scripts
Precautions for Foreground Operations in Alarm Scripts
Interpreting event alarm messages
Events in the ph_alert Table
Event Alarm Parameters
Event alarm IDs
Severity 5 event alarms
RS Secondary Server Event Alarms
SD Secondary Server Event Alarms
Discontinued configuration parameters
AFF_NPROCS (Discontinued)
AFF_SPROC (Discontinued)
BUFFERS (Discontinued)
FAST_RESTART_CKPT_FUZZYLOG (Discontinued)
FAST_RESTART_PHYSLOG (Discontinued)
JDKVERSION (Discontinued)
LBU_PRESERVE (Discontinued)
LOGSMAX (Discontinued)
LRU_MAX_DIRTY (Discontinued)
LRU_MIN_DIRTY (Discontinued)
LRUS (Discontinued)
NOAGE (Discontinued)
NUMAIOVPS (Discontinued)
NUMCPUVPS (Discontinued)
PHYSDBS (Discontinued)
RA_THRESHOLD configuration parameter (discontinued)
SB_CHECK_FOR_TEMP configuration parameter
Error Messages
How the Messages Are Ordered in This Chapter
How to View These Messages
Message Categories
Messages: A-B
Aborting Long Transaction: tx 0xn.
Affinitied VP mm to phys proc nn.
Affinity not enabled for this server.
Assert Failed: Error from SBSpace cleanup thread.
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.
Begin re-creating indexes deferred during recovery.
Building 'sysmaster' database requires ~mm pages of logical log. Currently there are nn pages available. Prepare to back up your logs soon.
Building 'sysmaster' database...
Messages: C
Cannot Allocate Physical-log File, mm wanted, nn available.
Cannot alter a table which has associated violations table.
Cannot change to mode.
Cannot Commit Partially Complete Transactions.
Cannot create a user-defined VP class with 'SINGLE_CPU_VP' non-zero.
Cannot create violations/diagnostics table.
Cannot insert from the violations table to the target table.
Cannot modify/drop a violations/diagnostics table.
Cannot Open Dbspace nnn.
Cannot Open Logical Log.
Cannot Open Mirror Chunk pathname, errorno = nn.
Cannot Open Primary Chunk pathname, errorno = nnn.
Cannot Open Primary Chunk chunkname.
Cannot open sysams in database name, iserrno number.
Cannot open sysdistrib in database name, iserrno number.
Cannot open system_table in database name, iserrno number.
Cannot open systrigbody in database name, iserrno number.
Cannot open systriggers in database name, iserrno number.
Cannot open sysxtdtypes in database name, iserrno number.
Cannot Perform Checkpoint, shut system down.
Cannot Restore to Checkpoint.
Cannot Rollback Incomplete Transactions.
Cannot update pagezero.
Cannot update syscasts in database name. Iserrno number.
Can’t affinity VP mm to phys proc nn.
Changing the sbspace minimum extent value: old value value1, new value value2.
Checkpoint blocked by down space, waiting for override or shutdown.
Checkpoint Completed: duration was n seconds.
Checkpoint Page Write Error.
Checkpoint Record Not Found in Logical Log.
Chunk chunkname added to space spacename.
Chunk chunkname dropped from space spacename.
Chunk number nn pathname -- Offline.
Chunk number nn pathname -- Online.
The chunk pathname must have READ/WRITE permissions for owner and group.
The chunk pathname must have owner-ID and group-ID set to informix.
The chunk pathname will not fit in the space specified.
Cleaning stray LOs in sbspace sbspacename.
Completed re-creating indexes.
Configuration has been grown to handle up to integer chunks.
Configuration has been grown to handle up to integer dbslices.
Configuration has been grown to handle up to integer dbspaces.
Continuing Long Transaction (for COMMIT): tx 0xn.
Could not disable priority aging: errno = number.
Could not fork a virtual processor: errno = number.
Create_vp: cannot allocate memory.
Messages: D-E-F
Dataskip is OFF for all dbspaces.
Dataskip is ON for all dbspaces.
Dataskip is ON for dbspaces: dbspacelist.
Dataskip will be turned {ON|OFF} for dbspacename.
DBSERVERALIASES exceeded the maximum limit of 32
DBSPACETEMP internal list not initialized, using default.
The DBspace/BLOBspace spacename is now mirrored.
The DBspace/BLOBspace spacename is no longer mirrored.
Dbspace dbspacename for Physical-log File not found.
devname: write failed, file system is full.
Dropping temporary tblspace 0xn, recovering nn pages.
Dynamically allocated new shared memory segment (size nnnn).
ERROR: NO "wait for" locks in Critical Section.
Error building sysmaster database. See outfile.
Error in dropping system defined type.
Error in renaming systdist.
Error removing sysdistrib row for tabid = tabid, colid = colid in database name. iserrno = number
Error writing pathname errno = number.
Error writing shmem to file filename (error). Unable to create output file filename errno=mm.Error writing filename errno=nn.
Fail to extend physical log space.
Fatal error initializing CWD string. Check permissions on current working directory. Group groupname must have at least execute permission on '.'.
The following tables have outstanding old version data pages due to an In-Place Alter Table. Perform UPDATE tablename SET column = column WHERE 1=1; to clear these pages from the following tables.
Fragments dbspacename1 dbspacename2 of table tablename set to non-resident.
Forced-resident shared memory not available.
Freed mm shared-memory segment(s) number bytes.
Messages: G-H-I
gcore pid; mv core.pid dir/core.pid.ABORT.
I/O function chunk mm, pagenum nn, pagecnt aa --> errno = bb.
I/O error, primary/mirror Chunk pathname -- Offline (sanity).
Informix database_server Initialized - Complete Disk Initialized.
Informix database_server Initialized - Shared Memory Initialized.
Informix database_server Stopped.
ERROR: Insufficient available disk in the root dbspace to increase the entire Configuration save area.
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.
Internal overflow of shmid's, increase system max shared memory segment size.
Messages: J-K-L-M
Listener-thread err = error_number: error_message.
Lock table overflow - user id mm session id nn.
Logical-log File not found.
Logical Log nn Complete.
Logical logging vberror for type:subtype in (failed_system).
Log Record: log = ll, pos = 0xn, type = type:subtype(snum), trans = xx
Log record (type:subtype) at log nn, 0xn was not undone.
Log record (type:subtype) failed, partnum pnum row rid iserrno num.
Log record (type:subtype) in log nn, offset 0xn was not rolled back.
Logical Recovery allocating nn worker threads thread_type.
Logical Recovery Started.
Maximum server connections number.
Memory allocation error.
Mirror Chunk chunkname added to space spacename. Perform manual recovery.
Mixed transaction result. (pid=nn user=userid).
mt_shm_free_pool: pool 0xn has blocks still used (id nn).
mt_shm_init: can’t create resident/virtual segment.
mt_shm_remove: WARNING: may not have removed all/correct segments.
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.
Not enough main memory.
Not enough logical-log files, Increase LOGFILES.
Not enough physical procs for affinity.
The number of configured CPU poll threads exceeds NUMCPUVPS.
onconfig parameter parameter modified from old_value to new_value.
oninit: Cannot have SINGLE_CPU_VP non-zero and number of CPU VPs greater than 1.
oninit: Cannot have SINGLE_CPU_VP non-zero and user-defined VP classes.
oninit: Cannot mix VPCLASS cpu and NUMCPUVPS, AFF_SPROC, AFF_NPROCS, or NOAGE parameters.
oninit: Cannot mix VPCLASS aio and NUMAIOVPS parameters.
oninit: Fatal error in initializing ASF with 'ASF_INIT_DATA' flags asfcode = '25507'.
oninit: invalid or missing name for Subsystem Staging Blobspace.
Cannot alter a table which has associated violations table.
oninit: Too many VPCLASS parameters specified.
oninit: VPCLASS classname bad affinity specification.
oninit: VPCLASS classname duplicate class name.
oninit: VPCLASS classname illegal option.
oninit: VPCLASS classname maximum number of VPs is out of the range 0-10000.
oninit: VPCLASS classname name is too long. Maximum length is maxlength.
oninit: VPCLASS classname number of VPs is greater than the maximum specified.
oninit: VPCLASS classname number of VPs is out of the range 0-10000.
onmode: VPCLASS classname name is too long. Maximum length is maxlength.
Optical Subsystem is running.
Optical Subsystem is not running.
Optical Subsystem STARTUP Error.
Online Mode.
onspaces: unable to reset dataskip.
Open transaction detected when changing log versions.
Out of message shared memory.
Out of resident shared memory.
Out of virtual shared memory.
PANIC: Attempting to bring system down.
Participant site database_server heuristically rolled back.
Physical recovery complete: number pages examined, number pages restored.
Physical recovery started at page (chunk:offset).
Portions of partition partnum of table tablename in database dbname were not logged. This partition cannot be rolled forward.
Possible mixed transaction result.
Prepared participant site server_name did not respond.
Prepared participant site server_name not responding.
Messages: Q-R-S
Quiescent Mode.
Read failed. Table name, Database name, iserrno = number
Recovery Mode.
Recreating index: 'dbsname:"owner".tabname-idxname'.
Rollforward of log record failed, iserrno = nn.
Root chunk is full and no additional pages could be allocated to chunk descriptor page.
scan_logundo: subsys ss, type tt, iserrno ee.
Session completed abnormally. Committing tx id 0xm, flags 0xn.
Session completed abnormally. Rolling back tx id 0xm, flags 0xn.
semctl: errno = nn.
semget: errno = nn.
shmat: some_string os_errno: os_err_text.
shmctl: errno = nn.
shmdt: errno = nn.
shmem sent to filename.
shmget: some_str os_errno: key shmkey: some_string.
Shutdown (onmode -k) or override (onmode -O).
Shutdown Mode.
Space spacename added.
Space spacename dropped.
Space spacename -- Recovery Begins(addr).
Space spacename -- Recovery Complete(addr).
Space spacename -- Recovery Failed(addr).
sysmaster database built successfully.
Successfully extend physical log space
Messages: T-U-V
This ddl operation is not allowed due to deferred constraints pending on this table and dependent tables.
This type of space does not accept log files.
TIMER VP: Could not redirect I/O in initialization, errno = nn.
Too Many Active Transactions.
Too many violations.
Transaction Not Found.
Transaction heuristically rolled back.
Transaction table overflow - user id nn, process id nn.
Unable to create output file filename errno = nn.
Unable to extend nn reserved pages for purpose in root chunk.
Unable to initiate communications with the Optical Subsystem.
Unable to start SQL engine.
Unable to open tblspace nn, iserrno = nn.
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.
Violations table is not started for the target table.
Violations table reversion test completed successfully.
Violations table reversion test failed.
Violations table reversion test start.
Violations tables still exist.
Virtual processor limit exceeded.
VPCLASS classname name is too long. Maximum length is maxlength.
VPCLASS classname duplicate class name.
VPCLASS classname Not enough physical procs for affinity.
Messages: W-X-Y-Z
WARNING: aio_wait: errno = nn.
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.
warning: Chunk time stamps are invalid.
Warning: name_old is a deprecated onconfig parameter. Use name_new instead. See the release notes and the Informix Administrator's Reference for more information.
Warning: name_old is a deprecated onconfig parameter. Use name_new instead.
Warning: Unable to allocate requested big buffer of size nn.
You are turning off smart large object logging.
Messages: Symbols
HH:MM:SS Informix database server Version R.VV.PPPPP Software Serial Number RDS#XYYYYYY.
argument: invalid argument.
function_name: cannot allocate memory.
Conversion/Reversion Messages
Messages: A-C
Cannot revert constraint with id id (in syschecks).
Cannot revert new fragment expression for index index, tabid id.
Cannot revert new table fragment expression for table with id id.
Cannot update page zero.
Checking database name for revertibility.
Conversion of pre 7.3 in-place alter started status.
Conversion of pre 9.2 database tblspaces status.
The conversion of the database name has failed.
Converting database name...
Converting in-place alters to new format.
Converting 'onpload' database...
Converting partition header from version 7.x.
Converting partition header page address.
Converting partition header pages status.
Converting partition keys to 9.2.
Converting partition name for databasename:tablename.
Messages: D-F
The database name has been converted successfully.
Database name is not revertible...
Database name is revertible...
Database name: Must drop trigger (id = id_number).
Database name SUCCESSFULLY reverted...
... dropping sysmaster database.
The dummy updates failed while converting database name. This may imply data corruption in the database. If so, restore the original database with the tape backup. For more information, see output_file.
The dummy updates succeeded while converting database name.
Error in slow altering a system table.
External conversion aborted due to incompatible sysmaster database.
Messages: I-P
Internal server error.
Must drop long identifiers in table name in database name
Must drop new database (name) before attempting reversion. Iserrno error_number
Must drop new user defined statistics in database name, iserrno number
ON-Bar conversion completed successfully.
ON-Bar conversion failed see /tmp/bar_conv.out.
ON-Bar conversion start:
ON-Bar reversion completed successfully.
ON-Bar reversion failed see /tmp/bar_rev.out.
ON-Bar reversion start:
ON-Bar reversion test completed successfully.
ON-Bar reversion test start:
'onpload' conversion completed successfully.
'onpload' conversion failed. For details, look in $INFORMIXDIR/etc/conpload.out.
...'onpload' reversion completed successfully.
...'onpload' reversion failed. For details, look in $INFORMIXDIR/etc/revpload.out.
'onpload' reversion test completed successfully.
'onpload' reversion test start:
The pload database contains load/unload jobs referring to long table names, column names, or database names. These jobs will not work as expected until they are redefined.
Messages: R-W
...reverting 'onpload' database.
Reverting partition header from version 9.2.
Reverting partition header page address.
Reverting partition header pages status.
Reverting partition keys to pre 9.2.
Reverting partition name for databasename:tablename.
... reverting reserved pages.
... reverting tables that underwent In-Place Alter.
R-tree error message conversion completed successfully.
R-tree error message conversion failed. (See /tmp/conrtree.out or %TMP%\conrtree.out)
R-tree error message conversion started.
Reversion canceled.
Reversion complete. Install IBM Informix database server version before restarting.
Reversion of database name FAILED
...reverting 'syscdr' database.
...starting reversion of database name.
There is a semi-detached index in this table, which cannot be reverted. Drop this index, and retry reversion.
Unable to read reserved page chunk:offset - reserved_page.
WARNING: Target server version must have a certified Storage Manager installed after conversion/reversion and before bringing up server.
Conversion and Reversion Messages for Enterprise Replication
CDR reversion test completed successfully.
CDR reversion test failed; for details look in $INFORMIXDIR/etc/revtestcdr.out.
Enterprise Replication is not ready for conversion. The Control and TRG send queues should be empty for conversion/reversion to proceed.
Enterprise Replication is not ready for conversion. The syscdr database should NOT contain old-style group definitions for conversion to succeed.
Enterprise Replication should be in a stopped state for conversion/reversion to proceed.
Reversion of ‘syscdr’ failed; for details look in $INFORMIXDIR/etc/revcdr.out.
Starting CDR reversion test...
Starting 'syscdr' conversion...
Starting ‘syscdr’ reversion...
'syscdr' conversion completed successfully.
'syscdr' conversion failed. For details, look in $INFORMIXDIR/etc/concdr.out.
Syscdr should NOT contain new replicate sets for reversion to succeed.
Syscdr should not contain replicates defined with the --floatieee option for reversion to succeed.
Dynamic Log Messages
Dynamically added log file logid to DBspace dbspace_number.
Log file logid added to DBspace dbspace_number.
Log file number logid has been dropped from DBspace dbspace_number.
Log file logid has been pre-dropped.
Pre-dropped log file number logid has been deleted from DBspace dbspace_number.
ALERT: Because the oldest logical log (logid) contains records from an open transaction (transaction_address), the server is attempting to dynamically add a log file. But there is no space available. Please add a DBspace or chunk. Then complete the transaction as soon as possible.
ALERT: The oldest logical log (logid) contains records from an open transaction (transaction_address). Logical logging will remain blocked until a log file is added. Add the log file with the onparams -a command, using the -i (insert) option, as in: onparams -a -d dbspace -s size -i. Then complete the transaction as soon as possible.
Log file logid has been pre-dropped. It will be deleted from the log list and its space can be reused once you take level-0 archives of all BLOBspaces, Smart BLOBspaces and non-temporary DBspaces.
Sbspace Metadata Messages
Allocated number pages to Metadata from chunk number.
Allocated number pages to Userdata from chunk number.
Freeing reserved space from chunk number to Metadata.
Freeing reserved space from chunk number to Userdata.
Truncate Table Messages
The table cannot be truncated if it has an open cursor or dirty readers.
The table cannot be truncated. It has at least one non-empty child table with referential constraints.
Limits in IBM Informix Dynamic Server
Limitations on UNIX Operating Systems
System-Level Parameter Limits (UNIX)
Table-Level Parameter Limits (UNIX)
Access capabilities (UNIX)
IBM Informix System Defaults (UNIX)
ON-Monitor Statistics (UNIX)
Limitations on Windows Operating Systems
System-Level Parameter Limits (Windows)
Table-Level Parameter Limits (Windows)
Access Capabilities (Windows)
IBM Informix System Defaults (Windows)
DB-Access User's Guide
What's new in DB-Access for IBM Informix, Version 11.70
Getting started with DB-Access
What is DB-Access?
Using DB-Access
Set up DB-Access
Pre-DB-Access installation
Environment variables
Create and work with the demonstration databases
Demonstration databases
Demonstration installation
Preparing a demonstration database
Command-line syntax
Privileges for the demonstration database
Permissions for the SQL command files
Start DB-Access
Start the DB-Access menu interface
Display the main menu
Display other menus or options
Menu suboptions
CONNECTION menu options
DATABASE menu options
QUERY-LANGUAGE menu options
TABLE menu options
Examples of command-line syntax
Execute a command file
View the information Schema
Check for ANSI compliance
Check the scale of DECIMAL(p) values
Activate the XLUF feature for nonprintable characters
DB-Access interactively in non-menu mode
Read from the keyboard or standard input device
Interactive input
Batch command input on UNIX platforms
Connect to a database environment in non-menu mode
Connect in interactive non-menu mode
Connect with a file or shell file in background mode
The full-screen menu interface
The DB-Access user interface
The keyboard with DB-Access
Menus
Choose a menu option
Exit a menu screen
The response screens
Read the screen header
Select or enter values on the screen
Exit a response screen
The HELP screen
An editor screen
Alternative approaches
Database-level tasks
Table-level tasks
The Query-language option
Overview of the SQL menu
A system editor
The Query-language option
Enter a new SQL statement
The editing keys
Editing restrictions
Run an SQL statement
Statements that the Run option supports
View successful results
What happens when errors occur
Modify an SQL statement
Redirect query results
Send output to a printer
Send output to a file
The New-file option
The Append-file option
Send output to a pipe
Choose an existing SQL statement
Save the current SQL statement
Display table information
Drop an SQL statement
Support for SPL Routines
The Database option
Select a database menu option
Select a database
List of available databases
Specify a database
Create a database
Specify a dbspace
Specify logging
Exit the CREATE DATABASE menu
Display database information
Retrieve information about dbspaces
Retrieve nondefault locale information
Retrieve information about routines
Select a different database
Delete a database
The DROP DATABASE screen
Confirm your decision to delete a database
Close a database
The Table option
The TABLE menu
Create or alter a table
The CREATE TABLE screen
The ALTER TABLE screen
The Schema Editor
Add columns to a table (Add option)
Column name
Column data type
Locale character data
Large object storage location
Data length or range
Column index
Column index fill factor
Null value permission
Build the table (Exit option)
Modifying columns (Modify option)
Deleting columns (Drop option)
Arrange storage and locking (Table_options)
Select dbspaces
Fragmenting a new table
Round-robin setup
Expression strategy setup
Alter fragmentation for an existing table
Attach a dbspace
Detach a dbspace
Fragment an existing table
Set the extent size
Determine the lock mode
Add or drop rowids
Define constraints
Define primary-key constraints
Define foreign-key constraints
Define check constraints
Define unique constraints
Data validation
Define default values
Data validation
Display table information
Display column information
DB-Access data types
Large objects
Extended data types in Informix
Opaque data types
Collection types
Row types
Display index information
Display table-level privileges
Display references privileges
Display column constraints and defaults
Display referential constraints
Sample primary and check constraint displays
Display triggers
Display fragmentation information
Drop a table
The Connection and Session options
Overview of Connection and Session options
Choose the Connection option
Connect to a database environment
Permissions needed
Implicit closures
Disconnect from a database environment
Transaction processing
Choose the session option
Appendixes
How to read online help for SQL statements
Demonstration SQL
SQL files for the Relational database model
The alt_cat.sql command file
The c_calls.sql command file
The c_cat.sql command file
The c_custom.sql command file
The c_index.sql command file
The c_items.sql command file
The c_manuf.sql command file
The c_orders.sql file
The c_proc.sql command file
The c_state command file
The c_stock.sql command file
The c_stores.sql command file
The c_table.sql command file
The c_trig.sql command file
The c_type.sql command file
The c_view1.sql command file
The c_view2.sql command file
The d_proc.sql command file
The d_trig.sql command file
The d_view.sql command file
The del_stock.sql command file
The ins_table.sql command file
The opt_disk.sql command file
The sel_agg.sql command file
The sel_all.sql command file
The sel_group.sql command file
The sel_join.sql command file
The sel_ojoin1.sql command file
The sel_ojoin2.sql command file
The sel_ojoin3.sql command file
The sel_ojoin4.sql command file
The sel_order.sql command file
The sel_sub.sql command file
The sel_union.sql command file
The upd_table.sql command file
SQL files for the Dimensional Database Model
The createdw.sql file
The loaddw.sql file
User-defined routines for the Object-relational database model
Performance Guide
What's new in performance for Informix, version 11.70
Performance basics
Developing a basic approach to performance measurement and tuning
Quick start for acceptable performance on a small database
Performance goals
Measurements of performance
Throughput
Ways to measure throughput
Standard throughput benchmarks
Response time
Response time and throughput
Response-time measurement
Operating-system timing commands
Operating-system tools for monitoring performance
Timing functions within your application
Cost per transaction
Resource utilization and performance
Resource utilization
CPU utilization
Memory utilization
Disk utilization
Factors that affect resource utilization
Maintenance of good performance
Performance monitoring and the tools you use
Evaluate the current configuration
Create a performance history
The importance of a performance history
Tools that create a performance history
Operating-system tools
Database server tools
Performance information that IBM Informix Server Administrator provides
Performance information that the onstat utility displays
Monitor performance with the OpenAdmin Tool (OAT) for Informix
Monitor database server resources
Monitor resources that impact CPU utilization
Monitor memory utilization
Monitor disk I/O utilization
Using onstat -g to monitor I/O utilization
Using ISA to monitor I/O utilization
Using the oncheck utility to monitor I/O utilization
Monitor transactions
Using the onlog utility to monitor transactions
Using the onstat utility to monitor transactions
Using ISA to monitor transactions
Monitor sessions and queries
Monitoring memory usage for each session
Using the SET EXPLAIN statement
Effect of configuration on CPU utilization
UNIX configuration parameters that affect CPU utilization
UNIX semaphore parameters
UNIX file-descriptor parameters
UNIX memory configuration parameters
Windows configuration parameters that affect CPU utilization
Configuration parameters and environment variables that affect CPU utilization
Specifying virtual processor class information
Setting the number of CPU VPs
Disabling process priority aging for CPU VPs
Specifying processor affinity
Distributing computation impact
Isolating AIO VPs from CPU VPs
Avoiding a certain CPU
Setting the number of AIO VPs
Setting the MULTIPROCESSOR configuration parameter when using multiple CPU VPs
Setting the SINGLE_CPU_VP configuration parameter when using one CPU VP
Optimizing access methods
Setting the value of OPTCOMPIND within a session
Limiting PDQ resources in queries
Limiting the performance impact of CPU-intensive queries
Limiting the number of PDQ scan threads that can run concurrently
Configuring poll threads
Specifying the connection protocol
Specifying virtual-processor classes for poll threads
Specifying the number of connections and poll threads
Improve connection performance and scalability
Enabling fast polling
Network buffer pools
Network buffers
Support for private network buffers
Network buffer size
Virtual processors and CPU utilization
Adding virtual processors
Automatic addition of CPU virtual processors
Monitoring virtual processors
Using some onstat-g commands to monitor virtual processors
Monitor virtual processors with the onstat-g glo command
Monitor virtual processors with the onstat-g rea command
Monitor virtual processors with the onstat-g ioq command
Using ISA to monitor virtual processors
Using SMI tables to monitor virtual processors
CPU virtual processor memory caches
Enabling private memory caches
Obtaining CPU VP memory block cache statistics
Connections and CPU utilization
Multiplexed connections and CPU utilization
MaxConnect for multiple connections UNIX
Effect of configuration on memory utilization
Shared memory
Resident portion of shared memory
Virtual portion of shared memory
Message portion of shared memory
Estimating the size of the resident portion of shared memory
Estimating the size of the virtual portion of shared memory
Estimating the size of the message portion of shared memory
Configuring UNIX shared memory
Freeing shared memory with onmode -F
Configuration parameters that affect memory utilization
Setting the size of the buffer pool, logical-log buffer, and physical-log buffer
The BUFFERPOOL configuration parameter and memory utilization
64-Bit addressing and buffers
Smart large objects and buffers
Monitoring buffers
The DS_TOTAL_MEMORY configuration parameter and memory utilization
Algorithm for determining DS_TOTAL_MEMORY
Deriving a minimum for decision-support memory
Deriving a working value for decision-support memory
When the DS_TOTAL_MEMORY configuration parameter is set
When the DS_TOTAL_MEMORY configuration parameter is not set
Checking the derived value for decision-support memory
The LOGBUFF configuration parameter and memory utilization
The LOW_MEMORY_RESERVE configuration parameter and memory utilization
The PHYSBUFF configuration parameter and memory utilization
The LOCKS configuration parameter and memory utilization
The RESIDENT configuration parameter and memory utilization
The SHMADD and EXTSHMADD configuration parameters and memory utilization
The SHMTOTAL configuration parameter and memory utilization
The SHMVIRTSIZE configuration parameter and memory utilization
The SHMVIRT_ALLOCSEG configuration parameter and memory utilization
The STACKSIZE configuration parameter and memory utilization
Configuration parameters that affect memory caches
Data-dictionary cache
Data-dictionary configuration
Monitoring the data-dictionary cache
Data-distribution cache
Data-distribution configuration
Monitoring the data-distribution cache
SQL statement cache
Prepared statements and the statement cache
SQL statement cache configuration
Monitoring and tuning the SQL statement cache
Number of SQL statement executions
Monitoring the number of hits on the SQL statement cache
Determining the number of nonshared entries in the SQL statement cache
Monitoring and tuning the size of the SQL statement cache
Changing the size of the SQL statement cache
Too many single-use queries in the SQL statement cache
Memory limit and size
Multiple SQL statement cache pools
Number of SQL statement cache pools
Size of SQL statement cache pools and the current cache
SQL statement cache information in onstat -g ssc output
UDR cache
Session memory
Data-replication buffers and memory utilization
Memory latches
Monitoring latches with command-line utilities
Monitoring latches with onstat -p
Monitoring latches with onstat -s
Monitoring latches with ISA
Monitoring latches with SMI tables
Encrypted values
Effect of configuration on I/O activity
Chunk and dbspace configuration
Associate disk partitions with chunks
Associate dbspaces with chunks
Placing system catalog tables with database tables
I/O for cooked files for dbspace chunks
Direct I/O (UNIX)
Direct I/O (Windows)
Concurrent I/O (AIX only)
Enabling the direct I/O or concurrent I/O option (UNIX)
Confirming the use of the direct or concurrent I/O option (UNIX)
Placement of critical data
Consider separate disks for critical data components
Consider mirroring for critical data components
Consider mirroring the root dbspace
Consider mirroring smart-large-object chunks
Mirroring and its effect on the logical log
Mirroring and its effect on the physical log
Configuration parameters that affect critical data
Configure dbspaces for temporary tables and sort files
Creating temporary dbspaces
Specify temporary tables in the DBSPACETEMP configuration parameter
Override the DBSPACETEMP configuration parameter for a session
Estimating temporary space for dbspaces and hash joins
PSORT_NPROCS environment variable
Configure sbspaces for temporary smart large objects
Creating temporary sbspaces
SBSPACETEMP configuration parameter
Placement of simple large objects
Advantage of blobspaces over dbspaces
Blobpage size considerations
Optimize blobspace blobpage size
Obtain blobspace storage statistics
Determine blobpage fullness with oncheck -pB output
Interpreting blobpage average fullness
Analyzing efficiency criteria with oncheck -pB output
Factors that affect I/O for smart large objects
Disk layout for sbspaces
Configuration parameters that affect sbspace I/O
onspaces options that affect sbspace I/O
Sbspace extents
Lightweight I/O for smart large objects
Advantages of lightweight I/O for smart large objects
Specifying lightweight I/O for smart large objects
Logging
How the Optical Subsystem affects performance
Environment variables and configuration parameters for the Optical Subsystem
STAGEBLOB, an Optical Subsystem configuration parameter
OPCACHEMAX, an Optical Subsystem configuration parameter
INFORMIXOPCACHE, an Optical Subsystem environment variable
Table I/O
Sequential scans
Light scans
Unavailable data
Configuration parameters that affect table I/O
How DATASKIP affects table I/O
Background I/O activities
Configuration parameters that affect checkpoints
RTO_SERVER_RESTART and its effect on checkpoints
Automatic checkpoints, LRU tuning, and AIO virtual processor tuning
CKPTINTVL and its effect on checkpoints
LOGSIZE and LOGFILES and their effect on checkpoints
PHYSFILE and its effect on checkpoints
How checkpoints affect the physical log
ONDBSPACEDOWN and its effect on checkpoints
Configuration parameters that affect logging
LOGBUFF and PHYSBUFF and their effect on logging
LOGFILES and its effect on logging
Calculating the space allocated to logical log files
LOGSIZE and its effect on logging
Estimating logical-log size when logging dbspaces
Estimating the logical-log size when logging simple large objects
Estimating the logical-log size when logging smart large objects
DYNAMIC_LOGS and its effect on logging
LTXHWM and LTXEHWM and their effect on logging
TEMPTAB_NOLOG and its effect on logging
Configuration parameters that affect page cleaning
CLEANERS and its effect on page cleaning
BUFFERPOOL its effect on page cleaning
RTO_SERVER_RESTART and its effect on page cleaning
Configuration parameters that affect backup and restore
ON-Bar configuration parameters
ontape configuration parameters (UNIX)
Configuration parameters that affect rollback and recovery
OFF_RECVRY_THREADS and ON_RECVRY_THREADS and their effect on fast recovery
PLOG_OVERFLOW_PATH and its effect on fast recovery
RTO_SERVER_RESTART and its effect on fast recovery
The LOW_MEMORY_RESERVE configuration parameter and memory utilization
Configuration parameters that affect data replication and auditing
Configuration parameters that affect data replication
Configuration parameters that affect auditing
LRU tuning
Table performance considerations
Placing tables on disk
Isolating high-use tables
Placing high-use tables on middle partitions of disks
Using multiple disks
Using multiple disks for a dbspace
Using multiple disks for logical logs
Spreading temporary tables and sort files across multiple disks
Backup and restore considerations
Factors affecting the performance of nonfragmented tables and table fragments
Estimating table size
Estimating data pages
Estimating tables with fixed-length rows
Estimating tables with variable-length rows
Selecting an intermediate value for the size of the table
Estimating pages that simple large objects occupy
Storing simple large objects in the tblspace or a separate blobspace
Estimating tblspace pages for simple large objects
Managing the size of first and next extents for the tblspace tblspace
Managing sbspaces
Estimating pages that smart large objects occupy
Estimating the size of the sbspace and metadata area
Sizing the metadata area manually for a new chunk
Example of calculating the metadata area for a new chunk
Improving metadata I/O for smart large objects
Monitoring sbspaces
Monitoring sbspaces with oncheck -cS
Monitoring sbspaces with oncheck -pe
Monitoring sbspaces with oncheck -pS
Monitoring sbspaces with onstat -g smb
Changing storage characteristics of smart large objects
Altering Ssmart-large-object columns
Managing extents
Choosing table extent sizes
Extent sizes for tables in a dbspace
Extent sizes for table fragments
Extent sizes for smart large objects in sbspaces
Monitoring active tblspaces
Monitoring the upper limit on extents and extent interleaving
Considering the upper limit on extents
Checking for extent interleaving
Eliminating interleaved extents
Reorganizing dbspaces and tables to eliminate extent interleaving
Creating or altering an index to cluster
Using ALTER TABLE to eliminate extent interleaving
Reclaiming unused space within an extent
Reclaiming space in an empty extent with ALTER INDEX
Reclaiming space in an empty extent by unloading and re-creating or reloading a table
Releasing space in an empty extent with ALTER FRAGMENT
Managing extent deallocation with the TRUNCATE keyword
Defragment partitions to merge extents
Storing multiple table fragments in a single dbspace
Displaying a list of table and index partitions
Changing tables to improve performance
loading and unloading tables
Advantages of logging tables
Advantages of nonlogging tables
Quickly loading a large standard table
Quickly loading a new nonlogging table
Dropping indexes for table-update efficiency
Attaching or detaching fragments
Altering a table definition
Slow alter
In-place alter
When the database server uses the in-place alter algorithm
Performance considerations for DML statements
Performance considerations for DDL statements
Alter operations that do not use the in-place alter algorithm
Altering a column that is part of an index
Fast alter
Denormalize the data model to improve performance
Shortening rows
Expelling long strings
Convert CHAR columns into VARCHAR columns to shorten rows (GLS)
Convert a long string to a TEXT data type column
Move strings to a companion table
Build a symbol table
Splitting wide tables
Redundant data
Adding redundant data
Reduce disk space in tables with variable length rows
Reduce disk space by compressing tables and fragments
Indexes and index performance considerations
Types of indexes
B-tree indexes
Structure of conventional index pages
Forest of trees indexes
R-tree indexes
Indexes that DataBlade modules provide
Estimating index pages
Index extent sizes
Formula for estimating the extent size of an attached index
Formula for estimating the extent size of a detached index
Estimating conventional index pages
Managing indexes
Space costs of indexes
Time costs of indexes
Unclaimed index space
Indexes on columns
Filtered columns in large tables
Order-by and group-by columns
Avoiding columns with duplicate keys
Clustering
Configuration parameters that affect the degree of clustering
Nonunique indexes
Improve query performance with a forest of trees index
Detecting root node contention
Creating a forest of trees index
Disabling and enabling a forest of trees index
Performing a range scan on a forest of trees index
Determining if you are using a forest of trees index
Finding the number of hashed columns and subtrees in a forest of trees index
Creating and dropping an index in an online environment
When you cannot create or drop indexes online
Creating attached indexes in an online environment
Limiting memory allocation while creating indexes online
Improving performance for index builds
Estimating memory needed for sorting
Estimating temporary space for index builds
Storing multiple index fragments in a single dbspace
Improving performance for index checks
Indexes on user-defined data types
Defining indexes for user-defined data types
B-tree secondary-access method
Uses for a B-tree index
Extending a generic B-tree index
Identifying the available access methods
User-defined secondary-access methods
R-tree indexes
Using a functional index
What is a functional index?
When is a functional index used?
Creating a functional index
Using an index that a DataBlade module provides
Choosing operator classes for indexes
Operator classes
Strategy and support functions of a secondary access method
Default operator classes
Built-in B-tree operator class
B-tree strategy functions
B-tree support function
Identifying the available operator classes
User-defined operator classes
Locking
Locks
Locking granularity
Row and key locks
Key-value locks
Page locks
Table locks
Database locks
Configuring the lock mode
Setting the lock mode to wait
Locks with the SELECT statement
Isolation level
Dirty Read isolation
Committed Read isolation
Ways to reduce the risk of Committed Read isolation level conflicts
Cursor Stability isolation
Repeatable Read isolation
Locking nonlogging tables
Update cursors
Locks placed with INSERT, UPDATE, and DELETE statements
The internal lock table
Monitoring locks
Configuring and managing lock usage
Monitoring lock waits and lock errors
Monitoring the number of free locks
Monitoring deadlocks
Monitoring isolation levels that sessions use
Locks for smart large objects
Byte-range locking
How the database server manages byte-range locks
Using byte-range locks
Monitoring byte-range locks
Setting number of locks for byte-range locking
Lock promotion
Dirty Read isolation level and smart large objects
Fragmentation guidelines
Planning a fragmentation strategy
Fragmentation goals
Improved query performance through fragmentation strategy
Reduced contention between queries and transactions
Increased data availability
Increased granularity for backup and restore
Examining your data and queries
Considering physical fragmentation factors
Distribution schemes
Choosing a distribution scheme
Designing an expression-based distribution scheme
Suggestions for improving fragmentation
Strategy for fragmenting indexes
Attached indexes
Detached indexes
Restrictions on indexes for fragmented tables
Strategy for fragmenting temporary tables
Distribution schemes that eliminate fragments
Fragmentation expressions for fragment elimination
Query expressions for fragment elimination
Range expressions in query
Equality expressions in query
Effectiveness of fragment elimination
Nonoverlapping fragments on a single column
Overlapping fragments on a single column
Nonoverlapping fragments, multiple columns
Improve the performance of operations that attach and detach fragments
Improving ALTER FRAGMENT ATTACH performance
Distribution schemes for reusing indexes
Fragmenting the index in the same way as the table
Fragmenting the index with the same distribution scheme as the table
Attaching unfragmented tables together
Ensuring no data movement when you attach a fragment
Indexes on attached tables
Example for situation when corresponding index does not exist
Example for situation when index on table is not usable
Improving ALTER FRAGMENT DETACH performance
Fragmenting the index in the same way as the table
Fragmenting the index using same distribution scheme as the table
Forcing out transactions when altering table fragments
Monitoring Fragment Use
Monitoring fragmentation with the onstat -g ppf command
Monitoring fragmentation with SET EXPLAIN output
Queries and the query optimizer
The query plan
The access plan
The join plan
Nested-loop join
Hash join
Join order
Example of query-plan execution
Example of a join with column filters
Example of a join with indexes
Query plans that include an index self-join path
Query plan evaluation
Report that shows the query plan chosen by the optimizer
The sqexplain.out file
Query statistics section provides performance debugging information
Sample query plan reports
Single-table query
Multitable query
Key-first scan
Query plans for subqueries
Query plans for collection-derived tables
Example showing how the database server completes the query
Derived tables folded into parent queries
XML query plans in IBM Data Studio
Factors that affect the query plan
Statistics held for the table and index
Filters in the query
Indexes for evaluating a filter
Effect of PDQ on the query plan
Effect of OPTCOMPIND on the query plan
Single-table query
Multitable query
Effect of available memory on the query plan
Time costs of a query
Memory-activity costs
Sort-time costs
Row-reading costs
Sequential access costs
Nonsequential access costs
Index lookup costs
Reading duplicate values from an index
Searching for NCHAR or NVARCHAR columns in an index
In-place ALTER TABLE costs
View costs
Small-table costs
Data-mismatch costs
Encrypted-value costs
GLS functionality costs
Network-access costs
Optimization when SQL is within an SPL routine
SQL optimization
Displaying the execution plan
Automatic reoptimization
Reoptimizing SPL routines
Optimization levels for SQL in SPL routines
Execution of an SPL routine
SPL routine executable format stored in UDR cache
Changing the UDR cache
Monitoring the UDR cache
Trigger execution
Performance implications for triggers
SELECT triggers on tables in a table hierarchy
SELECT triggers and row buffering
Optimizer directives
What optimizer directives are
Optimizer directives that are embedded in queries
External optimizer directives
Reasons to use optimizer directives
Preparation for using directives
Guidelines for using directives
Types of directives that are included in SQL statements
Access-method directives
Join-order directives
Effect of join order on join plan
Join order when you use views
Join-plan directives
Optimization-goal directives
Example of directives that can alter a query plan
EXPLAIN directives
Configuration parameters and environment variables for optimizer directives
Optimizer directives and SPL routines
Forcing reoptimization to avoid an index and previously prepared statement problem
External optimizer directives
Creating and saving external directives
Enabling external directives
Deleting external directives
Parallel database query (PDQ)
What PDQ is
Structure of a PDQ query
Database server operations that use PDQ
Parallel delete operations
Parallel insert operations
Explicit inserts with SELECT...INTO TEMP statements
Implicit inserts with INSERT INTO...SELECT statements
Parallel index builds
Parallel user-defined routines
Hold cursors that use PDQ
SQL operations that do not use PDQ
Update statistics operations affected by PDQ
SPL routines and triggers and PDQ
Correlated and uncorrelated subqueries
OUTER index joins and PDQ
Remote tables used with PDQ
The Memory Grant Manager
The allocation of resources for parallel database queries
Limiting the priority of decision-support queries
Limiting the value of the PDQ priority
Maximizing OLTP throughput for queries
Conserving resources when using PDQ
Allowing maximum use of parallel processing
Determining the level of parallel processing
Limits on parallel operations associated with PDQ priority
Using SPL routines with PDQ queries
Adjusting the amount of memory for DSS and PDQ queries
Limiting the number of concurrent scans
Limiting the maximum number of PDQ queries
Managing PDQ queries
Analyzing query plans with SET EXPLAIN output
Influencing the choice of a query plan
Setting the PDQ priority dynamically
User control of PDQ resources
DBA control of resources for PDQ and DSS queries
Controlling resources allocated to PDQ
DBA control of resources allocated to decision-support queries
Monitoring resources used for PDQ and DSS queries
Using the onstat Utility
Monitoring MGM resources with the onstat -g mgm command
Explanation of the sample onstat -g mgm output
Monitoring PDQ threads with onstat utility commands
Monitoring resources allocated for a session running a DSS query
Identifying parallel scans in SET EXPLAIN output
Improving individual query performance
Test queries using a dedicated test system
Display the query plan
Improve filter selectivity
Filters with user-defined routines
Avoid some filters
Avoid difficult regular expressions
Avoid noninitial substrings
Use join filters and post-join filters
Automatic statistics updating
How AUS works
AUS expiration policies
Changing AUS expiration policies
Viewing AUS statements
Rescheduling AUS
Disabling AUS
Update statistics when they are not generated automatically
Update the statistics for the number of rows
Drop data distributions if necessary when upgrading
Drop distributions in LOW mode without gathering statistics
Creating data distributions
Updating statistics for join columns
Updating statistics for columns with user-defined data types
Update statistics in parallel on very large databases
Adjust the amount of memory and disk space for UPDATE STATISTICS
Data sampling during update statistics operations
Display data distributions
Improve performance by adding or removing indexes
Replace autoindexes with permanent indexes
Use composite indexes
Indexes for data warehouse applications
Configure B-tree scanner information to improve transaction processing
Alice scan mode values
Leaf and range scan mode settings
B-tree scanner index compression levels and transaction processing performance
Setting the level for B-tree scanner compression of indexes
Determine the amount of free space in an index page
Optimizer estimates of distributed queries
Buffer data transfers for a distributed query
The query plan of a distributed query
Improve sequential scans
Enable view folding to improve query performance
Reduce the join and sort operations
Avoid or simplify sort operations
Use parallel sorts
Use temporary tables to reduce sorting scope
More memory for queries with hash joins, aggregates, and other memory-intensive elements
Optimize user-response time for queries
Optimization level
Optimization goals
Specifying the query performance goal
Preferred query plans for user-response-time optimization
Nested-loop joins versus hash joins
Table scans versus index scans
Ordering with fragmented indexes
Optimize queries for user-defined data types
Parallel UDRs
Selectivity and cost functions
User-defined statistics for UDTs
Negator functions
SQL statement cache
When to use the SQL statement cache
Using the SQL statement cache
Enabling the SQL statement cache
Placing statements in the cache
Monitoring memory usage for each session
Display all user threads and session memory usage
Display detailed session information and memory usage
Display information about session SQL statements
Display information about the memory that SQL statements use in a session
Monitoring usage of the SQL statement cache
Monitor sessions and threads
Monitor sessions and threads with onstat commands
Monitor threads with onstat –u output
Monitor threads with onstat -g ath output
Monitor threads with onstat -g act output
Monitor threads with onstat -g cpu output
Monitor session resources with onstat -g ses output
Monitor session memory with onstat -g mem and onstat -g stm output
Monitor sessions and threads with ON-Monitor (UNIX)
Monitor sessions and threads with ISA
Monitor sessions and threads with SMI tables
Monitor transactions
Display information about transactions
Display information about transaction locks
Display statistics on user sessions
Display Statistics on Sessions Executing SQL Statements
The onperf utility on UNIX
Overview of the onperf utility
Basic onperf utility functions
Display metric values
Save metric values to a file
Review metric measurements
onperf utility tools
Requirements for running the onperf utility
Starting the onperf utility and exiting from it
The onperf user interface
Graph tool
Graph-tool title bar
Graph-tool graph menu
Graph-tool metrics menu
Graph-tool view menu
The graph-tool Configure menu and the Configuration dialog box
Graph-tool Tools menu
Changing the scale of metrics
Displaying recent-history values
Query-tree tool
Status tool
Activity tools
Why you might want to use onperf
Routine monitoring with onperf
Diagnosing sudden performance loss
Diagnosing performance degradation
onperf utility metrics
Database server metrics
Disk-chunk metrics
Disk-spindle metrics
Physical-processor metrics
Virtual-processor metrics
Session metrics
Tblspace metrics
Fragment metrics
Appendix
Case studies and examples
Case study of a situation in which disks are overloaded
Backup and restore
Backup and Restore Guide
What's New in the Backup and Restore Guide, Version 11.70
Overview of backup and restore
Backup and restore concepts
Recovery system
Backup systems
Backup levels
Logical-log backup
Manual and continuous logical-log backups
Log salvage
Save logical-log backups
Restore systems
Warm, cold, and mixed restores
Physical and logical restores
Comparing the ON-Bar and ontape utilities
Plan for backup and restore
Plan a recovery strategy
Types of data loss
Determine failure severity
Data use determines your backup schedule
Schedule backups
Security requirements for label-based access control
Plan a backup system for a production database server
Evaluate hardware and memory resources
Evaluate backup and restore time
Evaluate logging and transaction activity
Compress row data
Transform data with external programs
ON-Bar backup and restore system
Overview of the ON-Bar backup and restore system
Where to find information about tasks for ON-Bar, ISM, and TSM
ON-Bar components for Informix
ON-Bar utilities and its script or batch file
IBM Informix Storage Manager (ISM)
IBM Tivoli Storage Manager
Third-party storage managers
XBSA interface
ON-Bar tables
ON-Bar boot files
ON-Bar activity log
Specify the location of the activity log
Specify the level of ON-Bar debugging
Specify the location of the debug log
Monitor the progress of a backup or restore
Monitor backup and restore performance
Transform data with external filter programs
Transforming with filters during backup and restore
Configure the storage manager and ON-Bar
Configure a storage manager
Configuring a third-party storage manager
Configure ISM
Configure TSM
Edit the TSM client options files
Edit the TSM client user options file
Edit the TSM client system options file
Assign a TSM management class for a backup
Register with the TSM server
Initializing the IBM Informix Interface for TSM password
Update the sm_versions file
Updating the storage-manager definition in sm_versions
Validate your storage manager
Configure ON-Bar
The bargroup group (UNIX)
Your customized onbar script is saved on new installations
Set ISM environment variables and ONCONFIG parameters
Set the IBM Informix Interface for TSM environment variables
Specify the location of the XBSA Library
Specify ON-Bar configuration parameters
Verify the configuration of ON-Bar and your storage manager
Choose storage managers and storage devices
Features that ISM supports
Features that ISM does not support
Features that TSM supports
Storage device requirements
Files that ON-Bar, ISM, and TSM use
Back up with ON-Bar
Summary of ON-Bar tasks
Prepare for a backup
Data and critical files that ON-Bar backs up
Administrative files to back up
Install and configure a storage manager
Whole-system backup
Parallel backup
Standard backup
Incremental backup
Physical backup
Choose a backup level
Collect information about your system before a backup
Ensure that you have enough logical-log space
Verify that you have enough temporary disk space
Copy database server configuration information
Verify database integrity
Back up storage spaces and logical logs
Backup syntax
Back up after changing the physical schema
When to back up the root dbspace and modified storage spaces
When to back up the modified storage spaces only
Use ISM during a backup
Back up the ISM catalog
Use ISA to back up and verify
ON-Bar backup examples
Perform a level-0 backup of all storage spaces
Perform a level-0 backup of specified storage spaces
Perform an incremental backup
Back up a list of storage spaces specified in a file
Back up specific tables
Retry skipped storage spaces during a backup
Perform a whole-system backup
Back up smart large objects in sbspaces
Use fake backups in a data warehouse
Backing up blobspaces in a logging database
Back up logical logs when blobspaces are offline
Back up table types
View recent ON-Bar activity
Viewing a list of registered backups
Back up logical logs
Back up logical logs with ON-Bar commands
Perform a continuous backup of logical logs
Perform a manual backup of logical logs
Use ALARMPROGRAM to set the log backup mode
View backed-up logical logs
Monitor logical-log backups
Salvage logical-log files
ON-Bar backup processes
Backup sequence on Informix
Restore data with ON-Bar
ON-Bar restore types
Warm restore
Cold restore
Mixed restore
Parallel restore
Point-in-time restore
Imported restore
Rename chunks restore
Restartable restore
Continuous log restore
Pre-recovery checklist
Monitor restores
Ensure that storage devices are available
Restore save sets with ISM
Perform a complete restore
Perform a physical-only or logical-only restore
Use ISA to restore data
Examples of ON-Bar restore commands
Perform a restore
Restore specific storage spaces
Perform a logical restore
Perform a physical restore followed by a logical restore
Performing a warm restore in stages
Performing a cold restore in stages
Salvage logical logs
Performing a cold restore
Perform a whole-system restore
Restoring the data from a whole-system backup when LTAPEDEV is null
The -O option in a whole-system restore
Restore data by using a mixed restore
Strategies for using mixed restore
Restore data to a point-in-time
Perform a cold point-in-time restore
Perform a point-in-time cold restore in stages
Perform a point-in-time mixed restore
Perform a point-in-time restore with multiple timelines
Perform a point-in-time warm restore
Restore from an older backup
Restoring from an older backup by using a physical point-in-time restore
Restoring from an older backup by expiring the bad backup
Perform a point-in-log restore
Restore online storage spaces
Recreating chunk files during a restore
Restoring when using cooked chunks
Restoring when using raw chunks
Restoring a dropped storage space
Restoring a dropped storage space by using separate physical and logical restores
Restoring a dropped storage space when the chunk files were also deleted
Restoring data when reinitializing the database server
Reinitializing the database server after a failure when you do not need the old data:
Reinitializing the database server and restore the old data
Configuring continuous log restore by using ON-Bar
Rename chunks during a restore
Key considerations
New-chunk requirements
Syntax
Examples of renaming chunks during a restore
Rename chunks with command-line options
Rename chunks with a file
Rename chunks while specifying other options
Renaming a chunk to a nonexistent device
Transfer data by performing an imported restore
Preparing for an imported restore
Importing a restore
Backing up data and migrating storage-manager objects
Performing the imported restore
Example of performing an imported restore with ON-Bar and the Informix Storage Manager
Initializing High-Availability Data Replication with ON-Bar
Performing the imported restore with HDR
Initializing High-Availability Data Replication for an imported restore
Restore nonlogging databases and tables
Restore table types
Restore tables with large objects
Use restartable restore to recover data
Restartable restore example
Restart a restore
Interaction between restartable restore and BAR_RETRY value
Restart a logical restore
Resolve a failed restore
ON-Bar restore processes
Warm-restore sequence
Cold-restore sequence
External backup and restore
External backup and restore overview
Block before backing up
Rules for an external backup
Prepare for an external backup
Block and unblock database server
Track an external backup
Performing an external backup when chunks are not mirrored
RS secondary server external backup
Performing an external backup of an RS secondary server
Data restored in an external restore
Rename chunks
External restore commands
Rules for an external restore
Performing an external restore
Performing a cold external restore
Mixed external restore restriction
Performing a warm external restore
Examples of external restore commands
Initializing HDR with an external backup and restore
Customize and maintain ON-Bar
Customize ON-Bar and storage-manager commands
Print the backup boot files
Migrate backed-up logical logs to tape
Expire and synchronize the backup catalogs
Choose an expiration policy
The onsmsync utility
Remove expired backups
Expiring old backups on ISM
Regenerate the emergency boot file
Regenerate the sysutils database
Delete a bad backup
Expire backups based on the retention date
Expire a generation of backups
Expire backups based on the retention interval
Expire backups with multiple point-in-time restores
Expire all backups
Monitor the performance of ON-Bar and the storage managers
Set ON-Bar performance statistics levels
View ON-Bar backup and restore performance statistics
ON-Bar catalog tables
The bar_action table
The bar_instance table
The bar_ixbar table
The bar_object table
The bar_server table
The bar_syncdeltab table
ON-Bar catalog map
ON-Bar messages and return codes
About ON-Bar messages
Message format
Message numbers
ON-Bar usage messages
-43000
-43001
-43006
-43007
-43357
ON-Bar return codes
ontape backup and restore system
Configure ontape
Set configuration parameters for the ontape utility
Data transformation filter parameters for ontape
Tape and tape device parameters for ontape
Set the tape-device parameters
Specify separate devices for storage-space and logical-log backups
Specify tape devices as symbolic links
Specify a file system directory
Specify a remote device
Specify /dev/null for a tape device
Set TAPEDEV to stdio
Rewind tape devices before opening and on closing
Specify the tape-block-size
Specify the tape-size
Tape size for remote devices
Check and change ontape configuration parameters
Change TAPEDEV to /dev/null
Change LTAPEDEV to /dev/null
Verify that the tape device can read the specified block size
Change ontape parameters
Back up with ontape
Summary of ontape tasks
Start ontape
Exit codes for ontape
Change database logging status
Create a backup
Backup levels
Back up after changing the physical schema
Prepare for a backup
Avoid temp tables during heavy activity
Make sure enough logical-log space exists
Keep a copy of your configuration file
Verify consistency before a level-0 backup
Online and quiescent backups
Back up to tape
Label tapes created with ontape
Back up to standard output
Back up to a directory
Set the file directory path
Rename existing files
Override the default name of the archive files
Perform a backup
Backup examples
Back up raw tables
Back up to Amazon Simple Storage Service
The ifxbkpcloud.jar utility
Cloud storage file naming conventions
When the logical-log files fill during a backup
When a backup terminates prematurely
Monitor backup history by using oncheck
Back up logical-log files with ontape
Before you back up the logical-log files
Use blobspace TEXT and BYTE data types and logical-log files
Use /dev/null when you do not need to recover
When to back up logical-log files
Start an automatic logical-log backup
Starting a continuous logical-log file backup
End a continuous logical-log backup
Devices that logical-log backups must use
Restore with ontape
Types of physical restore
Full-system restore
Restores of dbspaces, blobspaces, and sbspaces
Cold, warm, or mixed restores
Cold restores
Warm restores
Mixed restores
Perform a restore
Restore the whole system
Gather the appropriate tapes
Decide on a complete cold or a mixed restore
Verify your database server configuration
Set shared-memory parameters to maximum assigned value
Set mirroring configuration to level-0 backup state
Verify that the raw devices or files are available
Perform a cold restore
Salvage logical-log files
Mount tapes during the restore
Restore logical log files
Bring the database server online when the restore is over
Restore selected storage spaces
Gather the appropriate tapes
Ensure that needed device are available
Back up logical-log files
Perform a warm restore
Restore raw tables
Configuring continuous log restore with ontape
Rename chunks during a restore
Validation sequence for renaming chunks
New chunk requirements
Rename chunks with command-line options
Rename chunks with a file
Rename chunks while specifying other options
Rename a chunk to a nonexistent device
Renaming a chunk to a nonexistent device
Restore from standard input
Restore data to a remote server
Simultaneous backup and restore by using standard I/O
Perform an external backup and restore
Recover data by using an external backup and restore
Data that is backed up in an external backup
Rules for an external backup
Performing an external backup
Prepare for an external backup
Block and unblock Informix
Track an external backup
Data that is restored in an external restore
Use external restore commands
Rules for an external restore
Rename chunks
Performing a cold external restore
Examples of external restore commands
Initializing HDR with an external backup and restore
Verify and restore backups with archecker
Verify that backups are complete
Verify archecker configuration file information
Verify backups by using archecker in integrated mode
Syntax for archecker by using integrated mode
Estimate the amount of temporary space for archecker
Verify backups
Interpret verification messages
Sample verification message in the ON-Bar activity log
Sample verification message in the archecker message log
Verification failures
Fixing backup verification problems
Diagnosing why a backup failed verification
Verifying an expired backup
Restoring when a backup is missing data
Verification process with archecker
Verifying backups by using archecker in stand-alone mode
Syntax for archecker utility commands
Perform table-level restores by using the archecker utility
Overview of the archecker utility
The archecker configuration file
Schema command file
Table-level restore and locales
Data restore with archecker
Physical restore
Logical restore
The stager
The applier
Syntax for archecker table-level restores
Manually control a logical restore
Performing a restore with multiple storage managers
Perform a parallel restore
When to delete restore files
The archecker schema reference
The CREATE TABLE statement
The CREATE EXTERNAL TABLE statement
The DATABASE statement
The INSERT statement
The RESTORE statement
The SET statement
Schema command file examples
Simple schema command file
Restore a table from a previous backup
Restore to a different table
Extract a subset of columns
Use data filtering
Restore to an external table
Restore multiple tables
Perform a distributed restore
Backup and restore configuration parameter reference
Backup and restore configuration parameters
ON-Bar and ontape configuration parameters in the ONCONFIG file
BACKUP_FILTER configuration parameter
BAR_ACT_LOG configuration parameter
BAR_BSALIB_PATH configuration parameter
BAR_CKPTSEC_TIMEOUT configuration parameter
BAR_DEBUG configuration parameter
BAR_DEBUG_LOG configuration parameter
BAR_HISTORY configuration parameter
BAR_IXBAR_PATH configuration parameter
BAR_MAX_BACKUP configuration parameter
BAR_NB_XPORT_COUNT configuration parameter
BAR_PERFORMANCE configuration parameter
BAR_PROGRESS_FREQ configuration parameter
BAR_RETRY configuration parameter
BAR_SIZE_FACTOR configuration parameter
BAR_XFER_BUF_SIZE configuration parameter
ISM_DATA_POOL configuration parameter
ISM_LOG_POOL configuration parameter
LTAPEBLK configuration parameter
LTAPEDEV configuration parameter
LTAPESIZE configuration parameter
RESTARTABLE_RESTORE configuration parameter
RESTORE_FILTER configuration parameter
TAPEBLK configuration parameter
TAPEDEV configuration parameter
TAPESIZE configuration parameter
The archecker utility configuration parameters and environment variable
AC_CONFIG file environment variable
AC_DEBUG configuration parameter
AC_IXBAR configuration parameter
AC_LTAPEBLOCK configuration parameter
AC_LTAPEDEV parameter
AC_MSGPATH configuration parameter
AC_SCHEMA configuration parameter
AC_STORAGE configuration parameter
AC_TAPEBLOCK configuration parameter
AC_TAPEDEV configuration parameter
AC_TIMEOUT configuration parameter
AC_VERBOSE configuration parameter
Event alarm configuration parameters
Appendixes
Troubleshooting some backup and restore errors
Corrupt page during an archive
Log backup already running
No server connection during a restore
Drop a database before a restore
No dbspaces or blobspaces during a backup or restore
Restore blobspace BLOBs
Changing the system time on the backup system
Migrate data, servers, and tools
Use data-migration tools for recovery
Preparing for a database server or storage-manager upgrade
Upgrade your storage manager
Change storage-manager vendors
Migrating from ontape to ON-Bar
Migrate private ON-Bar scripts
GLS support
Use GLS with the ON-Bar utility
Identifiers that support non-ASCII characters
Identifiers that require 7-bit ASCII characters
Locale of ON-Bar messages
Use the GL_DATETIME environment variable with ON-Bar
Point-in-time restore example
Use GLS with the ontape utility
Encrypt archived data with IBM Database Encryption Expert
Replication
Enterprise Replication
What's New in Enterprise Replication for Informix, Version 11.70
Introducing Enterprise Replication
About IBM Informix Enterprise Replication
IBM Informix Enterprise Replication
Asynchronous Data Replication
Log-Based Data Capture
High Performance
High Availability
Consistent Information Delivery
Repair and Initial Data Synchronization
Flexible Architecture
Centralized Administration
Ease of Implementation
Network Encryption
How Enterprise Replication Replicates Data
Data Capture
Row Images
Evaluating Rows for Updates
Send Data Queues and Receive Data Queues
Data Evaluation Examples
Data Transport
Applying Replicated Data
Overview of Enterprise Replication Administration
Setting Up Enterprise Replication
Enterprise Replication Server Administrator
Enterprise Replication Terminology
Enterprise Replication Server
Replicate
Master Replicate
Shadow Replicate
Participant
Replicate Set
Template
Global Catalog
Enterprise Replication Considerations
Operational Considerations
Backup and Restore Considerations
Data Compression Considerations
Database and Table Design Considerations
Unbuffered Logging
Table Types
Label-based access control
Out-of-Row Data
Shadow Columns
Primary Key Constraint
Serial Data Types and Primary Keys
Cascading Deletes
Triggers
Using Constraints
Sequence Objects
The NLSCASE database property
Transaction Processing Considerations
Replication Volume
Distributed Transactions
Large Transactions
Supported SQL Statements
Forbidden SQL Statements
Limited SQL Statements
Permitted SQL Statements
Using GLS with Enterprise Replication
Using Enterprise Replication in Mixed-Version Environments
Enterprise Replication Data Types
Replicating on Heterogeneous Hardware
Replicating Simple and Smart Large Objects
Replicating Simple Large Objects from Tblspaces
Replicating Large Objects from Blobspaces or Sbspaces
Distributing BYTE and TEXT Data
Considerations for Replicating Smart Large Objects
Replicating Opaque User-Defined Data Types
Installing and Registering UDTs
UDT Support Functions
Considerations for Replicating Opaque Data Types
Replicating Table Hierarchies
Verifying the Data Type of Replicated Columns
Setting Up and Managing Enterprise Replication
Selecting the Enterprise Replication System and Network Topology
Primary-Target Replication System
Primary-Target Data Dissemination
Data Consolidation
Workload Partitioning
Workflow Replication
Primary-Target Considerations
Update-Anywhere Replication System
Conflict Resolution
Conflict Resolution Rule
Ignore Conflict-Resolution Rule
Time Stamp Conflict Resolution Rule
SPL Conflict Resolution Rule
SPL Conflict Resolution for Large Objects
Delete Wins Conflict Resolution Rule
Always-Apply Conflict-Resolution Rule
Conflict Resolution Scope
Choosing a Replication Network Topology
Fully Connected Topology
Hierarchical Routing Topology Terminology
Hierarchical Tree
Forest of Trees
Preparing the Replication Environment
Preparing the Network Environment
Configuring hosts information for replication servers
Configuring port and service names for replication servers
Database Server Groups
Configuring secure connections for replication servers
Configuring network encryption for replication servers
Testing the replication network
Testing the password file
Preparing the Disk
Logical Log Configuration Disk Space
Logical Log Configuration Guidelines
Disk Space for Delete Tables
Shadow Column Disk Space
Setting Up Send and Receive Queue Spool Areas
Transaction Record dbspace
Row Data sbspaces
Creating sbspaces for Spooled Row Data
Logging Mode for sbspaces
Dropping a Spooled Row Data sbspace
Setting Up the Grouper Paging File
Creating ATS and RIS Directories
Preparing the Database Server Environment
Setting Database Server Environment Variables
Setting Configuration Parameters
Time Synchronization
Preparing Data for Replication
Preparing Consistent Data
Blocking Replication
Using DB-Access to Begin Work Without Replication
Using ESQL/C to Begin Work Without Replication
Preparing to Replicate User-Defined Types
Preparing to Replicate User-Defined Routines
Preparing Tables for Conflict Resolution
Preparing Tables for a Consistency Check Index
Preparing tables without primary keys
Preparing Logging Databases
Preparing for Role Separation (UNIX)
Load and unload data
High-Performance Loader
onunload and onload Utilities
dbexport and dbimport Utilities
UNLOAD and LOAD Statements
Data Preparation Example
Using the cdr start replicate Command
Using LOAD, UNLOAD, and BEGIN WORK WITHOUT REPLICATION
Using High-Availability Clusters with Enterprise Replication
High-Availability Replication System
Using High-Availability Clusters in a Hierarchical Tree Topology
Using High-Availability Clusters in a Forest of Trees Topology
Setting Up Database Server Groups for High-Availability Cluster Servers
Managing Enterprise Replication with High-Availability Clusters
Failure of the Primary Server in a High-Availability Cluster
Connection Manager with Enterprise Replication and clusters
Performance Considerations
Defining Replication Servers, Replicates, Participants, and Replicate Sets
Starting Database Servers
Defining Replication Servers
Creating a new domain by cloning a server
Example of creating a new replication domain by cloning
Adding a server to the domain by cloning a server
Customizing the Replication Server Definition
Defining Replicates
Defining Participants
Defining Replicates on Table Hierarchies
Defining Master Replicates
Master Replicate Verification
Creating Strict Master Replicates
Creating Empty Master Replicates
Defining Shadow Replicates
Specifying Conflict Resolution Rules and Scope
Specifying Replication Frequency
Setting Up Failed Transaction Logging
Replicating Only Changed Columns
Using the IEEE Floating Point or Canonical Format
Enabling Triggers
Enabling code set conversion between replicates
Configuring code set conversion between replicates
Code set conversion errors
Defining Replicate Sets
Exclusive Replicate Sets
Non-Exclusive Replicate Sets
Customizing the Replicate Set Definition
Initially Synchronizing Data Among Database Servers
Using Templates to Set Up Replication
Defining Templates
Realizing Templates
Verifying Participants without Applying the Template
Synchronizing Data Among Database Servers
Improve Performance During Synchronization
Creating Tables Automatically
Other Options
Changing Templates
Template Example
Grid setup and management
Example of setting up a replication system with a grid
Creating a grid
Maintaining the grid
Adding a server to a grid by cloning
Adding an existing replicate to a grid replicate set
Viewing grid information
Administering servers in the grid with the SQL administration API
Propagating database object changes
Creating replicated tables through a grid
Altering replicated tables through a grid
Propagating updates to data
Rerunning failed grid routines
Enabling replication within a grid transaction
Routing client connections in a grid
Managing Replication Servers and Replicates
Managing Replication Servers
Modifying Replication Server Attributes
Dynamically Modifying Configuration Parameters for a Replication Server
Viewing Replication Server Attributes
Connecting to Another Replication Server
Temporarily stopping replication on a server
Restarting Replication on a Server
Suspending Replication for a Server
Resuming a Suspended Replication Server
Deleting a Replication Server
Managing Replicates
Modifying Replicates
Adding or Deleting Participants
Changing Replicate Attributes
Viewing Replicate Properties
Starting a Replicate
Stopping a Replicate
Suspending a Replicate
Resuming a Suspended Replicate
Deleting a Replicate
Managing Replicate Sets
Routing client connections for a replicate set
Modifying Replicate Sets
Adding or Deleting Replicates From a Replicate Set
Changing Replication Frequency For the Replicate Set
Viewing Replicate Sets
Starting a Replicate Set
Stopping a Replicate Set
Suspending a Replicate Set
Resuming a Replicate Set
Deleting a Replicate Set
Managing Templates
Viewing Template Definitions
Deleting Templates
Managing Replication Server Network Connections
Viewing Network Connection Status
Dropping the Network Connection
Reestablishing the Network Connection
Resynchronizing Data among Replication Servers
Performing Direct Synchronization
Synchronizing Significantly Inconsistent Tables
Checking Consistency and Repairing Inconsistent Rows
Interpreting the Consistency Report
Increase the speed of consistency checking
Indexing the ifx_replcheck Column
Repair inconsistencies by time stamp
Repairing inconsistencies while enabling a replication server
Repairing Failed Transactions with ATS and RIS Files
Resynchronizing Data Manually
Alter, Rename, or Truncate Operations during Replication
Adding a Replicated Column
Dropping a Replicated Column
Modifying the Data Type or Size of a Replicated Column
Changing the Name of a Replicated Column, Table, or Database
Considerations for Changing or Recreating Primary Key Columns
Attaching a New Fragment to a Replicated Table
Remastering a Replicate
Automatic Remastering
Manual Remastering
Recapture replicated transactions
Monitoring and Troubleshooting Enterprise Replication
Monitor Enterprise Replication
Solve Replication Processing Problems
Failed Transaction (ATS and RIS) Files
Enabling ATS and RIS File Generation
ATS and RIS File Names
ATS and RIS File Formats
XML File Format
XML Tags
ATS and RIS Text File Contents
Disabling ATS and RIS File Generation
Suppressing Data Sync Errors and Warnings
Preventing Memory Queues from Overflowing
Handle potential log wrapping
Monitoring Disk Usage for Send and Receive Queue Spool
Increasing the Sizes or Numbers of Storage Spaces
Recovering when Storage Spaces Fill
Common Configuration Problems
Troubleshooting Tips for Alter Operations
Enterprise Replication Event Alarms
Enabling or Disabling Enterprise Replication Event Alarms
Appendixes
The cdr Command-Line Utility Reference
Interpreting the cdr Command-Line Utility Syntax
Command Abbreviations
Option Abbreviations
Option Order
Long Command-Line Examples
Long Identifiers
Connect Option
Participant and participant modifier
Return Codes for the cdr Utility
Frequency Options
cdr add onconfig
cdr alter
cdr change grid
cdr change onconfig
cdr change replicate
cdr change replicateset
cdr check replicate
cdr check replicateset
cdr check sec2er
cdr cleanstart
cdr connect server
cdr define grid
cdr define qod
cdr define replicate
cdr define replicateset
cdr define server
cdr define template
cdr delete grid
cdr delete replicate
cdr delete replicateset
cdr delete server
cdr delete template
cdr disable grid
cdr disable server
cdr disconnect server
cdr enable grid
cdr enable server
cdr error
cdr finderr
cdr list grid
cdr list replicate
cdr list replicateset
cdr list server
cdr list template
cdr modify replicate
cdr modify replicateset
cdr modify server
cdr realize template
cdr remaster
cdr remove onconfig
cdr repair
cdr reset qod
cdr resume replicate
cdr resume replicateset
cdr resume server
cdr start
cdr start qod
cdr start replicate
cdr start replicateset
cdr start sec2er
cdr stats rqm
cdr stats recv
cdr stats check
cdr stats sync
cdr stop
cdr stop qod
cdr stop replicate
cdr stop replicateset
cdr suspend replicate
cdr suspend replicateset
cdr suspend server
cdr swap shadow
cdr sync replicate
cdr sync replicateset
cdr -V
cdr view
Configuration Parameter and Environment Variable Reference
CDR_APPLY Configuration Parameter
CDR_DBSPACE Configuration Parameter
CDR_DELAY_PURGE_DTC configuration parameter
CDR_DSLOCKWAIT Configuration Parameter
CDR_ENV Configuration Parameter
CDR_EVALTHREADS Configuration Parameter
CDR_LOG_LAG_ACTION Configuration Parameter
CDR_LOG_STAGING_MAXSIZE Configuration Parameter
CDR_MAX_DYNAMIC_LOGS Configuration Parameter
CDR_NIFCOMPRESS Configuration Parameter
CDR_QDATA_SBSPACE Configuration Parameter
CDR_QHDR_DBSPACE Configuration Parameter
CDR_QUEUEMEM Configuration Parameter
CDR_SERIAL Configuration Parameter
CDR_SUPPRESS_ATSRISWARN Configuration Parameter
ENCRYPT_CDR Configuration Parameter
ENCRYPT_CIPHERS Configuration Parameter
ENCRYPT_MAC Configuration Parameter
ENCRYPT_MACFILE Configuration Parameter
ENCRYPT_SWITCH Configuration Parameter
CDR_ALARMS Environment Variable
CDR_ATSRISNAME_DELIM Environment Variable
CDR_DISABLE_SPOOL Environment Variable
CDR_LOGDELTA Environment Variable
CDR_PERFLOG Environment Variable
CDR_RMSCALEFACT Environment Variable
CDR_ROUTER Environment Variable
CDRSITES_10X Environment Variable
CDRSITES_731 Environment Variable
CDRSITES_92X Environment Variable
Grid routines
ifx_get_erstate() function
ifx_grid_connect() procedure
ifx_grid_disconnect() procedure
ifx_grid_execute() procedure
ifx_grid_function() function
ifx_grid_procedure() procedure
ifx_grid_purge() procedure
ifx_grid_redo() procedure
ifx_set_erstate() procedure
Enterprise Replication routines
ifx_get_erstate() function
ifx_set_erstate() procedure
onstat Command Reference
onstat -g ath
onstat -g cat
onstat -g cdr
onstat -g cdr config
onstat -g ddr
onstat -g dss
onstat -g dtc
onstat -g grp
onstat -g nif
onstat -g que
onstat -g rcv
onstat -g rep
onstat -g rqm
onstat -g sync
onstat -k
syscdr Tables
The replcheck_stat Table
The replcheck_stat_node Table
SMI Table Reference
The syscdr_ats Table
The syscdr_atsdir Table
The syscdr_ddr Table
The syscdr_nif Table
The syscdr_rcv Table
The syscdr_ris Table
The syscdr_risdir Table
The syscdr_rqm Table
The syscdr_rqmhandle Table
The syscdr_rqmstamp Table
The syscdr_state Table
The syscdrack_buf Table
The syscdrack_txn Table
The syscdrctrl_buf Table
The syscdrctrl_txn Table
The syscdrerror Table
The syscdrlatency Table
The syscdrpart Table
The syscdrprog Table
The syscdrq Table
The syscdrqueued Table
The syscdrrecv_buf Table
The syscdrrecv_stats Table
The syscdrrecv_txn Table
The syscdrrepl Table
The syscdrreplset Table
The syscdrs Table
The syscdrsend_buf Table
The syscdrsend_txn Table
The syscdrserver Table
The syscdrsync_buf Table
The syscdrsync_txn Table
The syscdrtx Table
Enterprise Replication Queues
Columns of the Transaction Tables
Columns of the Buffer Tables
Replication Examples
Replication Example Environment
Primary-Target Example
Update-Anywhere Example
Hierarchy Example
SQLHOSTS Registry Key (Windows)
The Location of the SQLHOSTS Registry Key
Local SQLHOSTS Registry Key
Shared SQLHOSTS Registry Key
Preparing the SQLHOSTS Connectivity Information
Setting up the SQLHOSTS Registry with ISA
Setting up the SQLHOSTS Registry Key for Database Server with regedit
Setting Up the Database Server Group Registry Key
Setting up the Registry Keys on All Computers
Verifying the services Files on All Computers
Informix Replication Plug-in for OAT
Setting up the Replication plug-in
Monitoring Enterprise Replication
Viewing the topology of an ER domain
Configuring alert thresholds
Checking for alerts on an Enterprise Replication domain
Viewing the status of an Enterprise Replication node
Viewing a summary of replication activity at the current node
Viewing the node as a replication source
Viewing the node as a replication target
Monitoring log capture information for a node
Determining if transactions are being captured for replication
Monitoring log capture progress for a node
Preventing DDRBLOCK and log wrap
Turning on dynamic log file allocation
Monitoring the send queue for a node
Viewing target nodes and replicates related to the current node
Monitoring network I/O for an Enterprise Replication node
Monitoring disk space usage for a node
Monitoring the receive queue for a node
Monitoring how replicated data is applied at the target node
Monitoring transaction failures
Determining the apply latency rate
Reviewing ATS and RIS files for failed transactions
Reviewing Enterprise Replication errors
Viewing the ER configuration parameters
Administering Enterprise Replication
Setting up Enterprise Replication
Defining a server for Enterprise Replication
Defining a replicate set
Defining a replicate
Using templates to set up Enterprise Replication
Defining a template
Realizing a template
Deleting a template
Managing Enterprise Replication with a grid
Creating a grid
Deleting a grid
Adding members to a grid
Changing the users of a grid
Enabling or disabling a source server for a grid
Monitoring the status of grid tasks
Rerunning a grid command
Removing a grid command
Routing client connections in a grid
Viewing the SLAs for a grid
Creating an SLA for a grid
Modifying an SLA for a grid
Monitoring the quality of data in a grid
Managing Enterprise Replication servers
Modifying an ER server
Changing ATS and RIS file location and format
Changing the idle timeout for an ER server
Changing the type for participants on an ER server
Disabling ATS or RIS file generation on an ER server
Enabling ATS or RIS file generation on an ER server
Stopping or restarting replication on a server
Suspending replication for a server
Resuming replication to a suspended server
Stopping replication on a server
Restarting replication on a server
Restarting replication with empty queues
Disabling replication for a server
Enabling replication for a disabled server
Disconnecting an ER server
Reconnecting an ER server
Deleting an ER server
Managing replicate sets
Modifying a replicate set
Adding and deleting replicates in a replicate set
Changing replication frequency for a replicate set
Viewing replicate set properties
Starting a replicate set
Stopping a replicate set
Suspending a replicate set
Resuming a replicate set
Deleting a replicate set
Managing replicates
Modifying a replicate
Adding and deleting participants
Changing the master replicate server
Changing the conflict resolution rule and scope
Changing replication frequency for a replicate
Activating ATS and RIS file generation
Replicating full rows or changed columns
Enabling and disabling triggers
Retaining or removing deleted rows
Viewing replicate properties
Starting a replicate
Stopping a replicate
Suspending a replicate
Resuming a replicate
Deleting a replicate
Resynchronizing data among replication servers
Checking a replicate
Checking and repairing a replicate
Synchronizing a replicate
Deleting a check or sync task for a replicate
Checking a replicate set
Checking and repairing a replicate set
Synchronizing a replicate set
Deleting a check or sync task for a replicate set
Repairing failed transactions with ATS files
Repairing failed transactions with RIS files
Monitoring task status
Monitoring replicate tasks
Monitoring replicate set tasks
Changing ER configuration parameters
Managing client connections
Viewing connection units
Adding a connection unit
Modifying a failover configuration
Creating a service level agreement
Modifying a service level agreement
Creating a Connection Manager
Programming
SQL
Guide to SQL: Syntax
What's New in SQL Syntax for Informix, Version 11.70
Overview of SQL syntax
How to Enter SQL Statements
Using Syntax Diagrams and Syntax Tables
Using Examples
Using Related Information
How to Enter SQL Comments
Examples of SQL Comments
Non-ASCII Characters in SQL Comments
Categories of SQL Statements
Data Definition Language Statements
Data Manipulation Language Statements
Data Integrity Statements
Cursor Manipulation Statements
Dynamic Management Statements
Data Access Statements
Optimization Statements
Routine Definition Statements
Auxiliary Statements
Client/Server Connection Statements
Optical Subsystem Statements
ANSI/ISO Compliance and Extensions
ANSI/ISO-Compliant Statements
ANSI/ISO-Compliant Statements with Informix Extensions
Statements that are Extensions to the ANSI/ISO Standard
SQL statements
ALLOCATE COLLECTION statement
Examples
ALLOCATE DESCRIPTOR statement
WITH MAX Clause
ALLOCATE ROW statement
ALTER ACCESS_METHOD statement
Example
ALTER FRAGMENT statement
Restrictions on the ALTER FRAGMENT Statement
ALTER FRAGMENT and Transaction Logging
Determining the Number of Rows in the Fragment
The ONLINE keyword in ALTER FRAGMENT operations
Automatic renaming of interval fragment identifiers
ATTACH Clause
General Restrictions for the ATTACH Clause
Additional Restrictions on the ATTACH Clause
Using the BEFORE, AFTER, and REMAINDER options
Combining Nonfragmented Tables to Create a Fragmented Table
Attaching a Table to a Fragmented Table
Using the ONLINE keyword in ATTACH operations
Effect of the ATTACH Clause
What Happens to Indexes?
What Happens to BYTE and TEXT Columns?
What Happens to Triggers and Views?
What Happens with the Distribution Scheme?
Round-Robin Distribution Scheme
Expression Distribution Scheme
DETACH Clause
Using the ONLINE keyword in DETACH operations
Detach with BYTE and TEXT Columns
Detach from a Protected Table
Detach That Results in a Nonfragmented Table
INIT Clause
WITH ROWIDS Option
Converting a Fragmented Table to a Nonfragmented Table
FRAGMENT BY Clause for Tables
Changing an Existing Fragmentation Strategy on a Table
Defining a Fragmentation Strategy on a Nonfragmented Table
FRAGMENT BY Clause for Indexes
Detaching an Index from a Table-Fragmentation Strategy
Fragmenting Unique and System Indexes
ADD Clause
Adding a New Dbspace to a Round-Robin Distribution Scheme
Adding a New Named Fragment to a Round-Robin Distribution Scheme
Adding an expression-based fragment
Using the BEFORE and AFTER Options
Using the REMAINDER Option
DROP Clause
MODIFY Clause
Restrictions on the MODIFY clause for range interval fragments
Using the MODIFY INTERVAL TRANSITION option
Using the ONLINE keyword in MODIFY operations
Examples of the MODIFY clause with interval fragments
Examples of the MODIFY clause for list fragments
Examples of ALTER FRAGMENT ON INDEX statements
ALTER FUNCTION statement
Keywords That Introduce Modifications
ALTER INDEX statement
TO CLUSTER Option
TO NOT CLUSTER Option
ALTER PROCEDURE statement
ALTER ROUTINE statement
Restrictions
Keywords That Introduce Modifications
Example of Altering Routine Modifiers
ALTER SECURITY LABEL COMPONENT statement
The ADD ARRAY Clause
The ADD SET Clause
The ADD TREE Clause
ALTER SEQUENCE statement
INCREMENT BY Option
RESTART WITH Option
MAXVALUE or NOMAXVALUE Option
MINVALUE or NOMINVALUE Option
CYCLE or NOCYCLE Option
CACHE or NOCACHE Option
ORDER or NOORDER Option
Examples
ALTER TABLE statement
Logging TYPE Options
Statistics options of the ALTER TABLE statement
Restrictions on the table
Enterprise Replication shadow columns
Using the ADD ROWIDS Keywords
Using the DROP ROWIDS Keywords
Using the ADD VERCOLS Keywords
Using the DROP VERCOLS Keywords
ADD Column Clause
Logical Character Support in Character Columns
Using the BEFORE Option
DEFAULT Clause
DEFAULT Labels
Single-Column Constraint Format
Using NOT NULL Constraints with ADD
Constraint Definition
REFERENCES Clause
Restrictions on Referential Constraints
Default Column for the References Clause
Using the ON DELETE CASCADE Option
Locks Held During Creation of a Referential Constraint
CHECK Clause
Add Column Security
ADD AUDIT Clause
SECURITY POLICY Clause
DROP Column Clause
How Dropping a Column Affects Constraints
How Dropping a Column Affects Triggers
How Dropping a Column Affects Views
DROP AUDIT Clause
MODIFY Clause
Using the MODIFY Clause
Altering BYTE and TEXT Columns
Altering the Next Serial Value
Altering the Next Serial Value in a Typed Table
Altering character columns
Altering the Structure of Tables
Modifying Tables for NULL Values
Adding a Constraint on a Non-Opaque Column
Modify Column Security
Adding a Constraint That Existing Rows Violate
How Modifying a Column Affects Triggers
How Modifying a Column Affects Views
PUT Clause
ADD CONSTRAINT Clause
Multiple-Column Constraint Format
Using the INDEX DISABLED keywords in a foreign key definition
Adding a Primary-Key or Unique Constraint
Recovery from Constraint Violations
DROP CONSTRAINT Clause
MODIFY EXTENT SIZE
MODIFY NEXT SIZE Clause
LOCK MODE Clause
Precedence and Default Behavior
ADD TYPE Clause
Options Valid on Typed Tables
Altering Subtables and Supertables
ALTER TRUSTED CONTEXT
ALTER USER statement
BEGIN WORK statement
BEGIN WORK and ANSI-Compliant Databases
BEGIN WORK WITHOUT REPLICATION (ESQL/C)
Example of BEGIN WORK
CLOSE statement
Closing a Select or Function Cursor
Closing an Insert Cursor
Closing a Collection Cursor
Using End of Transaction to Close a Cursor
Examples
CLOSE DATABASE statement
COMMIT WORK statement
Issuing COMMIT WORK in a Database That Is Not ANSI Compliant
Explicit DB-Access Transactions
Issuing COMMIT WORK in an ANSI-Compliant Database
CONNECT statement
Privileges for Executing the CONNECT Statement
Connection Context
Database Environment
Restrictions on dbservername
Specifying the Database Environment
Only Database Server Specified
Database Server and Database Specified
Only Database Specified
Declaring a Connection Name
Connection Identifiers
USER Authentication Clause
Restrictions on the Validation Variable Parameter
Restrictions on the User Identifier Parameter
Use of the Default User ID
The DEFAULT Connection Specification
The Implicit Connection with DATABASE Statements
WITH CONCURRENT TRANSACTION Option
TRUSTED clause
CREATE ACCESS_METHOD statement
CREATE AGGREGATE statement
Extending the Functionality of Aggregates
Example of Creating a User-Defined Aggregate
Parallel Execution
CREATE CAST statement
Source and Target Data Types
Explicit and Implicit Casts
Explicit Casts
Implicit Casts
WITH Clause
CREATE DATABASE statement
Logging Options
Specifying Buffered Logging
ANSI-Compliant Databases
Specifying NLSCASE case sensitivity
CREATE DEFAULT USER statement
CREATE DISTINCT TYPE statement
Privileges on Distinct Types
Support Functions and Casts
Manipulating Distinct Types
CREATE EXTERNAL TABLE Statement
Column Definition
Using the SAMEAS Clause
Using the EXTERNAL Keyword
Defining NULL Values
Manipulating Data in Fixed Format Files
DATAFILES Clause
Using Formatting Characters with External Tables
Table options
Reject Files
External Table Examples
Loading Data from External Tables into Informix
Loading Data in Express Mode
Loading data in DELUXE mode
Loading from a Delimited File to a Database Table with the Same Schema
Loading from a Fixed Text File
Loading Between Tables That Have the Same Schema
Loading Values into Serial Columns
Loading Data Warehousing Tables
Loading Initially
Refreshing Periodically
Initial Loading of OLTP Data from Other Database Servers
Unloading Data to External Tables from Informix
Unloading to a Delimited File
Unloading to an Informix Data File
Unloading to a Fixed-Text File
Adding an End-of-Line Character to a Fixed Text File
Using a Program or Script
Adding a Newline Field in a SELECT Statement
Restrictions on External Tables
CREATE FUNCTION statement
Privileges necessary for using CREATE FUNCTION
DBA Keyword and Privileges on the Created Function
The REFERENCING and FOR Clauses
Overloading the Name of a Function
Using the SPECIFIC Clause to Specify a Specific Name
DOCUMENT Clause
WITH LISTING IN Clause
SPL Functions
External Procedures
Example of Registering a C User-Defined Function
Example of Registering a UDR Written in the Java Language
Ownership of Created Database Objects
Examples
CREATE FUNCTION FROM statement
CREATE INDEX statement
Index-Type Options
UNIQUE or DISTINCT Option
How Indexes Affect Primary-Key, Unique, and Referential Constraints
CLUSTER option
Index-Key Specification
Restrictions on columns as index keys
Using the return value of a function as an index key
Creating Composite Indexes
Using the ASC and DESC Sort-Order Options
Effects of Unique Constraints on Sort Order Options
Bidirectional Traversal of Indexes
Restrictions on the Number of Indexes on a Set of Columns
Using an Operator Class
USING Access-Method Clause
HASH ON clause
FILLFACTOR Option
Providing a Low Percentage Value
Providing a High Percentage Value
Storage options
Extent Size Options
IN Clause
Storing an Index in a dbspace
Storing an Index Fragment in a Named Partition
Storing Data in an extspace
Creating an Index with the IN TABLE Keywords
FRAGMENT BY Clause for Indexes
Restrictions on fragmentation expressions
Fragmentation of System Indexes
Fragmentation of Unique Indexes
Fragmentation of Indexes on Temporary Tables
Index Modes
Specifying Modes for Unique Indexes
Adding a Unique Index When Duplicate Values Exist in the Column
Specifying Modes for Duplicate Indexes
How the Database Server Treats Disabled Indexes
The ONLINE keyword of CREATE INDEX
Automatic Calculation of Distribution Statistics
CREATE OPAQUE TYPE statement
Declaring a Name for an Opaque Type
INTERNALLENGTH Modifier
Fixed-Length Opaque Types
Varying-Length Opaque Types
Opaque-Type Modifier
Defining an Opaque Type
CREATE OPCLASS statement
STRATEGIES Clause
Strategy Specification
Indexes on Side-Effect Data
SUPPORT Clause
Default Operator Classes
CREATE PROCEDURE statement
Using CREATE PROCEDURE Versus CREATE FUNCTION
Relationship Between Routines, Functions, and Procedures
Privileges Necessary for Using CREATE PROCEDURE
DBA Keyword and Privileges on the Procedure
The REFERENCING and FOR Clauses
Procedure Names in Informix
Using the SPECIFIC Clause to Specify a Specific Name
DOCUMENT Clause
Using the WITH LISTING IN Option
SPL Procedures
External Procedures
Registering a User-Defined Procedure
Ownership of Created Database Objects
Examples
CREATE PROCEDURE FROM statement
Default Directory That Holds the File
CREATE ROLE statement
CREATE ROUTINE FROM statement
Examples
CREATE ROW TYPE statement
Privileges on named ROW data types
Inheritance and Named ROW Types
Creating a Subtype
Type Hierarchies
Procedure for Creating a Subtype
Field Definition
Restrictions on Serial and Simple-Large-Object Data Types
CREATE SCHEMA statement
Creating Database Objects Within CREATE SCHEMA
CREATE SECURITY LABEL statement
Components and Elements of a Security Label
CREATE SECURITY LABEL COMPONENT statement
Types and Elements of Security Label Components
ARRAY Components
SET Components
TREE Components
CREATE SECURITY POLICY statement
Security Label Components of a Security Policy
Rules Associated with a Security Policy
CREATE SEQUENCE statement
INCREMENT BY Option
START WITH Option
MAXVALUE or NOMAXVALUE Option
MINVALUE or NOMINVALUE Option
CYCLE or NOCYCLE Option
CACHE or NOCACHE Option
ORDER or NOORDER Option
Examples
CREATE SYNONYM statement
Synonyms for objects outside the current database
PUBLIC and PRIVATE Synonyms
Synonyms with the Same Name
Chaining Synonyms
CREATE TABLE statement
Logging Options
Column Definition
DEFAULT Clause
Using NULL as a Default Value
Using a Literal as a Default Value
Using a Constant Expression as a Default Value
Single-Column Constraint Format
Restrictions on Using the Single-Column Constraint Format
Using the NOT NULL Constraint
Using the NULL Constraint
Using UNIQUE or DISTINCT Constraints
Differences Between a Unique Constraint and a Unique Index
Using the PRIMARY KEY Constraint
REFERENCES Clause
Restrictions on Referential Constraints
Default Values for the Referenced Column
Referential Relationships Within a Table
Locking Implications of Creating a Referential Constraint
Example That Uses the Single-Column Constraint Format
Using the ON DELETE CASCADE Option
CHECK Clause
Using a Search Condition
Restrictions When Using the Single-Column Constraint Format
Constraint Definition
Declaring a Constraint Name
Constraint Names That the Database Server Generates
Choosing a Constraint-Mode Option
Multiple-Column Constraint Format
Restrictions with the Multiple-Column Constraint Format
Using Large-Object Types in Constraints
Using the FOREIGN KEY Constraint
Examples of the Multiple-Column Constraint Format
Defining Check Constraints Across Columns
Defining Composite Primary and Foreign Keys
Default Index Creation Strategy for Constraints
Options clauses
Using the WITH AUDIT Clause
Using the WITH CRCOLS Option
Using the WITH ERKEY Keywords
Using the WITH REPLCHECK Keywords
Using the WITH VERCOLS Option
SECURITY POLICY Clause
Statistics options of the CREATE TABLE statement
Storage Options
Using the IN Clause
Storing Data in a dbspace
Storing Data in an extspace
Deferred extent storage allocation
FRAGMENT BY clause
Using the WITH ROWIDS Option
Fragmenting by ROUND ROBIN
Fragmenting by EXPRESSION
User-Defined Functions in Fragment Expressions
Using the REMAINDER Keyword
Fragmenting by LIST
Fragmenting by RANGE INTERVAL
Interval Fragment Clause
List fragment clause
Expression Fragment Clause
PUT Clause
Alternative to Full Logging
EXTENT SIZE Options
USING Access-Method Clause
LOCK MODE Options
Precedence and Default Behavior
OF TYPE Clause
Using Large-Object Data in Typed Tables
Using the UNDER Clause
Restrictions on Table Hierarchies
Access Privileges on Tables
System Catalog Information
CREATE TEMP TABLE statement
Naming a Temporary Table
Column Definition specification of the CREATE TEMP TABLE statement
Single-Column Constraint Format
Multiple-Column Constraint Format
Using the WITH NO LOG Option
Storage Options
Where Temporary Tables are Stored
Differences between temporary and permanent tables
Duration of temporary tables
CREATE TRIGGER statement
Defining a Trigger Event and Action
Restrictions on Triggers
Trigger Modes
Trigger Inheritance in a Table Hierarchy
Triggers and SPL Routines
Trigger Events
Trigger Events with Cursors
Privileges on the Trigger Event
Performance Impact of Triggers
INSERT Events and DELETE Events
UPDATE Event
Defining Multiple Update Triggers
SELECT Event
Circumstances When a Select Trigger Is Activated
Stand-alone SELECT Statements
SELECT Statements Within UDRs in the Select List
UDRs That EXECUTE PROCEDURE and EXECUTE FUNCTION Call
Subqueries in the Select List
Subqueries in the FROM Clause of SELECT
Subqueries in the WHERE Clause of DELETE or UPDATE
Select Triggers in Table Hierarchies
Circumstances When a Select Trigger Is Not Activated
Action Clause
BEFORE Actions
FOR EACH ROW Actions
AFTER Actions
Actions of Multiple Triggers
Guaranteeing Row-Order Independence
REFERENCING Clauses
REFERENCING Clause for Delete
REFERENCING Clause for Insert
REFERENCING Clause for Update
REFERENCING Clause for Select
Correlated Table Action
Triggered Action
WHEN Condition
Action Statements
UDRs as Triggered Actions
Achieving a Consistent Result
Using Reserved Words
Using Correlation Names in Triggered Actions
When to Use Correlation Names
Qualified Versus Unqualified Value
Re-Entrancy of Triggers
Re-Entrancy and Cascading Triggers
Rules for SPL Routines
Privileges to Execute Trigger Actions
Creating a Trigger Action That Anyone Can Use
Cascading Triggers
Constraint Checking
Preventing Triggers from Overriding Each Other
Tables in Remote Databases
Logging and Recovery
INSTEAD OF Triggers on Views
The Action Clause of INSTEAD OF Triggers
Restrictions on INSTEAD OF Triggers on Views
Updating Views
Example of an INSTEAD OF Trigger on a View
CREATE TRUSTED CONTEXT
CREATE USER statement
CREATE VIEW statement
Typed Views
Subset of SELECT Statements Valid in View Definitions
Union Views
Naming View Columns
Using a View in the SELECT Statement
WITH CHECK OPTION Keywords
Updating Through Views
CREATE XADATASOURCE statement
CREATE XADATASOURCE TYPE statement
DATABASE statement
SQLCA.SQLWARN Settings Immediately after DATABASE Executes (ESQL/C)
EXCLUSIVE keyword
DEALLOCATE COLLECTION statement
DEALLOCATE DESCRIPTOR statement
DEALLOCATE ROW statement
DECLARE statement
Overview of Cursor Types
Select Cursor or Function Cursor
Using the FOR READ ONLY Option
Using the FOR UPDATE Option
Using FOR UPDATE with a List of Columns
Locking with an Update Cursor
Subset of INSERT Statement with a Sequential Cursor
Insert Cursor
Cursor Characteristics
Creating a Sequential Cursor by Default
Using the SCROLL Keyword to Create a Scroll Cursor
Using the WITH HOLD Keywords to Create a Hold Cursor
Using an Insert Cursor with Hold
Subset of SELECT Statement Associated with Cursors
Examples of Cursors in Non-ANSI Compliant Databases
Examples of Cursors in ANSI-Compliant Databases
Associating a Cursor with a Prepared Statement
Select with a Collection-Derived Table
Using a Select Cursor with a Collection Variable
Insert with a Collection-Derived Table
Using Cursors with Transactions
Declaring a Dynamic Cursor in an SPL Routine
Syntax
Usage
DELETE statement
Using the ONLY Keyword
Considerations When Tables Have Cascading Deletes
Restrictions on DELETE When Tables Have Cascading Deletes
Locking and Logging Implications of Cascading Deletes
Using the WHERE Keyword to Specify a Condition
Subqueries in the WHERE Clause of DELETE
Declaring an alias for the table
Using the WHERE CURRENT OF Keywords (ESQL/C, SPL)
Deleting Rows That Contain Opaque Data Types
Deleting Rows That Contain Collection Data Types
Data Types in Distributed DELETE Operations
SQLSTATE Values in an ANSI-Compliant Database
SQLSTATE Values in a Database That Is Not ANSI-Compliant
DESCRIBE statement
The OUTPUT Keyword
Describing the Statement Type
Checking for the Existence of a WHERE Clause
Describing a Statement with Runtime Parameters
Using the SQL DESCRIPTOR Keywords
Using the INTO sqlda Pointer Clause
Describing a Collection Variable
DESCRIBE INPUT statement
Describing the Statement Type
Checking for Existence of a WHERE Clause
Describing a Statement with Dynamic Runtime Parameters
Using the SQL DESCRIPTOR Keywords
Using the INTO sqlda Pointer Clause
Describing a Collection Variable
DISCONNECT statement
DEFAULT Option
Specifying the CURRENT Keyword
When a Transaction is Active
Disconnecting in a Thread-Safe Environment
Specifying the ALL Option
DROP ACCESS_METHOD statement
Examples
DROP AGGREGATE statement
DROP CAST statement
Examples
DROP DATABASE statement
DROP FUNCTION statement
Dropping External Functions
Examples
DROP INDEX statement
The ONLINE keyword of DROP INDEX
Examples
DROP OPCLASS statement
DROP PROCEDURE statement
Dropping an External Procedure
DROP ROLE statement
DROP ROUTINE statement
Restrictions
Dropping an External Routine
DROP ROW TYPE statement
The RESTRICT Keyword
DROP SECURITY statement
Restrictions on Dropping Security Objects
Examples of Dropping Security Objects
DROP SEQUENCE statement
Examples
DROP SYNONYM statement
DROP TABLE statement
Effects of the DROP TABLE Statement
Specifying CASCADE Mode
Specifying RESTRICT Mode
Dropping a Table That Contains Opaque Data Types
Tables That Cannot Be Dropped
DROP TRIGGER statement
DROP TRUSTED CONTEXT statement
DROP TYPE statement
DROP USER statement
DROP VIEW statement
DROP XADATASOURCE statement
DROP XADATASOURCE TYPE statement
EXECUTE statement
Scope of Statement Identifiers
Restrictions with the INTO Clause
Replacing Placeholders with Parameters
Saving Values In Host or Program Variables
Saving Values in a System-Descriptor Area
Saving Values in an sqlda Structure (ESQL/C)
The sqlca Record and EXECUTE
Returned SQLCODE Values with EXECUTE
Supplying Parameters Through Host or Program Variables
Supplying Parameters Through a System Descriptor
Supplying Parameters Through an sqlda Structure (ESQL/C)
EXECUTE FUNCTION statement
Negator Functions and Their Companions
How the EXECUTE FUNCTION Statement Works
Data Variables
INTO Clause with Indicator Variables (ESQL/C)
INTO Clause with Cursors
Alternatives to PREPARE ... EXECUTE FUNCTION ... INTO
Dynamic Routine-Name Specification of SPL Functions
EXECUTE IMMEDIATE statement
EXECUTE IMMEDIATE and Restricted Statements
Restrictions on Valid Statements
Handling Exceptions from EXECUTE IMMEDIATE Statements
Examples of the EXECUTE IMMEDIATE Statement
EXECUTE PROCEDURE statement
Causes of Errors
Using the INTO Clause
The WITH TRIGGER REFERENCES Keywords
Example of Invoking a Trigger Procedure
Dynamic Routine-Name Specification of SPL Procedures
FETCH statement
FETCH with a Sequential Cursor
FETCH with a Scroll Cursor
How the Database Server Implements Scroll Cursors
Specifying Where Values Go in Memory
Using the INTO Clause
Using Indicator Variables
When the INTO Clause of FETCH is Required
Using a System-Descriptor Area (X/Open)
Using sqlda Structures
Fetching a Row for Update
Fetching from a Collection Cursor
Checking the Result of FETCH
FLUSH statement
Error Checking FLUSH Statements
Examples
FREE statement
GET DESCRIPTOR statement
Using the COUNT Keyword
Using the VALUE Clause
Using the VALUE Clause After a DESCRIBE
Using the VALUE Clause After a FETCH
Fetching a NULL Value
Using LENGTH or ILENGTH
Describing an Opaque-Type Column
Describing a Distinct-Type Column
Examples
GET DIAGNOSTICS statement
Using the SQLSTATE Error Status Code
Class and Subclass Codes
SQLSTATE Support for the ANSI/ISO Standard for SQL
List of SQLSTATE Codes
Using SQLSTATE in Applications
Statement Clause
Using the MORE Keyword
Using the ROW_COUNT Keyword
Using the NUMBER Keyword
EXCEPTION Clause
Using the RETURNED_SQLSTATE Keyword
Using the INFORMIX_SQLCODE Keyword
Using the CLASS_ORIGIN Keyword
Using the SUBCLASS_ORIGIN Keyword
Using the MESSAGE_TEXT Keyword
Using the MESSAGE_LENGTH Keyword
Using the SERVER_NAME Keyword
The Contents of the SERVER_NAME Field
The DATABASE Statement
Using the CONNECTION_NAME Keyword
When the CONNECTION_NAME Keyword Is Updated
When the CONNECTION_NAME Is Not Updated
The Contents of the CONNECTION_NAME Field
Using GET DIAGNOSTICS for Error Checking
GRANT statement
Database-Level Privileges
Table-Level Privileges
Effect of the ALL Keyword
Table Reference
Privileges on Tables and Synonyms
Privileges on a View
Type-Level Privileges
USAGE Privilege
UNDER Privilege
Routine-Level Privileges
Language-Level Privileges
Usage Privilege in Stored Procedure Language
Sequence-Level Privileges
Alter Privilege
Select Privilege
ALL Keyword
The User List
Role Name
Granting a Role to a User or to Another Role
Granting privileges to a role
Granting a Default Role
Granting the EXTEND Role
WITH GRANT OPTION Keywords
AS grantor Clause
Security Administration Options
DBSECADM Clause
EXEMPTION Clause
Rules on Which Exemptions Are Granted
Security Policies and Grantees of Exemptions
SECURITY LABEL Clause
Access Specifications
Rules for User Security Labels
Examples of Granting User Security Labels
SETSESSIONAUTH Clause
Surrogate user properties
GRANT FRAGMENT statement
Fragment-Level Privileges
Definition of Fragment-Level Authorization
Effect of Fragment-Level Authorization in Statement Validation
Duration of Fragment-Level Privileges
Specifying Fragments
The TO Clause
Granting Privileges to One User or a List of Users
Granting One Privilege or a List of Privileges
WITH GRANT OPTION Clause
AS grantor Clause
Omitting the AS grantor Clause
INFO statement
Examples
INSERT statement
Specifying Columns
Using the AT Clause (ESQL/C, SPL)
Inserting Rows Through a View
Inserting Rows with a Cursor
Inserting Rows into a Database Without Transactions
Inserting Rows into a Database with Transactions
VALUES Clause
Considering Data Types
Inserting Values into Serial Columns
Inserting Values into Opaque-Type Columns
Inserting Values into Collection Columns
Inserting Values into ROW-Type Columns
Data Types in Distributed INSERT Operations
Using Expressions in the VALUES Clause
Inserting NULL Values
Inserting Values into Protected Tables
Truncated CHAR Values
Subset of SELECT Statement
Execute Routine Clause
Number of Values Returned by SPL, C, and Java Functions
Inserting into a Row Variable (ESQL/C, SPL)
Using INSERT as a Dynamic Management Statement
LOAD statement
LOAD FROM File
Loading Simple Large Objects
Loading Smart Large Objects
Loading Complex Data Types
Loading Opaque-Type Columns
DELIMITER Clause
INSERT INTO Clause
LOCK TABLE statement
Concurrent Access to Tables with Shared Locks
Concurrent Access to Tables with Exclusive Locks
Databases with transaction logging
Databases without transaction logging
Locking Granularity
MERGE statement
Restrictions on Source and Target Tables
Handling Duplicate Rows
Examples of MERGE Statements
OPEN statement
Opening a Select Cursor
Opening an Update Cursor Inside a Transaction
Opening a Function Cursor
Reopening a Select or Function Cursor
Errors Associated with Select and Function Cursors
Opening an Insert Cursor (ESQL/C)
Example of Opening an Insert Cursor
Reopening an Insert Cursor
Opening a Collection Cursor (ESQL/C)
USING Clause
Specifying a System Descriptor Area (ESQL/C)
Specifying a Pointer to an sqlda Structure (ESQL/C)
Example of Specifying a Pointer to an sqlda Structure
Using the WITH REOPTIMIZATION Option (ESQL/C)
Relationship Between OPEN and FREE
DDL Operations on Tables Referenced by Cursors
OUTPUT statement
Sending Query Results to a File
Displaying Query Results Without Column Headings
Sending Query Results to Another Program
PREPARE statement
Restrictions
Declaring a Statement Identifier
Scope of Statement Identifiers
Releasing a Statement Identifier
Statement Text
Preparing and Executing User-Defined Routines
Restricted Statements in Single-Statement Prepares
Preparing Statements When Parameters Are Known
Preparing Statements That Receive Parameters
Preparing Statements with SQL Identifiers
Obtaining SQL Identifiers from User Input
Preparing Multiple SQL Statements
Restricted Statements in Multistatement Prepared Objects
Using Prepared Statements for Efficiency
DDL Operations on Tables Referenced in Prepared Objects
PUT statement
Supplying Inserted Values
Using Constant Values in INSERT
Naming Program Variables in INSERT
Naming Program Variables in PUT
Using the USING Clause
Specifying a System-Descriptor Area
Specifying an sqlda Structure
Inserting into a Collection Cursor
Writing Buffered Rows
Error Checking
RELEASE SAVEPOINT statement
RENAME COLUMN statement
How Views and Check Constraints Are Affected
How Triggers Are Affected
Example of RENAME COLUMN
RENAME DATABASE statement
RENAME INDEX statement
RENAME SECURITY statement
RENAME SEQUENCE statement
RENAME TABLE statement
RENAME TRUSTED CONTEXT statement
RENAME USER statement
REVOKE statement
Revoking database server access from mapped users
Database-level privileges
Table-Level Privileges
When to Use REVOKE Before GRANT
Replacing PUBLIC with Specified Users
Restricting Access to Specific Columns
Effect of the ALL Keyword
Effect of the ALL Keyword on UNDER Privilege
Effect of Uncommitted Transactions
Type-Level Privileges
Usage Privilege
Under Privilege
Routine-Level Privileges
Language-Level Privileges
Sequence-Level Privileges
Alter Privilege
Select Privilege
ALL Keyword
User List
Role Name
Revoking a Default Role
Revoking the EXTEND Role
Revoking Privileges Granted WITH GRANT OPTION
The AS Clause
Effect of CASCADE Keyword on UNDER Privileges
Controlling the Scope of REVOKE with the RESTRICT Option
Security Administration Options
DBSECADM Clause
EXEMPTION Clause
Rules on Which Exemptions Are Revoked
Security Policies and Grantees of Exemptions
SECURITY LABEL Clause
Access Specifications
Examples of Revoking User Security Labels
SETSESSIONAUTH Clause
REVOKE FRAGMENT statement
Specifying Fragments
The FROM Clause
Fragment-Level Privileges
The AS Clause
Examples of the REVOKE FRAGMENT Statement
Revoking Privileges on One Fragment
Revoking Privileges on More Than One Fragment
Revoking Privileges from More Than One User
Revoking Privileges Without Specifying Fragments
ROLLBACK WORK statement
WORK Keyword
TO SAVEPOINT Clause
SAVE EXTERNAL DIRECTIVES statement
External optimizer directives
Enabling or disabling external directives for a session
The directive Specification
The ACTIVE, INACTIVE, and TEST ONLY Keywords
The query Specification
SAVEPOINT statement
SELECT statement
Projection Clause
The Order of Qualifying Rows
Using the SKIP Option
Using the FIRST Option
The LIMIT Keyword
Using SKIP, FIRST, LIMIT, or MIDDLE as a Column Name
Using the SKIP Option with the FIRST Option
Allowing Duplicates
Duplicate rows in NLSCASE INSENSITIVE databases
Data Types in Distributed Queries
Data Types in Cross-Database Transactions
Data Types in Cross-Server Transactions
Expressions in the Select List
Selecting Columns
Selecting Constants
Selecting Built-In Function Expressions
Selecting Aggregate Function Expressions
Selecting User-Defined Function Expressions
Selecting Expressions That Use Arithmetic Operators
Selecting ROW Fields
Declaring a Display Label
Declaring a Column Alias
INTO Clause
INTO Clause with Indicator Variables
INTO Clause with Cursors
Using the INTO clause in the SELECT statement
Using the INTO clause in the FETCH statement
Preparing a SELECT ... INTO Query
Using Array Variables with the INTO Clause
Error Checking
Warnings in ESQL/C
FROM Clause
Aliases for Tables or Views
The AS Keyword
Table Expressions
Usability and Performance Considerations
Restrictions on External Tables in Joins and Subqueries
The ONLY Keyword
Selecting from a Collection Variable
Using Collection Variables with SELECT
Selecting from a Row Variable (ESQL/C)
Iterator Functions
Queries that Join Tables
ANSI-Compliant Joins
ANSI Table Reference
Creating an ANSI Join
ANSI Joined Tables
ANSI CROSS Joins
ANSI INNER Joins
ANSI LEFT OUTER Joins
ANSI RIGHT OUTER Joins
ANSI FULL OUTER Joins
Using the ON Clause
Specifying a Post-Join Filter
Using a Join as the Dominant or Subordinate Part of an Outer Join
Informix-Extension Outer Joins
WHERE Clause of SELECT
Using a Condition in the WHERE Clause
Relational-Operator Condition
IN Condition
BETWEEN Condition
Using IS NULL and IS NOT NULL Conditions
LIKE or MATCHES Condition
IN Subquery
EXISTS Subquery
ALL, ANY, SOME Subqueries
Specifying a Join in the WHERE Clause
Two-Table Joins
Multiple-Table Joins
Self-Joins
Informix-Extension Outer Joins
Hierarchical Clause
START WITH Clause
CONNECT BY Clause
Conditions in the CONNECT BY Clause
GROUP BY Clause
Dependencies between the GROUP BY and Projection clauses
NULL Values in the GROUP BY Clause
Using Select Numbers
HAVING Clause
ORDER BY Clause
Ordering by a Column or by an Expression
Ordering by a Substring
Ascending and Descending Orders
Nested Ordering
Using Select Numbers
Ordering by Rowids
ORDER BY Clause with DECLARE
Placing Indexes on ORDER BY Columns
ORDER SIBLINGS BY Clause
FOR UPDATE Clause
Syntax incompatible with the FOR UPDATE clause
FOR READ ONLY Clause
Using the FOR READ ONLY Clause in Read-Only Mode
Syntax That Is Incompatible with the FOR READ ONLY Clause
INTO Table Clauses
Results When No Rows are Returned
Restrictions with INTO Table Clauses in ESQL/C
INTO TEMP Clause
Using the WITH NO LOG Option
INTO EXTERNAL Clause
Table Options
Specifying Delimiters
UNION Operator
Restrictions on a Combined SELECT
UNION ALL operator
UNION in Subqueries
SET AUTOFREE statement
Globally Affecting Cursors with SET AUTOFREE
Using the FOR Clause to Specify a Specific Cursor
Associated and Detached Statements
Closing Cursors Implicitly
SET COLLATION statement
Specifying a Collating Order with SET COLLATION
Restrictions on SET COLLATION
Collation Performed by Database Objects
SET CONNECTION statement
Making a dormant connection as the current connection
Making a current connection as the dormant connection
Dormant Connections in a Single-Threaded Environment
Dormant Connections in a Thread-Safe Environment
Identifying the Connection
DEFAULT Option
CURRENT Keyword
When a Transaction is Active
SET CONSTRAINTS statement
SET Database Object Mode statement
Privileges Required for Changing Database Object Modes
Object-List Format
Table Format
Modes for Constraints and Unique Indexes
Definitions of Database Object Modes
Enabled Mode
Disabled Mode
Filtering Mode
Starting and Stopping the Violations and Diagnostics Tables
Error Options for Filtering Mode
Effect of Filtering Mode on the Database
Modes for Triggers and Duplicate Indexes
Examples
SET DATASKIP statement
Circumstances When a Dbspace Cannot Be Skipped
Examples
SET DEBUG FILE statement
Using the WITH APPEND Option
Closing the Output File
Redirecting Trace Output
Location of the Output File
SET DEFERRED_PREPARE statement
Example of SET DEFERRED_PREPARE
Using Deferred-Prepare with OPTOFC
SET DESCRIPTOR statement
Using the COUNT Clause
Using the VALUE Clause
Item Descriptor
Setting the TYPE or ITYPE Field
Compiling Without the -xopen Option
Setting the TYPE Field in X/Open Programs
Using DECIMAL or MONEY Data Types
Using DATETIME or INTERVAL Data Types
Setting the DATA or IDATA Field
Setting the LENGTH or ILENGTH Field
Setting the INDICATOR Field
Setting Opaque-Type Fields
Setting Distinct-Type Fields
Modifying Values Set by the DESCRIBE Statement
SET ENCRYPTION PASSWORD statement
Storage Requirements for Encryption
Specifying a Session Password and Hint
Levels of Encryption
Protecting Passwords
SET ENVIRONMENT statement
AUTO_READAHEAD environment option
AUTO_STAT_MODE Environment Option
BOUND_IMPL_PDQ Environment Option
DEFAULTESCCHAR Environment Option
EXTDIRECTIVES Environment Option
FORCE_DDL_EXEC Environment Option
IFX_AUTO_REPREPARE Environment Option
IMPLICIT_PDQ Environment Option
OPTCOMPIND Environment Option
RETAINUPDATELOCKS Environment Option
STATCHANGE Environment Option
USELASTCOMMITTED Environment Option
USTLOW_SAMPLE environment option
SET EXPLAIN statement
Using the AVOID_EXECUTE Option
Using the FILE TO Option
Default Name and Location of the Output File on UNIX
Default Name and Location of the Output File on Windows
SET EXPLAIN output
Complete-Connection Level Settings and Output Examples
External Table Operations in SET EXPLAIN Output
SET INDEXES statement
SET ISOLATION statement
Complete-Connection Level Settings
Informix Isolation Levels
Using the Dirty Read Isolation Level
Using the Committed Read Isolation Level
The LAST COMMITTED Option to Committed Read
Using the Cursor Stability Isolation Level
Using the Repeatable Read Isolation Level
Default Isolation Levels
Using the RETAIN UPDATE LOCKS Option
Turning the Option OFF During a Transaction
Effects of Isolation Levels
Isolation Levels for Secondary Data Replication Servers
SET LOCK MODE statement
WAIT Clause
Complete-Connection Level Settings
SET LOG statement
SET OPTIMIZATION statement
HIGH and LOW Options
FIRST_ROWS and ALL_ROWS Options
Optimizing SPL Routines
ENVIRONMENT Options
Examples
SET PDQPRIORITY statement
Allocating Database Server Resources
SET ROLE statement
Setting the Default Role
SET SESSION AUTHORIZATION statement
SET SESSION AUTHORIZATION and Transactions
SET STATEMENT CACHE statement
Precedence and Default Behavior
Turning the Cache ON
Restrictions on Matching Entries in the SQL Statement Cache
Turning the Cache OFF
Statement Qualification
Requiring Re-Execution Before Cache Insertion
Enabling or Disabling Insertions After Size Exceeds Configured Limit
Prepared Statements and the Statement Cache
Examples
SET TRANSACTION statement
Comparing SET TRANSACTION with SET ISOLATION
Informix Isolation Levels
Using the Read Uncommitted Option
Using the Read Committed Option
Using the Repeatable Read and Serializable Options
Default Isolation Levels
Access Modes
Effects of Isolation Levels
SET Transaction Mode statement
Statement-Level Checking
Transaction-Level Checking
Duration of Transaction Modes
Specifying All Constraints or a List of Constraints
Specifying Remote Constraints
Examples of Setting the Transaction Mode for Constraints
SET TRIGGERS statement
SET USER PASSWORD statement
START VIOLATIONS TABLE statement
Relationship to the SET Database Object Mode statement
Effect on concurrent transactions
Stopping the Violations and Diagnostics Tables
USING Clause
Using the MAX ROWS clause
Specifying the maximum number of rows in the diagnostics table
Privileges required for starting violations or diagnostics tables
Structure of the violations table
Examples of START VIOLATIONS TABLE Statements
Violations and Diagnostics Tables with Default Names
Violations and Diagnostics Tables with Explicit Names
Relationships Among the Target, Violations, and Diagnostics Tables
Initial Privileges on the Violations Table
Example of Privileges on the Violations Table
Using the Violations Table
Example of a Violations Table
Structure of the diagnostics table
Initial privileges on the diagnostics table
Using the Diagnostics Table
STOP VIOLATIONS TABLE statement
Example of Stopping the Violations and Diagnostics Tables
Example of Dropping the Violations and Diagnostics Tables
Privileges Required for Stopping a Violations Table
TRUNCATE statement
The TABLE Keyword
The Table Specification
The Storage Specification
The AM_TRUNCATE Purpose Function
Performance Advantages of TRUNCATE
Restrictions on the TRUNCATE statement
UNLOAD statement
UNLOAD TO File
Unloading Character Columns
Unloading Simple Large Objects
Unloading Smart Large Objects
Unloading Complex Types
DELIMITER Clause
UNLOCK TABLE statement
UPDATE statement
Using the ONLY Keyword
Updating Rows Through a View
Updating Rows in a Database Without Transactions
Updating Rows in a Database with Transactions
Locking Considerations
Declaring an alias for the target table
SET Clause
Single-Column Format
Using a Subquery to Update a Single Column
Updating a Column to NULL
Updating the Same Column Twice
Multiple-Column Format
Using a Subquery to Update Multiple Column Values
Updating ROW-Type Columns
Updating Collection Columns
Updating Values in Opaque-Type Columns
Data Types in Distributed UPDATE Operations
WHERE Clause of UPDATE
SQLSTATE Values When Updating an ANSI-Compliant Database
SQLSTATE Values When Updating a Non-ANSI Database
Subqueries in the WHERE Clause of UPDATE
Using the WHERE CURRENT OF Clause (ESQL/C, SPL)
Updating a Row Variable (ESQL/C)
Examples
UPDATE STATISTICS statement
Scope of UPDATE STATISTICS
Updating Statistics for Tables
Automated Table Statistics Maintenance
Using the FOR TABLE ONLY Keywords
Updating Statistics for Columns
Examining Index Pages
Updating Statistics for Columns of User-Defined Types
Requirements for Statistics on Opaque Columns
Using the FORCE and AUTO keywords
Using the LOW mode option
Using the DROP DISTRIBUTIONS Option
Using the DROP DISTRIBUTIONS ONLY Option
Using the MEDIUM mode option
Using the HIGH mode option
Resolution Clause
Specifying the SAMPLING SIZE
Using the DISTRIBUTIONS ONLY Option to Suppress Index Information
Using DBUPSPACE Settings to Suppress Index Information
Output for UPDATE STATISTICS from the SET EXPLAIN Statement
Routine Statistics
Altered Tables that are Referenced Indirectly in SPL Routines
Updating Statistics When You Upgrade the Database Server
Performance considerations of UPDATE STATISTICS statements
WHENEVER statement
The Scope of WHENEVER
SQLERROR Keyword
ERROR Keyword
SQLWARNING Keyword
NOT FOUND Keywords
CONTINUE Keyword
STOP Keyword
GOTO Keyword
CALL Clause
SPL statements
Debugging SPL routines
Starting an SPL debugging session with Optim Development Studio
Debugging SPL procedures with IBM Database Add-Ins for Visual Studio
<< Label >> statement
Examples of Labels
CALL
Specifying Arguments
Receiving input from the called UDR
CONTINUE
DEFINE
Referencing TEXT and BYTE Variables
Redeclaration or Redefinition
Declaring Global Variables
Default Value
CURRENT
SYSDATE
USER
TODAY
BYTE and TEXT
SITENAME or DBSERVERNAME
Declaring Local Variables
Subset of Complex Data Types
Declaring Collection Variables
Declaring ROW Variables
Declaring Opaque-Type Variables
Declaring Variables LIKE Columns
Defining Variables with Logical Character Semantics
Declaring Variables as the PROCEDURE Type
Declaring Variables for BYTE and TEXT Data
EXIT
EXIT From FOREACH Statements
EXIT From FOR, LOOP, and WHILE Loops
FOR
Using the TO Keyword to Define a Range
Specifying Two or More Ranges in a Single FOR Statement
Using an Expression List as the Range
Mixing Range and Expression Lists in the Same FOR Statement
Specifying a Labelled FOR Loop
FOREACH
Using a SELECT ... INTO Statement
Using the ORDER BY Clause of the SELECT Statement
Using Hold Cursors
Updating or Deleting Rows Identified by Cursor Name
Using Collection Variables
Restrictions
Examples
Modifying Elements in a Collection Variable
Using Select Cursors with FOREACH
Calling a UDR in the FOREACH Loop
GOTO
IF
ELIF Clause
ELSE Clause
Conditions in an IF Statement
Subset of SPL Statements Allowed in the IF Statement List
SQL Statements Not Valid in an IF Statement
LET
Using a SELECT Statement in a LET Statement
Calling a Function in a LET Statement
LOOP
Simple LOOP Statements
FOR LOOP Statements
WHILE LOOP Statements
Labeled LOOP Statements
ON EXCEPTION
Placement of the ON EXCEPTION statement
Using the IN Clause to Trap Specific Exceptions
Receiving Error Information in the SET Clause
Forcing Continuation of the Routine
Continuing Execution After an Exception Occurs
RAISE EXCEPTION
Special Error Number -746
RETURN
WITH RESUME Keyword
Returning Values from Another Database
External Functions and Iterator Functions
SYSTEM
Executing the SYSTEM statement on UNIX
Executing the SYSTEM statement on Windows
Setting Environment Variables in SYSTEM Commands
TRACE
TRACE ON
TRACE OFF
TRACE PROCEDURE
Displaying Expressions
Example Showing Different Forms of TRACE
Looking at the Traced Output
WHILE
Example of WHILE Loops in an SPL Routine
Labeled WHILE Loops
Data types and expressions
Scope of Segment Descriptions
Use of Segment Descriptions
Data type and expression segments
Collection Subquery
Table expressions in the FROM clause
Condition
Comparison Conditions (Boolean Expressions)
Column Name
Quotation Marks in Conditions
Relational-Operator Condition
BETWEEN Condition
IN Condition
Using the IN operator with collection data types
IS NULL and IS NOT NULL Conditions
Trigger-Type Boolean Operator
LIKE and MATCHES Condition
NOT Operator
LIKE Operator
MATCHES Operator
ESCAPE with LIKE
ESCAPE with MATCHES
Stand-Alone Condition
Condition with Subquery
IN Subquery
EXISTS Subquery
ALL, ANY, and SOME Subqueries
Using the ALL Keyword
Using the ANY or SOME Keywords
Omitting the ANY, ALL, or SOME Keywords
NOT Operator
Conditions with AND or OR
Data Type
Built-In Data Types
BOOLEAN and Other Built-In Opaque Data Types
Character Data Types
Single-Byte and Multi-Byte Characters and Locales
Fixed- and Varying-Length Character Data Types
LVARCHAR Data Type
NCHAR and NVARCHAR Data Types
NCHAR and NVARCHAR expressions in case-insensitive databases
IDSSECURITYLABEL Data Type
Numeric Data Types
Exact Numeric Data Types
DECIMAL(p,s) Data Types
Serial Data Types
Approximate Numeric Data Types
Large-Object Data Types
Simple-large-object data Types
Storing BYTE and TEXT Data
Smart-large-object data types
Time Data Types
User-Defined Data Type
Distinct Data Types
DISTINCT Types in Distributed Operations
Opaque Data Types
Complex Data Type
ROW Data Types
Collection Data Types
Duplicate Elements in DML Operations on SET Columns
Defining the Element Type
DATETIME Field Qualifier
Expression
Syntax of SQL Expressions
Usage
List of Expressions
Arithmetic Operators
Bitwise Logical Functions
BITAND Function
BITOR Function
BITXOR Function
BITANDNOT Function
BITNOT Function
Concatenation Operator
Cast Expressions
Rules for the Target Data Type
Examples of Cast Expressions
The Keyword NULL in Cast Expressions
Column Expressions
Using Dot Notation
Selecting All Fields of a ROW Column with Asterisk Notation
Selecting Nested Fields
Rules of Precedence
Using Dot Notation with Row-Type Expressions
Using the Substring Operator
Using Rowids
Using Smart Large Objects
Conditional Expressions
CASE Expressions
CASE expressions data type compatibility
Generic CASE Expressions
Linear CASE Expressions
NVL Function
NULLIF Function
DECODE Function
Constant Expressions
Quoted String
Literal Number
USER or CURRENT_USER Operator
CURRENT_ROLE Operator
DEFAULT_ROLE Operator
DBSERVERNAME and SITENAME Operators
TODAY Operator
CURRENT Operator
SYSDATE Operator
Literal DATETIME
Literal INTERVAL
UNITS Operator
NEXTVAL and CURRVAL Operators
Using NEXTVAL
Using CURRVAL
Concurrent Access to a Sequence
Restrictions
Examples
Literal Row
Literal Collection
Constructor Expressions
ROW Constructors
Collection Constructors
Examples of Collection Constructors
NULL Keyword
Function Expressions
Algebraic Functions
ABS Function
CEIL Function
FLOOR Function
MOD Function
POW Function
ROOT Function
SQRT Function
ROUND Function
TRUNC Function
CARDINALITY Function
SQLCODE Function (SPL)
DBINFO Function
DBINFO Options
Using the ('dbspace', tblspace_num) Option
Using the 'sqlca.sqlerrd1' Option
Using the 'sqlca.sqlerrd2' Option
Using the 'sessionid' Option
Using the ’cdrsession’ option
Using the ‘dbname' Option
Using the ‘dbhostname’ Option
Using the ‘version' Option
Using the 'serial8' and 'bigserial' options
Using the 'get_tz' Option
Using the 'utc_current' Option
Using the 'utc_to_datetime' Option
Encryption and decryption functions
Column Level and Cell Level Encryption
The Password and Hint Specifications
Data Types, Encoding, and Size of Encrypted Values
Example of Column Level Encryption
Calculating storage requirements for encrypted data
Implementing column-level encryption
DECRYPT_CHAR Function
DECRYPT_BINARY Function
ENCRYPT_AES Function
ENCRYPT_TDES Function
GETHINT Function
Exponential and Logarithmic Functions
EXP Function
LOG10 Function
LOG10 Function
LOGN Function
HEX Function
Length functions
LENGTH Function
OCTET_LENGTH Function
CHAR_LENGTH Function
Security Label Support Functions
SECLABEL_BY_NAME Function
SECLABEL_BY_COMP Function
SECLABEL_TO_CHAR Function
Smart-Large-Object Functions
FILETOBLOB and FILETOCLOB Functions
Pathnames with Commas
LOTOFILE Function
&