Home | Previous Page | Next Page  

Contents

Introduction
About This Manual
Types of Users
Software Dependencies
Assumptions About Your Locale
Demonstration Databases
New Features
Documentation Conventions
Typographical Conventions
Feature, Product, and Platform
Syntax Diagrams
Example Code Conventions
Additional Documentation
Installation Guides
Online Notes
Informix Error Messages
Manuals
Online Help
Accessibility
Compliance with Industry Standards
IBM Welcomes Your Comments
The Database Server
Introducing the Database Server
In This Chapter
Database Server Users
End Users
Application Developers
Database Administrators
Database Server Administrators
Database Server Operators
Extended Parallel Server
Client/Server Architecture
Dynamic Scalable Architecture
High Performance
Fault Tolerance
Database Server Security
Year 2000 Compliance
Extended Parallel-Processing Architecture
Extended Multithreaded Operation
Extended Scalability
Extended Client/Server Operations
Extended Dynamic Shared-Memory Management
Direct Disk Access
Single Point of Administration
Control of Resources in Parallel
Overview of Database Server Administration
Database Server Administrator
Initial Tasks
Configuration Tasks
Managing Disk Space
Managing Database-Logging Status
Managing the Logical Log
Managing the Physical Log
Using Mirroring
Managing Shared Memory
Managing Virtual Processors
Managing Parallel Database Query
Routine Tasks
Changing Modes
Backing Up Data and Logical-Log Files
Monitoring Database Server Activity
Checking for Consistency
Summary of Administration Tasks
Monitoring Database Server Activity
Sources of Information for Monitoring
Message Log
Event Alarm
System Console
SMI Tables
onstat Utility
onutil CHECK Utility
xctl Utility
Configuration
Installing and Configuring the Database Server
Planning for the Database Server
Considering Your Priorities
Considering Your Environment
Configuring the Operating System
Modifying UNIX Kernel Parameters
Preparing the Operating System for the Database Server
Allocating Disk Space
Creating a Raw Device or Unbuffered File
Creating Standard Device Names
Setting Permissions, Ownership, and Group
Setting Up Disk Access Across Nodes
Installing the Database Server
Using Multiple Residency
Upgrading the Database Server
Setting Environment Variables
Required Environment Variables
Global Language Support
Other Environment Variables
Environment Variable Files
Configuring Connectivity
The sqlhosts File
Preparing the ONCONFIG Configuration File
Creating a Configuration File
Starting and Administering the Database Server
Preparing to Connect to Applications
Configuring the Database Server Page Size
Starting the Database Server and Initialize Disk Space
Performing Administrative Tasks
Setting Up Your Storage Manager and Storage Devices
Creating Storage Spaces
Monitoring Configuration Information
Using Command-Line Utilities
Configuration Parameters
Disk-Space Parameters
Root Dbspace
Mirror of Root Dbspace
Number of Storage Spaces
Other Space-Management Parameters
Database Server Identification Parameters
Logging Parameters
Logical Log
Physical Log
Storage-Space and Logical-Log Backups
Message-Log Parameters
Shared-Memory Parameters
Shared-Memory Size Allocation
Shared-Memory Space Allocation
Shared-Memory Buffer Control
Decision-Support Parameters
Database Server Process Parameters
Processor Type
Processor Affinity
Time Intervals
Restore Parameters
Event-Alarm Parameters
Dump Parameters
Coserver Parameters
Specialized Parameters
Optical Media
UNIX
Coserver Configuration
Configuring Multiple Coservers
Global Configuration Parameters
Coserver-Specific Configuration Parameters
Platform-Specific Configuration Parameters
Organizing the Configuration File
Setting Storage-Manager Parameters for ON-Bar
Choosing a Coserver Configuration
Single Coserver on a Single-Node Platform
Multiple Coservers on a Single-Node Platform
Single Coservers on Each Node of a Multiple-Node Platform
Multiple Coservers on Each Node of a Multiple-Node Platform
Managing Coservers
Adding Coservers
Customizing the Coserver Definition
Using the Default Cogroups
Creating User-Defined Cogroups
Enabling and Disabling Specific-Purpose Coservers
Removing Specific-Purpose Coservers
Defining Cogroups
Modifying Cogroups
Monitoring Coserver Activities
Creating and Loading Tables Fragmented Across Coservers
Client/Server Communications
Client/Server Architecture
Network Protocol
Network Programming Interface
Database Server Connection
Multiplexed Connection
Connections That the Database Server Supports
Local Connections
Coserver Client Connections
Communication Support Services
IBM Informix Password Communication Support Module
Connectivity Files
Network-Configuration Files
Network-Security Files
CSM Configuration File
The sqlhosts File
The sqlhosts Information
Connectivity Information
Group Information
Alternatives for TCP/IP Connections
ONCONFIG Parameters for Connectivity
COSERVER Configuration Parameter
DBSERVERNAME Configuration Parameter
DBSERVERALIASES Configuration Parameter
NETTYPE Configuration Parameter
Environment Variables for Network Connections
Examples of Client/Server Configurations
Using a Shared-Memory Connection
Using a Local-Loopback Connection
Using a Network Connection
Using Multiple Connection Types
Accessing Multiple Database Servers
Multiple Residency
Benefits of Multiple Residency
How Multiple Residency Works
The Role of the ONCONFIG Environment Variable
The Role of the SERVERNUM Configuration Parameter
Using Multiple Residency
Planning for Multiple Residency
Creating a New Database Server
Prepare a Configuration File
Set the ONCONFIG Environment Variable
Edit the New Configuration File
Add Connection Information
Update the sqlhosts File
Initialize Disk Space
Prepare Dbspace and Logical-Log Backup Environment
Update the Operating-System Boot File
Check INFORMIXSERVER Environment Variables for Users
Modes and Initialization
Managing Database Server Operating Modes
Database Server Operating Modes
Initializing Disk Space
Changing Database Server Operating Modes
Users Permitted to Change Modes
From Offline to Quiescent
From Offline to Microkernel
From Offline to Online
From Quiescent to Online
Gracefully from Online to Quiescent
Immediately from Online to Quiescent
From Any Mode Immediately to Offline
Initializing the Database Server
Types of Initialization
Initializing the Database Server
Initialization Steps
Process Configuration File
Create Shared-Memory Portions
Initialize Shared-Memory Structures
Initialize Disk Space
Start All Required Virtual Processors
Make Necessary Conversions
Initiate Fast Recovery
Initiate a Checkpoint
Document Configuration Changes
Create the oncfg_servername.servernum File
Drop Temporary Tblspaces
Set Forced Residency If Specified
Return Control to User
Prepare SMI Tables
Disk, Memory, and Process Management
Virtual Processors and Threads
Virtual Processors
Threads
Types of Virtual Processors
Advantages of Virtual Processors
How Virtual Processors Service Threads
Control Structures
Context Switching
Stacks
Queues
Mutexes
Virtual-Processor Classes
CPU Virtual Processors
Disk I/O Virtual Processors
Network Virtual Processors
First-In-First-Out Virtual Processor
Communications Support Module Virtual Processor
Miscellaneous Virtual Processor
Managing Virtual Processors
Setting Virtual-Processor Configuration Parameters
Setting Virtual-Processor Configuration Parameters with a Text Editor
Starting and Stopping Virtual Processors
Adding Virtual Processors in Online Mode
Monitoring Virtual Processors
Monitoring Virtual Processors with Command-Line Utilities
Monitoring 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
How Utilities Attach to Shared Memory
How Virtual Processors Attach to Shared Memory
Resident Shared-Memory Segments
Resident Portion of Shared Memory
Shared-Memory Header
Shared-Memory Buffer Pool
Logical-Log Buffer
Physical-Log Buffer
Lock Table
Virtual Portion of Shared Memory
Management of the Virtual Portion of Shared Memory
Components of the Virtual Portion of Shared Memory
Communications Portion of Shared Memory
Concurrency Control
Shared-Memory Mutexes
Shared-Memory Buffer Locks
Database Server Thread Access to Shared Buffers
LRU Queues
Configuring the Database Server to Read Ahead
Database Server Thread Access to Buffer Pages
Flushing Data to Disk
Events That Prompt Flushing of Buffer-Pool Buffers
Flushing Before-Images First
Flushing the Physical-Log Buffer
Synchronizing Buffer Flushing
Describing Flushing Activity
Flushing the Logical-Log Buffer
Buffering Simple-Large-Object Data Types
Blobpages Do Not Pass Through Shared Memory
TEXT and BYTE Objects Are Created Before the Data Row Is Inserted
Tracking Blobpages
Memory Use on 64-Bit Platforms
Managing Shared Memory
Setting Operating-System Shared-Memory Configuration Parameters
Maximum Shared-Memory Segment Size
Maximum Number of Shared-Memory Identifiers
Shared-Memory Lower-Boundary Address
Maximum Amount of Shared Memory for One Process
Setting Database Server Shared-Memory Configuration Parameters
Setting Parameters for Resident Shared Memory with a Text Editor
Tuning Parameters for Resident Shared Memory with onutil
Setting Parameters for Virtual Shared Memory with a Text Editor
Tuning Parameters for Virtual Shared Memory with onutil
Setting Parameters for Shared-Memory Performance Options with a Text Editor
Tuning Parameters for Shared-Memory Performance Options with onutil
Reinitializing Shared Memory
Turning Residency On or Off for Resident Shared Memory
Turning Residency On or Off in On-Line Mode
Turning Residency On or Off for the Next Time You Reinitialize Shared Memory
Adding a Segment to the Virtual Portion of Shared Memory
Monitoring Shared Memory
Monitoring Shared-Memory Segments
Monitoring the Shared-Memory Profile
Monitoring Buffers
Monitoring Buffer-Pool Activity
Monitoring Latches
Data Storage
Overview of Data Storage
Physical Units of Storage
Chunks
Disk Allocation for Chunks
Pages
Extents
Logical Units of Storage
Dbspaces
Dbslices
Databases
Tables
Table Types
Temporary Tables
Tblspaces
Table Fragmentation and Data Storage
Amount of Disk Space Needed to Store Data
Size of the Root Dbspace
Amount of Space That Databases Require
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
Managing Disk Space
Initializing Disk Space
Allocating Disk Space
Specifying an Offset
Allocating a File for Disk Space on UNIX
Allocating Raw Disk Space on UNIX
Configuring Disk Space for Multiple Coservers
Creating Standard Device Names
Setting Up Disk Access Across Nodes
Backing Up After You Change the Physical Schema
Creating a Dbspace
Specifying Pathnames for Dbspaces
Specifying Names and Maximum Number of Storage Spaces
Backing Up the New Dbspace
Creating a Temporary Dbspace
Creating a Dbspace with onutil
Creating Dbslices
Naming Dbslices
Increasing the Number of Dbslices
Backing Up the New Dbslice
Altering a Dbslice
Increasing the Maximum Number of Dbspaces, Chunks, or Dbslices
Adding a Chunk to a Dbspace
Backing Up the New Chunk
Naming Chunks and Storage Spaces
Limiting Chunk Size and Number
Loading Data Into a Table
Changing the Status of a dbspace
Toggling Between Read-Only and Operational Mode
Toggling Between Online and Offline Mode
Dropping a Chunk
Verifying Whether a Chunk Is Empty
Dropping a Chunk from a Dbspace with onutil
Dropping a Storage Space
Preparing to Drop a Storage Space
Backing Up After Dropping a Storage Space
Dropping a Mirrored Storage Space
Dropping a Dbspace with onutil
Dropping Dbslices
Skipping Inaccessible Fragments
Using the DATASKIP Configuration Parameter
Using onutil to modify DATASKIP
Using onstat to Check Dataskip Status
Using the SQL Statement SET DATASKIP
Effect of the Dataskip Feature on Transactions
Determining When to Use Dataskip
Monitoring Fragmentation Use
Displaying Databases
Using SMI Tables
Monitoring the Database Server for Disabling I/O Errors
Using the Message Log to Monitor Disabling I/O Errors
Using Event Alarms to Monitor Disabling I/O Errors
Monitoring Disk Usage
Monitoring Chunks
Monitoring Tblspaces and Extents
Monitoring Simple Large Objects in a Dbspace
No Compression of TEXT and BYTE Data Types
Table Fragmentation and PDQ
Fragmentation
Fragmentation Goals
Responsibility for Fragmentation
Fragmentation Strategies
SQL Statements That Perform Fragmentation Tasks
Parallel Database Query
Parallelism
Structure of a PDQ Query
Use of PDQ
OLTP Applications
Decision-Support Applications
Database Server Use of PDQ
Resource Grant Manager
Fragmentation Enhancement to PDQ
How the Database Server Balances Workload
Resource Allocation with PDQ
Parameters for Controlling PDQ
Loading with External Tables for Extended Parallel Server
Getting an Overview of High-Performance Loading
Loading and UnLoading Data
Data-Format Conversion
Data Load
Data Unload
File Types and Formats
Loading Modes
Optimization
Starting to Load and Unload Data
Specifying the External Table
Loading Data in Express Mode
Loading Data in Deluxe Mode
Loading, Unloading, and Reorganizing Data
Loading from a Delimited File with Unchanged Columns
Unloading to a Delimited File
Mapping Columns to Other Columns
Unloading to an Informix Data File
Loading Between Tables That Have the Same Schema
Loading from a Fixed-ASCII File
Unloading to a Fixed-ASCII File
Loading from an IBM Fixed-EBCDIC File
Loading from and Unloading to a Named Pipe
Adding an End-of-Line Character to a Fixed-ASCII File
Loading Values into Serial Columns
Loading Data Warehousing Tables
Loading Simple Large Objects
Formats for Simple Large Objects
Loading Simple Large Objects from an External Table
Using Pipe Staging
Monitoring the Load or Unload Operations
Monitoring Frequent Loads and Unloads
Monitoring FIFO Virtual Processors
Monitoring Loads and Unloads of Data
Recovering After Errors
Reject Files
Error Messages
Recoverability of Table Types
Logging and Log Administration
Logging
Database Server Processes That Require Logging
Transaction Logging
Database Server Activity That Is Logged
Activity That Is Always Logged
Activity Logged for Databases with Transaction Logging
Logging and Nonlogging Tables
Use of Logging Tables
Use of Nonlogging Tables
Activity That Is Not Logged
Database-Logging Status
Unbuffered Transaction Logging
Buffered Transaction Logging
ANSI-Compliant Transaction Logging
Databases with Different Log-Buffering Status
Settings or Changes for Logging Status or Mode
Managing Database-Logging Status
Changing Database-Logging Status
Modifying Database-Logging Status with ondblog
Changing Buffering Status with ondblog
Canceling a Logging Mode Change with ondblog
Making a Database ANSI Compliant with ondblog
Modifying the Table-Logging Status
Altering a Table to Turn Off Logging
Altering a Table to Turn On Logging
Creating a Nonlogging Temporary Table
Monitoring Transaction Logging
Monitoring Transaction Logging with SMI Tables
Monitoring Transaction Logging with System Catalog Tables
Logical Log
Logical Log
Logical-Log Files
Logical-Log Administration
Logical-Log Files on a Coserver
Logslices
Size of the Logical Log
Performance Considerations
Long-Transaction Considerations
Size and Number of Logical-Log Files
Location of Logical-Log Files
Identification of Logical-Logs
Status Flags of Logical-Log Files
Backup of Logical-Log Files
Logical-Log Restore
Point-In-Time Restore
Freeing of Logical-Log Files
Database Server Attempt to Free a Log File
Action If the Next Logical-Log File Is Not Free
Logical Log and Long Transactions
Logging Process
Dbspace Logging
Managing Logical-Log Files
Adding a Logical-Log File or Logslice
Adding a Logical-Log File or Logslice with onutil
Altering a Logslice
Dropping a Logical-Log File or Logslice
Dropping a Logical-Log File or Logslice with onutil
Moving a Logical-Log File to Another Dbspace
Changing the Size of Logical-Log Files
Using onutil SET to configure the LOGSIZE parameter
Using onutil to replace Log Files or Logslices
Changing Logical-Log Configuration Parameters
Switching to the Next Logical-Log File
Monitoring Logging Activity
Monitoring the Logical Log for Fullness
Using SMI Tables
Monitoring Log-Backup Status
Displaying Logical-Log Records
Physical Logging
Physical Logging
Purpose of Physical Logging
Database Server Activity That Is Physically Logged
Size and Location of the Physical Log
Limit to the Size of the Physical Log
Location of the Physical Log
Details of Physical Logging
Page Is Read into the Shared-Memory Buffer Pool
A Copy of the Page Buffer Is Stored in the Physical-Log Buffer
Change Is Reflected in the Data Buffer
Physical-Log Buffer Is Flushed to the Physical Log
Page Buffer Is Flushed
When a Checkpoint Occurs
How the Physical Log Is Emptied
Managing the Physical Log
Changing the Physical-Log Location and Size
Reasons to Change the Physical-Log Location and Size
Preparing to Make the Changes
Checking For Adequate Contiguous Space
Using a Text Editor to Change Physical-Log Location or Size
Monitoring Physical and Logical Logging Activity
Using Command-Line Utilities
Using SMI Tables
Checkpoints and Fast Recovery
How the Database Server Achieves Data Consistency
Critical Sections
Checkpoints
Full Checkpoint
Fuzzy Checkpoint
Events That Initiate a Fuzzy Checkpoint
Events That Initiate a Full Checkpoint
Forcing a Full Checkpoint
Forcing a Fuzzy Checkpoint
Sequence of Events in a Checkpoint
Backup and Restore Considerations
Time Stamps
Time Stamps on Disk Pages
Time Stamps on Logical-Log Pages
Fast Recovery
Need for Fast Recovery
Situations When Fast Recovery Is Initiated
Details of Fast Recovery After A Full Checkpoint
Details of Fast Recovery After A Fuzzy Checkpoint
Fast Recovery of Tables
Monitoring Checkpoint Information
Using onstat Options
Using SMI Tables
Fault Tolerance
Mirroring
Mirroring
Benefits of Mirroring
Costs of Mirroring
Consequences of Not Mirroring
Data to Mirror
Alternatives to Mirroring
Mirroring Process
Creation of a Mirror Chunk
Mirror Status Flags
Recovery
Actions During Processing
Result of Stopping Mirroring
Structure of a Mirror Chunk
Using Mirroring
Steps Required for Mirroring Data
Enabling Mirroring
Changing the MIRROR Parameter with ONCONFIG
Allocating Disk Space for Mirrored Data
Linking Chunks
Relinking a Chunk to a Device After a Disk Failure
Using Mirroring
Mirroring the Root Dbspace During Initialization
Changing the Mirror Status
Taking Down a Mirror Chunk
Ending Mirroring
Ending Mirroring with onutil
Managing Mirroring in Extended Parallel Server
Starting Mirroring for Unmirrored Dbspaces
Starting Mirroring for New Dbspaces and Dbslices
Adding Mirror Chunks to a Dbspace
Taking Down a Mirror Chunk
Recovering a Mirror Chunk
Modifying Mirroring of All Root Dbspaces
Ending Mirroring for a Dbspace
Consistency Checking
Performing Periodic Consistency Checking
Verifying Consistency
Monitoring for Data Inconsistency
Retaining Consistent Level-0 Backups
Dealing with Corruption
Symptoms of Corruption
Fixing Index Corruption
I/O Errors on a Chunk
Collecting Diagnostic Information
Appendixes
Notices
Index
Home | [ Top of Page | Previous Page | Next Page | Contents | Index ]