getting started with informix-universal server - department of

120
Getting Started with INFORMIX-Universal Server ® Version 9.1 March 1997 Part No. 000-3890

Upload: others

Post on 11-Feb-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Getting Started withINFORMIX-UniversalServer

®

Version 9.1March 1997Part No. 000-3890

ii Getting Started with IN

Published by INFORMIX® Press Informix Software, Inc.4100 Bohannon DriveMenlo Park, CA 94025

Copyright 1981-1997 by Informix Software, Inc. or their subsidiaries, provided that portions may becopyrighted by third parties, as set forth in documentation. All rights reserved.

The following are worldwide trademarks of Informix Software, Inc., or its subsidiaries, registered in theUnited States of America as indicated by “®,” and in numerous other countries worldwide:

INFORMIX; INFORMIX-OnLine Dynamic Server; DataBlade

The following are worldwide trademarks of the indicated owners or their subsidiaries, registered in theUnited States of America as indicated by “®,” and in numerous other countries worldwide:

Novell, Inc.: Novell; NetWare; IPX/SPXUNIX System Laboratories: OPEN LOOK

X/OpenCompany Ltd.: UNIX; X/Open

All other marks or symbols are registered trademarks or trademarks of their respective owners.

Documentation Team: Barbara Daniell, Karin Kristenson, Jennifer Leland

To the extent that this software allows the user to store, display, and otherwise manipulate various forms ofdata, including, without limitation, multimedia content such as photographs, movies, music and other binarylarge objects (blobs), use of any single blob may potentially infringe upon numerous different third-partyintellectual and/or proprietary rights. It is the user's responsibility to avoid infringements of any such third-party rights.

RESTRICTED RIGHTS/SPECIAL LICENSE RIGHTS

Software and documentation acquired with US Government funds are provided with rights as follows: (1) iffor civilian agency use, with Restricted Rights as defined in FAR 52.227-19; (2) if for Dept. of Defense use, withrights as restricted by vendor's standard license, unless superseded by negotiated vendor license as prescribedin DFAR 227.7202. Any whole or partial reproduction of software or documentation marked with this legendmust reproduce the legend.

FORMIX-Universal Server

Table of Contents

Table ofContents

IntroductionAbout This Manual . . . . . . . . . . . . . . . . . . 3

Organization of This Manual . . . . . . . . . . . . . 3Types of Users . . . . . . . . . . . . . . . . . . 4Software Dependencies . . . . . . . . . . . . . . . 5Assumptions About Your Locale. . . . . . . . . . . . 5Demonstration Database . . . . . . . . . . . . . . 5

Major Features . . . . . . . . . . . . . . . . . . . 6Documentation Conventions . . . . . . . . . . . . . . 6

Typographical Conventions . . . . . . . . . . . . . 7Icon Conventions . . . . . . . . . . . . . . . . . 7

Additional Documentation . . . . . . . . . . . . . . . 9On-Line Manuals . . . . . . . . . . . . . . . . . 9Printed Manuals . . . . . . . . . . . . . . . . . 10Error Message Files . . . . . . . . . . . . . . . . 10Documentation Notes, Release Notes, Machine Notes . . . . 11Related Reading . . . . . . . . . . . . . . . . . 12

Compliance with Industry Standards . . . . . . . . . . . 13Informix Welcomes Your Comments . . . . . . . . . . . . 14

Chapter 1 Introducing INFORMIX-Universal Server ArchitectureOverview of Database Management Systems . . . . . . . . . 1-4

Relational Database Management Systems . . . . . . . . 1-5Object-Relational Database Management Systems. . . . . . 1-5

Architectural Elements of Universal Server . . . . . . . . . 1-6Client/Server Architecture . . . . . . . . . . . . . . 1-6Scalability . . . . . . . . . . . . . . . . . . . 1-7High Performance. . . . . . . . . . . . . . . . . 1-7Fault Tolerance and High Availability . . . . . . . . . . 1-10Distributed Databases . . . . . . . . . . . . . . . 1-12Database Server Security . . . . . . . . . . . . . . 1-13

iv INFOR

Chapter 2 Introducing Universal Server FeaturesData Types Supported . . . . . . . . . . . . . . . . 2-4

Built-In Data Types . . . . . . . . . . . . . . . . 2-4User-Defined Data Types . . . . . . . . . . . . . . 2-5Complex Data Types . . . . . . . . . . . . . . . 2-6

User-Defined Routines . . . . . . . . . . . . . . . . 2-10Access Methods . . . . . . . . . . . . . . . . . . 2-11

Primary Access Methods . . . . . . . . . . . . . . 2-11Secondary Access Methods . . . . . . . . . . . . . 2-12

DataBlade Modules . . . . . . . . . . . . . . . . . 2-13Large-Object Support . . . . . . . . . . . . . . . . . 2-15

Smart Large Objects . . . . . . . . . . . . . . . . 2-15Simple Large Objects . . . . . . . . . . . . . . . 2-16

Application-Programming Interfaces . . . . . . . . . . . 2-17DataBlade API. . . . . . . . . . . . . . . . . . 2-17Global Language Support API . . . . . . . . . . . . 2-18

DB-Access Support . . . . . . . . . . . . . . . . . 2-18Dbschema Support . . . . . . . . . . . . . . . . . 2-18Utility Enhancements . . . . . . . . . . . . . . . . . 2-19

Chapter 3 Introducing Universal Server KitsINFORMIX-Universal Server . . . . . . . . . . . . . . 3-3

Universal Database Server . . . . . . . . . . . . . 3-4BladeManager . . . . . . . . . . . . . . . . . . 3-4LOB Locator DataBlade Module . . . . . . . . . . . 3-4

INFORMIX-DB Admin Kit for Microsoft Windows Environments . 3-5SQL Editor . . . . . . . . . . . . . . . . . . . 3-5BladeManager . . . . . . . . . . . . . . . . . . 3-6Schema Knowledge . . . . . . . . . . . . . . . . 3-6SetNet 32 . . . . . . . . . . . . . . . . . . . 3-6

INFORMIX-DataBlade Developer’s Kit for Microsoft WindowsEnvironments . . . . . . . . . . . . . . . . 3-7

BladeSmith . . . . . . . . . . . . . . . . . . . 3-7BladePack . . . . . . . . . . . . . . . . . . . 3-8BladeManager . . . . . . . . . . . . . . . . . . 3-8SQL Editor . . . . . . . . . . . . . . . . . . . 3-9Schema Knowledge . . . . . . . . . . . . . . . . 3-9

INFORMIX-Developer SDK for UNIX . . . . . . . . . . . 3-10Development Components for the UNIX Environment. . . . 3-10Runtime Libraries for the UNIX Environment . . . . . . . 3-12

MIX

INFORMIX-Developer SDK for Microsoft Windows Environments . 3-13Development Components for the Microsoft Windows

Environment . . . . . . . . . . . . . . . 3-13Runtime Libraries for the Microsoft Windows Environment . . 3-13

INFORMIX-Connect for UNIX . . . . . . . . . . . . . . 3-14Runtime Libraries . . . . . . . . . . . . . . . . . 3-14Documentation Notes . . . . . . . . . . . . . . . 3-14

INFORMIX-Connect for Microsoft Windows Environments . . . . 3-15Runtime Libraries . . . . . . . . . . . . . . . . . 3-15SetNet32 . . . . . . . . . . . . . . . . . . . . 3-15Documentation Notes . . . . . . . . . . . . . . . 3-16

Chapter 4 Getting Up and Running with Universal ServerMigrating from a Previous Informix Database Server . . . . . . 4-3Getting Started Tasks . . . . . . . . . . . . . . . . . 4-3

Client Applications Supported by Universal Server . . . . . 4-4Installing Universal Server . . . . . . . . . . . . . . 4-4Configuring the Database Server Environment . . . . . . . 4-6Configuring the SQL API Environment . . . . . . . . . 4-10Choosing a Database Type . . . . . . . . . . . . . . 4-11Making the Initial Connection to a Database Server . . . . . 4-16Creating the Demonstration Database . . . . . . . . . . 4-17Getting Error Message Information . . . . . . . . . . . 4-17

Chapter 5 Using Universal Server DocumentationWho Uses Universal Server? . . . . . . . . . . . . . . . 5-3

Database Users . . . . . . . . . . . . . . . . . . 5-3Programmers . . . . . . . . . . . . . . . . . . 5-4Database Administrators . . . . . . . . . . . . . . 5-4Universal Server Administrators . . . . . . . . . . . . 5-4

Universal Server Documentation Task Matrix . . . . . . . . . 5-5

Chapter 6 Universal Server Documentation MatrixUniversal Server Documentation . . . . . . . . . . . . . 6-3INFORMIX-DB Admin Kit for Microsoft Windows Environments

Documentation . . . . . . . . . . . . . . . . 6-7INFORMIX-DataBlade Developer’s Kit for Microsoft Windows

Environments Documentation . . . . . . . . . . . 6-8INFORMIX-Developer SDK for UNIX Documentation . . . . . . 6-9INFORMIX-Developer SDK for Microsoft Windows Environments

Documentation . . . . . . . . . . . . . . . . 6-11

Table of Contents v

vi INFOR

INFORMIX-Connect for UNIX . . . . . . . . . . . . . 6-13INFORMIX-Connect for Microsoft Windows Environments . . . 6-14

Appendix A Environment Variables

Index

MIX

Introduction

Introduction

About This Manual . . . . . . . . . . . . . . . . . . . 3Organization of This Manual . . . . . . . . . . . . . . 3Types of Users . . . . . . . . . . . . . . . . . . . 4Software Dependencies . . . . . . . . . . . . . . . . 5Assumptions About Your Locale . . . . . . . . . . . . . 5Demonstration Database . . . . . . . . . . . . . . . 5

Major Features . . . . . . . . . . . . . . . . . . . . 6

Documentation Conventions . . . . . . . . . . . . . . . 6Typographical Conventions . . . . . . . . . . . . . . 7Icon Conventions . . . . . . . . . . . . . . . . . . 7

Comment Icons . . . . . . . . . . . . . . . . . 8Cross-Reference Icons . . . . . . . . . . . . . . . 8Feature Icons . . . . . . . . . . . . . . . . . . 9

Additional Documentation . . . . . . . . . . . . . . . . 9On-Line Manuals . . . . . . . . . . . . . . . . . . 9Printed Manuals . . . . . . . . . . . . . . . . . . 10Error Message Files . . . . . . . . . . . . . . . . . 10Documentation Notes, Release Notes, Machine Notes . . . . . 11Related Reading . . . . . . . . . . . . . . . . . . 12

Compliance with Industry Standards . . . . . . . . . . . . 13

Informix Welcomes Your Comments . . . . . . . . . . . . . 14

2 INFOR

MIX

R ead this introduction for an overview of the informationprovided in this manual and for an understanding of the documentationconventions used.

About This ManualGetting Started with INFORMIX-Universal Server provides an overview ofUniversal Server architecture, introduces the major features of UniversalServer, introduces Universal Server kits, and provides information to helpyou use the documentation that is included with each Universal Server kit.

Organization of This ManualThis manual includes the following chapters:

■ This Introduction provides an overview of the manual and describesthe documentation conventions used.

■ Chapter 1, “Introducing INFORMIX-Universal Server Architecture,”provides an overview of database management systems and intro-duces Universal Server architecture.

■ Chapter 2, “Introducing Universal Server Features,” introduces thefeatures of Universal Server and identifies the primary book thatcontains detailed information about the features.

Introduction 3

Types of Users

■ Chapter 3, “Introducing Universal Server Kits,” describes thecomponents of each Universal Server kit. Universal Server kits are:

❑ INFORMIX-Universal Server

❑ INFORMIX-DB Admin Kit for Microsoft Windows Environments

❑ INFORMIX-DataBlade Developer’s Kit for Microsoft WindowsEnvironments

❑ INFORMIX-Developer SDK for UNIX

❑ INFORMIX-Developer SDK for Microsoft WindowsEnvironments

❑ INFORMIX-Connect for UNIX

❑ INFORMIX-Connect for Microsoft Windows Environments

■ Chapter 4, “Getting Up and Running with Universal Server,”provides a list of the major tasks you need to perform to getUniversal Server up and running.

■ Chapter 5, “Using Universal Server Documentation,” contains amatrix that includes cross-references from tasks to the appropriatemanual in the Universal Server documentation set.

■ Chapter 6, “Universal Server Documentation Matrix,” containsdescriptions of books provided with each Universal Server kit.

■ Appendix A is a quick-reference list of all Universal Serverenvironment variables.

Types of UsersThis manual is written for database administrators, Universal Server admin-istrators, client/application programmers, and database users. It assumedyou understand the basic elements of a relational database. If you areunfamiliar with relational database concepts, review the Informix Guide toSQL: Tutorial.

4 Getting Started with INFORMIX-Universal Server

Software Dependencies

Software DependenciesThis manual assumes that you are using INFORMIX-Universal Server,Version 9.1, as your database server.

In this manual, all instances of Universal Server refer to INFORMIX-UniversalServer.

Assumptions About Your LocaleInformix products can support many languages, cultures, and code sets. Allculture-specific information is brought together in a single environment,called a GLS (Global Language Support) locale.

This manual assumes that you are using the default locale, en_us.8859-1. Thislocale supports U.S. English format conventions for dates, times, andcurrency. In addition, this locale supports the ISO 8859-1 code set, whichincludes the ASCII code set plus many 8-bit characters such as é, è, and ñ.

If you plan to use nondefault characters in your data or your SQL identifiers,or if you want to conform to the nondefault collation rules of character data,you need to specify the appropriate nondefault locale(s). For instructions onhow to specify a nondefault locale, additional syntax, and other consider-ations related to GLS locales, see the Guide to GLS Functionality.

Demonstration DatabaseThe DB-Access utility, which is provided with your Informix database serverproducts, includes a demonstration database called stores7 that containsinformation about a fictitious wholesale sporting-goods distributor. Samplecommand files are also included.

Many examples in Informix manuals are based on the stores7 demonstrationdatabase. The stores7 database is described in detail and its contents arelisted in Appendix A of the Informix Guide to SQL: Reference.

The script that you use to install the demonstration database is calleddbaccessdemo7 and is located in the $INFORMIXDIR/bin directory. For acomplete explanation of how to create and populate the demonstrationdatabase on your database server, refer to the DB-Access User Manual.

Introduction 5

Major Features

Major FeaturesThe major features of INFORMIX-Universal Server are documented inChapter 2, “Introducing Universal Server Features.”

The Introduction to each Version 9.1 product manual contains a list of majorfeatures for that product. The Introduction to each manual in the Version 9.1Informix Guide to SQL series contains a list of new SQL features.

Major features for Version 9.1 Informix products also appear in release notes.

Documentation ConventionsThis section describes the conventions that this manual uses. These conven-tions make it easier to gather information from this and other Informixmanuals.

The following conventions are covered:

■ Typographical conventions

■ Icon conventions

6 Getting Started with INFORMIX-Universal Server

Typographical Conventions

Typographical ConventionsThis manual uses the following standard set of conventions to introduce newterms, illustrate screen displays, describe command syntax, and so forth.

Tip: When you are instructed to “enter” characters or to “execute” a command,immediately press RETURN after the entry. When you are instructed to “type” thetext or to “press” other keys, no RETURN is required.

Icon ConventionsThroughout the documentation, you will find text that is identified by severaldifferent types of icons. This section describes these icons.

Convention Meaning

KEYWORD All keywords appear in uppercase letters in a serif font.

italics Within text, new terms and emphasized words appear in italics.Within syntax diagrams, values that you are to specify appearin italics.

boldface Identifiers (names of classes, objects, constants, events,functions, program variables, forms, labels, and reports),environment variables, database names, filenames, tablenames, column names, icons, menu items, command names,and other similar terms appear in boldface.

monospace Information that the product displays and information that youenter appear in a monospace typeface.

KEYSTROKE Keys that you are to press appear in uppercase letters in a sansserif font.

♦ This symbol indicates the end of feature-, product-, platform-,or compliance-specific information.

Introduction 7

Icon Conventions

Comment Icons

Comment icons identify warnings, important notes, or tips. This informationis always displayed in italics.

Cross-Reference Icons

Cross-reference icons indicate paragraphs that show where you can findmore information about a topic.

Icon Description

The warning icon identifies vital instructions, cautions, orcritical information.

The important icon identifies significant information aboutthe feature or operation that is being described.

The tip icon identifies additional details or shortcuts for thefunctionality that is being described.

Icon Description

Identifies paragraphs that contain cross references to otherInformix manuals that provide additional information on atopic.

8 Getting Started with INFORMIX-Universal Server

Additional Documentation

Feature Icons

Feature icons identify paragraphs that contain feature-specific information.

These icons can apply to a row in a table, one or more paragraphs, or an entiresection. A ♦ symbol indicates the end of the feature-specific information.

Additional DocumentationFor additional information, you might want to refer to the following types ofdocumentation:

■ On-line manuals

■ Printed manuals

■ Error message files

■ Documentation notes, release notes, and machine notes

■ Related reading

On-Line ManualsA CD that contains Informix manuals in electronic format is provided withyour Informix products. You can install the documentation or access itdirectly from the CD. For information about how to install, read, and print on-line manuals, see either the installation guide for your product or the instal-lation insert that accompanies the documentation CD.

The documentation set that is provided on the CD describes Universal Server,its implementation of SQL, and its associated application-programminginterfaces. For an overview of the manuals in the Universal Serverdocumentation set, and Universal Server kit documentation, see Chapter 5,“Using Universal Server Documentation.”

Icon Description

Identifies information that relates to the Informix GlobalLanguage Support (GLS) feature.

GLS

Introduction 9

Printed Manuals

Printed ManualsThe Universal Server documentation set describes Universal Server, itsimplementation of SQL, and its associated application-programminginterfaces. In addition, Universal Server kits include documentation tosupport the various components of each kit. For an overview of the manualsin the Universal Server documentation set, and Universal Server kitdocumentation, see Chapter 6, “Universal Server Documentation Matrix.”

To order printed manuals, call 1-800-331-1763 or send email [email protected].

Please provide the following information:

■ The documentation that you need

■ The quantity that you need

■ Your name, address, and telephone number

Error Message FilesInformix software products provide ASCII files that contain all the Informixerror messages and their corrective actions. To read the error messages in theASCII file, Informix provides scripts that let you display error messages onthe screen (finderr) or print formatted error messages (rofferr). For a detaileddescription of these scripts, see the Introduction to the Informix Error Messagesmanual.

10 Getting Started with INFORMIX-Universal Server

Documentation Notes, Release Notes, Machine Notes

Documentation Notes, Release Notes, Machine NotesIn addition to printed documentation, the following on-line files, located inthe $INFORMIXDIR/release/en_us/0333 directory, supplement the infor-mation in this manual.

Please examine these files because they contain vital information aboutapplication and performance issues.

On-Line File Purpose

STARTDOC_9.1 The documentation-notes file describes features that are notcovered in this manual or that have been modified sincepublication.

SERVERS_9.1 The release-notes file describes feature differences from earlierversions of Informix products and how these differences mightaffect current products. This file also contains informationabout any known problems and their workarounds. The filelisted contains the release notes for Universal Server.

IUNIVERSAL_9.1 The machine-notes file describes any special actions that arerequired to configure and use Informix products on yourcomputer. Machine notes are named for the product described.

Introduction 11

Related Reading

Related ReadingFor additional technical information on database management,consult the following books:

■ Object-Relational DBMSs: The Next Great Wave by MichaelStonebraker with Dorothy Moore (Morgan KaufmannPublishers, Inc., 1996)

■ An Introduction to Database Systems by C. J. Date (Addison-Wesley Publishing, 1995)

■ Transaction Processing: Concepts and Techniques by Jim Grayand Andreas Reuter (Morgan Kaufmann Publishers, Inc.,1993)

To learn more about the SQL language, consider the following books:

■ A Guide to the SQL Standard by C. J. Date with H. Darwen(Addison-Wesley Publishing, 1993)

■ Understanding the New SQL: A Complete Guide by J. Meltonand A. Simon (Morgan Kaufmann Publishers, 1993)

Informix manuals assume that you are familiar with your computeroperating system. If you have limited experience with youroperating system, consult your operating-system manual or a goodintroductory text before you read this manual.

The following texts provide a good introduction to UNIX systems:

■ Introducing the UNIX System V by R. Morgan and H.McGilton (McGraw-Hill Book Company, 1987)

■ Learning the UNIX Operating System by G. Todino, J. Strang,and J. Peek (O’Reilly & Associates, 1993)

■ UNIX System V: A Practical Guide by M. Sobell(Benjamin/Cummings Publishing, 1995)

12 Getting Started with INFORMIX-Universal Server

Compliance with Industry Standards

The following texts provide a good introduction to Windows NT:

■ Using Windows NT Workstation 3.51 by Paul Sanna (Que, 1996)

■ Microsoft Windows NT Resource Kit by Russ Blake (Microsoft Press,1995)

■ NT Server Management and Control by Kenneth L. Spencer (Prentice-Hall, 1995)

■ Windows NT Administration by Marshall Brain and Shay Woodard(Prentice-Hall, 1994)

■ Windows NT Network Programming by Ralph Davis (Addison-Wesley,1994)

■ Inside Windows NT by Helen Custer (Microsoft Press, 1993)

Compliance with Industry StandardsThe American National Standards Institute (ANSI) has established a set ofindustry standards for SQL. Informix SQL-based products are fully compliantwith SQL-92 Entry Level (published as ANSI X3.135-1992), which is identicalto ISO 9075:1992, on INFORMIX-Universal Server. In addition, many featuresof Universal Server comply with the SQL-92 Intermediate and Full Level andX/Open SQL CAE (common applications environment) standards.

Introduction 13

Informix Welcomes Your Comments

Informix Welcomes Your CommentsPlease tell us what you like or dislike about our manuals. To help us withfuture versions of our manuals, we want to know about corrections or clari-fications that you would find useful. Include the following information:

■ The name and version of the manual that you are using

■ Any comments that you have about the manual

■ Your name, address, and phone number

Write to us at the following address:

Informix Software, Inc.SCT Technical Publications Department4100 Bohannon DriveMenlo Park, CA 94025

If you prefer to send email, our address is:

[email protected]

Or send a facsimile to the Informix Technical Publications Department at:

415-926-6571

We appreciate your feedback.

14 Getting Started with INFORMIX-Universal Server

1Chapter

Introducing INFORMIX-Universal Server Architecture

Overview of Database Management Systems . . . . . . . . . . 1-4Relational Database Management Systems . . . . . . . . . 1-5Object-Relational Database Management Systems . . . . . . . 1-5

Architectural Elements of Universal Server . . . . . . . . . . 1-6Client/Server Architecture . . . . . . . . . . . . . . . 1-6Scalability. . . . . . . . . . . . . . . . . . . . . 1-7High Performance . . . . . . . . . . . . . . . . . . 1-7

Raw Disk Management. . . . . . . . . . . . . . . 1-8Memory Management . . . . . . . . . . . . . . . 1-8Dynamic Thread Allocation . . . . . . . . . . . . . 1-9Parallelization . . . . . . . . . . . . . . . . . . 1-9

Fault Tolerance and High Availability . . . . . . . . . . . 1-10Dbspace and Logical-Log Backups of Transaction Records . . 1-10Fast Recovery . . . . . . . . . . . . . . . . . . 1-11Mirroring . . . . . . . . . . . . . . . . . . . 1-11High-Availability Data Replication. . . . . . . . . . . 1-11Point-in-Time Restore . . . . . . . . . . . . . . . 1-12

Distributed Databases . . . . . . . . . . . . . . . . 1-12Database Server Security . . . . . . . . . . . . . . . 1-13

1-2 INFO

RMIX

INFORMIX-Universal Server extends relational database technology tosupport more complex data types such as 2D and 3D images, sound, video,electronic documents, HTML pages, time-series data, and spatial data.INFORMIX-Universal Server starts with the building blocks ofINFORMIX-OnLine Dynamic Server dynamic scalable architecture (DSA) andextends the capability of the relational database management system to anobject-relational database management system. This section provides anoverview of database management systems and then lists the building blocksthat define the architecture of Universal Server. For information on thefeatures specific to Universal Server, see Chapter 2, “Introducing UniversalServer Features.”

Introducing INFORMIX-Universal Server Architecture 1-3

Overview of Database Management Systems

Overview of Database Management SystemsFour fundamentally different technologies are available to manage data: filesystems, relational database management systems (RDBMS), object-orienteddatabase management systems (OODBMS), and object-relational databasemanagement systems (ORDBMS). Each has its own strengths that make itappropriate for particular classes of data management problems. Figure 1-1illustrates the four database management systems.

While file systems, video server database management systems, and object-oriented database management systems provide valid solutions to businessapplications that do not require query capabilities, they are not discussed inthis section. This section concentrates on relational database managementsystems (such as INFORMIX-OnLine Dynamic Server) and object-relationaldatabase management systems (such as INFORMIX-Universal Server).

Figure 1-1Database

ManagementSystem Grid

Relational databasemanagement system

Object-relational databasemanagement system

(RDBMS) (ORDBMS)

File systems,video servers

Object-oriented databasemanagement system

(OODBMS)

Queries

Noqueries

Simpledata

Complexdata

1-4 Getting Started with INFORMIX-Universal Server

Relational Database Management Systems

Relational Database Management SystemsRelational database management systems focus on high-speed, short-running queries and transactions on simple data. Simple data includes thefollowing data types:

■ Integer

■ Floating-point number

■ Character string, fixed or variable length

■ Date and time, time interval

■ Numeric and decimal

Some relational database management systems (includingINFORMIX-OnLine Dynamic Server) provide limited support for complexdata, which is stored in binary large objects (blobs). However, blobs cannotbe indexed, searched, or manipulated within the database server. The lack ofcomplex data support in RDBMS has become a major hindrance to the devel-opment of new classes of applications. For example, how can an RDBMShandle the various kinds of complex data found today on the World WideWeb? How do you search for a song if you do not know the song name andonly remember part of the tune? How do you find a picture when you do notknow the artist but remember that the picture contains a red boat in a bluelake? You can find this kind of information if you extend the relationaldatabase management system so it can search and manipulate complex data.

Object-Relational Database Management SystemsObject-relational database management systems can manage complex datanatively as objects which provides very high performance query and trans-action to complex data. To accomplish this, you must have the ability todefine new data structures and the functions that manipulate them. Informixextends INFORMIX-OnLine Dynamic Server to provide an ORDBMS namedINFORMIX-Universal Server.

Introducing INFORMIX-Universal Server Architecture 1-5

Architectural Elements of Universal Server

Architectural Elements of Universal ServerThe following sections describe the architectural elements of UniversalServer:

■ Client/server architecture

■ Scalability

■ High performance

■ Fault tolerance and high availability

■ Distributed databases

■ ANSI-compliant database support

■ Database server security

Client/Server ArchitectureUniversal Server processes requests for data from client applications. Itaccesses the requested information from its databases and sends back theresults. Accessing the database includes activities such as coordinatingconcurrent requests from multiple clients, performing read and write opera-tions to the databases, and enforcing physical and logical consistency on thedata.

The client is an application program that a user runs to request informationfrom a database. Client applications use Structured Query Language (SQL) tosend data requests to Universal Server. (The implementation of SQL compliesfully with the ANSI SQL-92 standard at the Entry Level.) Client programsinclude the DB-Access utility and programs that you write usingINFORMIX-ESQL/C, C++, Java, and so on. When the client connects toUniversal Server through an SQL statement, the client transparently accessesconnectivity information contained in a file called sqlhosts.

For more information on the SQL statements that Universal Server supports,see the Informix Guide to SQL: Syntax.

For more information on how to define connectivity information in thesqlhosts file, see the INFORMIX-Universal Server Administrator’s Guide.

1-6 Getting Started with INFORMIX-Universal Server

Scalability

ScalabilityUniversal Server enables you to scale resources in relation to the demandsthat applications place on the database server. The dynamic scalablearchitecture of Universal Server provides the following performanceadvantages for both single-processor and multiprocessor platforms:

■ A small number of database server processes can service a largenumber of client application processes, producing the followingbenefits:

❑ Reduced operating-system overhead (fewer processes to run)

❑ Reduced overall memory requirements

❑ Reduced contention for resources within the RDBMS

■ DSA provides more control over setting priorities and schedulingdatabase tasks than the operating system does.

Universal Server particularly exploits symmetric multiprocessing computersystems (SMPs). In a symmetric multiprocessing computer system, multipleCPUs (central processing units, or processors) all run a single copy of theoperating system, sharing memory and communicating with each other asnecessary.

For more detailed information on the dynamic scalable architecture ofUniversal Server, see the INFORMIX-Universal Server Administrator’s Guide.

High Performance Universal Server achieves high performance through the followingmechanisms:

■ Raw disk management

■ Memory management

■ Dynamic thread allocation

■ Parallelization

Each of these mechanisms is explained in the following paragraphs.

Introducing INFORMIX-Universal Server Architecture 1-7

High Performance

Raw Disk Management

Universal Server can use both UNIX file-system disk space and raw diskspace. When Universal Server uses raw disk space, however, it performs itsown disk management using raw devices. By storing tables on one or moreraw devices instead of in a standard operating-system file system, UniversalServer can manage the physical organization of data and minimize disk I/O.Doing so results in three performance advantages:

■ Universal Server is not restricted by operating-system limits on thenumber of tables that can be accessed concurrently.

■ Universal Server optimizes table access by guaranteeing that rowsare stored contiguously.

■ Universal Server eliminates operating-system I/O overhead byperforming direct data transfer between disk and shared memory.

If these issues are not a primary concern, you can also configure UniversalServer to use regular operating-system files to store data. In this case,Universal Server manages the file contents, but the operating systemmanages the I/O.

For more information on raw disk management, see theINFORMIX-Universal Server Administrator’s Guide.

Memory Management

Universal Server provides various options to help you manage memory tooptimize performance.

Dynamically Sharing Memory

All applications that use a single instance of Universal Server share data inthe memory space of the database server. After one application reads datafrom a table, other applications can access whatever data is already inmemory. Disk access, and the corresponding degradation in performance,might not occur because Universal Server adds memory dynamically as itneeds it. The Universal Server administrator can also add segments to sharedmemory when necessary.

1-8 Getting Started with INFORMIX-Universal Server

High Performance

Buffering Transactions

You can determine where transactions are logged in Universal Server. Yourlogs can be buffered or unbuffered. Buffered logging holds transactions inmemory until the buffer is full, regardless of when the transaction iscommitted.

For more information on managing the various aspects of memory toincrease performance, see the INFORMIX-Universal Server Performance Guide.

Dynamic Thread Allocation

Universal Server supports multiple client applications using a relatively fewnumber of processes called virtual processors. A virtual processor is amultithreaded process that can serve multiple clients and, where necessary,run multiple threads to work in parallel for a single query. In this way,Universal Server provides a flexible architecture that is well suited for bothon-line transaction processing (OLTP) and for decision-support applications.

For more information on how virtual processors can dynamically allocatethreads, see the INFORMIX-Universal Server Administrator’s Guide.

Parallelization

Universal Server can allocate multiple threads to work in parallel on a singlequery. This feature is known as the parallel database query (PDQ) feature.

Universal Server also allows a table to be fragmented over multiple disks.Fragmentation allows you to group rows within a table according to adistribution scheme. Universal Server stores the rows in separate databasespaces (dbspaces) that you specify in a fragmentation strategy. A dbspace is alogical collection of one or more Universal Server chunks. Chunks representspecific regions of disk space.

The PDQ feature is most effective when you use it with the fragmentationfeature.

For more information on how parallelization and fragmentation can enhanceperformance, see the INFORMIX-Universal Server Performance Guide.

Introducing INFORMIX-Universal Server Architecture 1-9

Fault Tolerance and High Availability

Fault Tolerance and High AvailabilityUniversal Server uses the following logging-and-recovery mechanisms toprotect data integrity and consistency in the event of an operating-system ormedia failure:

■ Dbspace and logical-log backups of transaction records

■ Fast recovery

■ Mirroring

■ Data replication

■ Point-in-time restore

Dbspace and Logical-Log Backups of Transaction Records

Universal Server provides you with the ability to back up the data that itmanages and also store changes to the database server and data since thebackup was performed. The changes are stored in logical-log files.

Universal Server allows you to create backup tapes and logical-log backuptapes while users are accessing Universal Server. You can also use on-linearchiving to create incremental backups. Incremental backups enable you toback up only data that has changed since the last backup, which reduces theamount of time that a backup would otherwise require.

After a media failure, if critical data was not damaged (and Universal Serverremains on-line), you can restore only the data that was on the failed media,leaving other data available during the restore.

1-10 Getting Started with INFORMIX-Universal Server

Fault Tolerance and High Availability

Fast Recovery

When Universal Server starts up, it checks if the physical log is emptybecause that implies that Universal Server shut down in a controlled fashion.If the physical log is not empty, Universal Server automatically performs anoperation called fast recovery. Fast recovery automatically restores UniversalServer databases to a state of physical and logical consistency after a systemfailure that might leave one or more transactions uncommitted. During fastrecovery, Universal Server uses its logical log and physical log to perform thefollowing operations:

■ Restore the databases to their state at the last checkpoint

■ Roll forward all committed transactions since the last checkpoint

■ Roll back any uncommitted transactions

Universal Server spawns multiple threads to work in parallel during fastrecovery.

Mirroring

When you use disk mirroring, Universal Server writes data to two locations.Mirroring eliminates data losses due to media (hardware) crashes. Ifmirrored data becomes unavailable for any reason, the mirror of the data isaccessed immediately and transparently to users.

High-Availability Data Replication

If your organization requires a high degree of availability, you can replicateUniversal Server and its databases, running simultaneously on a secondcomputer. Replicating Universal Server and its databases provides you witha backup system in the event of a catastrophic failure; if one site experiencesa disaster, applications can be directed immediately to use the seconddatabase server in the pair.

Running data replication also allows you to balance read-only applications(for example, decision-support applications) across both database servers inthe data-replication pair.

Introducing INFORMIX-Universal Server Architecture 1-11

Distributed Databases

Point-in-Time Restore

Universal Server allows users to restore data to a specified point in time. Thisfeature allows you to restore the database after a catastrophic event to aparticular point in time, perhaps immediately preceding the catastrophicevent.

For more information on fault tolerance and high availability, see theINFORMIX-Universal Server Administrator’s Guide.

Distributed DatabasesUniversal Server allows you to query (and update) more than one databaseacross multiple database servers within a single transaction. This ability iscalled distributed database processing. Distributed databases are useful becauseoperations that access databases are often distributed into separate pieces,either organizationally, graphically, or both. Distributed databases use thetwo-phase commit protocol to ensure that transactions are uniformlycommitted or rolled back across multiple database servers. Distributeddatabases provide the following advantages:

■ Local data can be kept where it is more easily maintained and is morefrequently used

■ Data from remote sites is available to all users

For more information on distributed databases, see the INFORMIX-UniversalServer Administrator’s Guide.

1-12 Getting Started with INFORMIX-Universal Server

Database Server Security

Database Server SecurityYou can use the GRANT and REVOKE SQL statements to enforce database andtable privileges.

In addition to this type of security, you can add external communicationssupport services in the form of a communications support module (CSM). TheCSM provides access to the DCE 1.1 security service, a Kerberos 5-basedsecurity service. Kerberos allows a client application, on behalf of its user, toauthenticate its identity to a server without sending data that would enablesomeone to impersonate the user.

Universal Server also offers the ability to audit database events on adatabase-server-wide basis. Auditing enables you to track which usersperformed specific actions to particular objects at distinct times. You can usethis information to monitor database activity for suspicious use, deterunscrupulous users, or even act as evidence of database server abuse.

For more information on database server security, see theINFORMIX-Universal Server Administrator’s Guide.

For more information on auditing, see the INFORMIX-Universal ServerTrusted Facility Manual.

Introducing INFORMIX-Universal Server Architecture 1-13

2Chapter

Introducing Universal ServerFeatures

Data Types Supported . . . . . . . . . . . . . . . . . . 2-4Built-In Data Types . . . . . . . . . . . . . . . . . 2-4User-Defined Data Types . . . . . . . . . . . . . . . 2-5

Opaque Type . . . . . . . . . . . . . . . . . . 2-5Distinct Type . . . . . . . . . . . . . . . . . . 2-6

Complex Data Types . . . . . . . . . . . . . . . . . 2-6Collection Type . . . . . . . . . . . . . . . . . 2-7Row Type . . . . . . . . . . . . . . . . . . . 2-7

User-Defined Routines . . . . . . . . . . . . . . . . . 2-10

Access Methods . . . . . . . . . . . . . . . . . . . . 2-11Primary Access Methods . . . . . . . . . . . . . . . 2-11Secondary Access Methods. . . . . . . . . . . . . . . 2-12

Generic B-Trees . . . . . . . . . . . . . . . . . 2-12R-Trees . . . . . . . . . . . . . . . . . . . . 2-13

DataBlade Modules. . . . . . . . . . . . . . . . . . . 2-13

Large-Object Support . . . . . . . . . . . . . . . . . . 2-15Smart Large Objects . . . . . . . . . . . . . . . . . 2-15Simple Large Objects . . . . . . . . . . . . . . . . . 2-16

Application-Programming Interfaces . . . . . . . . . . . . 2-17DataBlade API . . . . . . . . . . . . . . . . . . . 2-17Global Language Support API . . . . . . . . . . . . . 2-18

DB-Access Support . . . . . . . . . . . . . . . . . . . 2-18

Dbschema Support . . . . . . . . . . . . . . . . . . . 2-18

Utility Enhancements . . . . . . . . . . . . . . . . . . 2-19

2-2 INFO

RMIX

INFORMIX-Universal Server allows you to manage complex types ofdata such as 2D and 3D images, sound, video, electronic documents, HTMLpages, time-series data, and spatial data. This chapter lists Universal Serverfeatures that allow you to manage and manipulate complex data. Thefeatures of Universal Server are:

■ Data types supported

❑ Built-in

❑ User-defined

❑ Complex

■ User-defined routines

■ Access Methods

❑ Primary access methods

❑ Secondary access methods

■ DataBlade modules

■ Large-object support

■ Application programming interfaces

■ DB-Access support

■ Dbschema support

■ Utility enhancements

Introducing Universal Server Features 2-3

Data Types Supported

Data Types SupportedUniversal Server provides support for three data type categories:

■ Built-in

■ User-defined

■ Complex

Built-In Data TypesUniversal Server provides the following built-in data types:

■ Character data types: CHAR, CHARACTER VARYING (or VARCHAR),and LVARCHAR

The NCHAR and NVARCHAR data types also support storage ofcharacter data.

Universal Server supports global languages. The Global LanguageSupport (GLS) features let Universal Server handle differentlanguages, cultural conventions, and code sets. The GLS featureprovides support for the following language-related topics:

❑ Collation order of characters

❑ Definition of uppercase and lowercase conventions

❑ Non-ASCII characters, including multibyte characters

❑ Culture-specific formatting for numeric, monetary, date, andtime values

For more information on the GLS support, see the Guide to GLS Functionality.

■ Numeric types

❑ Exact numeric types: DECIMAL, MONEY, SMALLINT, INTEGER,INT8, SERIAL, and SERIAL8

❑ Approximate numeric types: SMALLFLOAT and FLOAT

2-4 Getting Started with INFORMIX-Universal Server

User-Defined Data Types

■ Large-object data types

❑ Simple-large-object types: TEXT and BYTE

❑ Smart-large-object types: CLOB and BLOB

For more information on smart-large-object types, see “Large-ObjectSupport” on page 2-15.

■ Time data types: DATE, DATETIME, and INTERVAL

■ Miscellaneous data type: BOOLEAN

For a description of each of these data types, refer to the Informix Guide toSQL: Reference.

User-Defined Data TypesYou can create user-defined data types to extend the database server andprovide greater flexibility in the types of data you can store and manipulate.Universal Server introduces the following two new data types: opaque anddistinct.

Opaque Type

An opaque type is a fundamental data type that stores a single value andcannot be divided into components by the database server. It is implementedas a C structure and a set of routines written in C that allow the databaseserver to support the data type. C routines that support a new opaque typepass the contents of the structure to the database server to store in thedatabase. The database server does not interpret the contents of the structure;it stores the memory contents, byte for byte, in the database. The supportroutines implement operations such as comparing two instances of a datatype, converting an opaque type to another data type, or displaying aninstancing of the data type. The database server calls the support routinesupplied for an operation and passes the C structure or pointer to it in theparameter list.

Introducing Universal Server Features 2-5

Complex Data Types

Distinct Type

A distinct type has the same storage representation as an existing opaque typebut is distinguished by its name and cannot be substituted for the source datatype. For example, a new distinct type decnum can be created with the samerepresentation as real. All routines that operate on real values have databaseserver-simulated counterparts for decnum values. However, decnum valuesand real values cannot be added, subtracted, or compared with one anotherwithout explicitly casting one value to the type of the other. A cast functionconverts one data type to another data type.

For more information on user-defined data types, see ExtendingINFORMIX-Universal Server: Data Types.

Complex Data TypesA complex data type is usually a composite of other existing data types. Forexample, you might create a complex type whose components include built-in types, opaque types, distinct types, or other complex types. An importantdifference between complex types and user-defined types is that you canaccess and manipulate the individual components of a complex data type withSQL statements.

2-6 Getting Started with INFORMIX-Universal Server

Complex Data Types

Collection Type

A collection type is a group of elements of the same data type. Collection datatypes enable you to store and manipulate collections of data within a singlerow of a table. A collection type has two components: a type constructor andelement type.

■ Type constructors include sets, multisets, and lists.

❑ SET is a collection data type in which elements are not orderedand duplicates are not allowed. It is created with the SETconstructor.

❑ LIST is a collection data type in which the elements are orderedand duplicates are allowed. It is created with the LISTconstructor.

❑ MULTISET is a collection data type in which elements are notordered and duplicates are allowed. It is created with theMULTISET constructor.

■ Element type specifies the type of data that the collection can contain.

The elements of a collection can be any data type except SERIAL andSERIAL8.

Row Type

A row type is a sequence of one or more elements called fields. Each field hasa name and a data type. The fields of a row are comparable to the columns ofa table, but there are important differences. There is no default clause on afield, you cannot define constraints on a field, and you cannot use fields withtables, only with row types. There are two kinds of row types: named row typesand unnamed row types.

Named Row Types

A named row type is a group of fields that are defined under a single name. Afield refers to a component of a row type. Once you create a named row type,the name that you assign to the row type represents a unique type within thedatabase.

Introducing Universal Server Features 2-7

Complex Data Types

You can create a named row type when you want a type that acts as acontainer for component values that users need to access. For example, youmight create a named row type to support address values. Users might needdirect access to the individual component values of an address such as street,city, state, and postal code. When you create a named row type address type,users always have direct access to each of the fields.

Unnamed Row Types

An unnamed row type is a group of fields that are defined by their structure.Unlike the named row type, you can assign an unnamed row type to a table.Use an unnamed row type to define the type of a column or field only.

Inheriting Properties

Universal Server supports inheritance for named row types and typed tables.Inheritance is the process that allows a type or a table to acquire the propertiesof another type or table. Inheritance allows for incremental modification, sothat a type or table can inherit a general set of properties and add propertiesthat are specific to itself.

■ Type inheritance

Type inheritance applies to named row types only. You can use inher-itance to group named row types into a type hierarchy. A typehierarchy provides the following advantages:

❑ It encourages modular implementation of your data model.

❑ It ensures consistent reuse of schema components.

❑ It ensures that no data fields are accidentally left out.

❑ It allows a type to inherit routines that are defined on anothertype.

2-8 Getting Started with INFORMIX-Universal Server

Complex Data Types

■ Table inheritance

Tables that are defined on named row types support table inheritance.Table inheritance is the property that allows a table to inherit thebehavior (constraints, storage options, triggers, and so on) in thetable hierarchy. A table hierarchy is the relationship you can defineamong tables. A table inheritance provides the followingadvantages:

❑ It encourages modular implementation of your data model.

❑ It ensures consistent reuse of schema components.

❑ It allows you to construct queries whose scope can be some or allof the tables in the table hierarchy.

For more information on complex types, see the Informix Guide to SQL:Tutorial.

Introducing Universal Server Features 2-9

User-Defined Routines

User-Defined RoutinesA user-defined routine (UDR) is a routine that you define and register in thesystem catalog tables and that you can invoke by an SQL statement or anotherroutine. You must create a user-defined routine to operate on user-definedand complex data types.

A UDR can be either a function or a procedure. A function is a routine thatoptionally accepts a set of arguments and returns a set of values. You can usea function in SQL expressions. A procedure is a routine that optionallyaccepts a set of arguments and does not return any values. You cannot use aprocedure in SQL expressions.

A UDR can be one of the following routines:

■ Stored Procedure Language (SPL) routine

An SPL routine is any routine whose body is written in SPL. InformixSPL is an extension to SQL that provides flow control, such as loopingand branching.

■ External routine

An external routine is any routine whose body is written in alanguage other than SPL (for example, C language). You use externalroutines typically to perform operations on user-defined data types.

For more information on user-defined routines, see ExtendingINFORMIX-Universal Server: User-Defined Routines.

2-10 Getting Started with INFORMIX-Universal Server

Access Methods

Access MethodsUniversal Server supports the following two types of access methods:

■ Primary access methods

■ Secondary access methods

Primary Access MethodsUniversal Server supports external spaces (extspaces), which are storage spacesthat Universal Server does not manage directly. You can specify an externalspace as the storage space for a table for which you create a primary accessmethod. A primary access method is a set of database server functions toaccess and manipulate data stored inside a source that is external toUniversal Server.

Universal Server introduces the Virtual Table Interface (VTI) to facilitate thedevelopment of primary access methods. You can access any of the followingtypes of data with a primary access method:

■ Other vendors’ database tables

■ Data stored in sequential files

■ Remote data stored across a network

Because primary access methods can be implemented as client applications,they typically do not require any direct interaction with low-level databaseserver modules, making them relatively simpler to develop and support thannew storage or indexing strategies. Primary access methods can unify all ofthe heterogeneous data that is distributed throughout an organization undera single object-relational system.

VTI includes all the functions that an access method typically uses. You writeand register a set of access-method purpose functions to access a remotedatabase. These functions are registered with Universal Server when youissue the SQL statement CREATE ACCESS_METHOD. When you create thetable, you specify the access method that will be used whenever the table isused in an SQL statement.

For more information on using primary access methods, see the InformixGuide to SQL: Syntax and Extending INFORMIX-Universal Server: Data Types.

Introducing Universal Server Features 2-11

Secondary Access Methods

For more information on creating primary access methods, see the optionalVirtual-Table Interface Programmer’s Manual.

Secondary Access MethodsUniversal Server supports the following secondary access methods:

■ Generic B-trees

■ R-trees

Generic B-Trees

A B-tree index organizes index information. A B-tree index is arranged as ahierarchy of pages. Universal Server uses a B-tree index for the followingvalues:

■ Columns that contain built-in data types (referred to as a traditionalB-tree index)

Built-in data types include CHARACTER, DATETIME, INTEGER,FLOAT, and so forth.

■ Traditional one-dimensional user-defined data types (referred to as ageneric B-tree index)

■ Values that a user-defined function returns (referred to as a functionalindex).

You can create a functional index on the resulting values of a functionon one or more columns. The function must be a user-definedfunction. When you create a functional index, Universal Servercomputes the key values of the function and stores them in the index.Universal Server can locate the return value of the function in anappropriate index without executing the function for each qualifyingcolumn.

For more information on B-trees and functional indexes, see theINFORMIX-Universal Server Performance Guide.

2-12 Getting Started with INFORMIX-Universal Server

DataBlade Modules

R-Trees

Universal Server introduces a new indexing structure to support spatial data(two-dimensional, three-dimensional, and so on). The new index is the R-treeindex. An R-tree index uses a concept called a bounding box, which is a set ofcoordinates that contain one or more objects. An object can theoreticallybelong to more than one bounding box.

An R-tree index is good for searches on multidimensional data.

For more information on R-trees, see the INFORMIX-Universal Server Perfor-mance Guide.

DataBlade ModulesA DataBlade module is a collection of database objects and code that extendsthe database server by adding new functionality to the database server. ADataBlade module enables the database server to provide the same level ofsupport for new data types that it provides for built-in data types. You canthink of a DataBlade module as an object-oriented package, similar to a C++class that encapsulates specialized data types, such as images.

Figure 2-1 shows the major components of a DataBlade module.

Figure 2-1DataBlade Module

ComponentsDatatypes Routines Access

methodsSQLinterface

Data structures

Data behaviors

Index schemes

Interface to database server

Introducing Universal Server Features 2-13

DataBlade Modules

The following table describes the four major components of a DataBlademodule.

DataBlade modules are standard software modules that plug into thedatabase to extend its capabilities. You can obtain DataBlade modules fromInformix and from third-party vendors, or you can create your ownDataBlade modules.

For more information on how to create your own DataBlade modules, see theDataBlade Developers Kit User’s Guide and DataBlade API Programmer’s Manual.

DataBlade Module Component Description

Data types A data type is a user-defined data type or collection of user-defineddata types. The values of user-defined data types can be stored, exam-ined using queries or routine calls, passed as arguments to databasefunctions, and indexed in the same way as the built-in data types. Thedata types component defines the data structure to Universal Server.

Routines Routines can operate on data types defined by DataBlade module de-velopers as well as any other data type known to the database server,including data types defined by other DataBlade modules. The rou-tines component defines the data behavior to Universal Server.

Access methods Access methods operate on tables and indexes that are managed by thedatabase server. DataBlade module developers can index new datatypes using existing access methods, or add new access methods oftheir own. The access methods component defines the index schemes toUniversal Server.

SQL interface An SQL interface is a collection of functions that conform to a standardand export a predictable service. An SQL interface enables DataBlademodules to share services with other DataBlade modules. The SQL in-terface component defines the interface to Universal Server.

2-14 Getting Started with INFORMIX-Universal Server

Large-Object Support

Large-Object SupportUniversal Server allows you to store a large object and access and manipulatethe contents after retrieval from the database server. A large object is a dataobject that is logically stored in a table column but physically stored indepen-dently of the column. Large objects are stored separately from the tablebecause they typically store a very large amount of data. Universal Serversupports the following large objects: smart large objects and simple large objects.

Smart Large ObjectsSmart large objects allow you to seek, read from, and write to segments of theobject. Smart large objects can consist of the following large-object data types:

■ Character Large Object (CLOB). A CLOB is a smart large object thatstores large text items, such as PostScript or HTML files. A CLOB canbe stored and retrieved in pieces and has database properties such asrecovery and transaction rollback.

■ Binary Large Object (BLOB). A BLOB is a smart large object thatstores any type of binary data, including images. A BLOB can bestored and retrieved in pieces and has database properties such asrecovery and transaction rollback.

You can use smart large objects to store user-defined data types such as videoand audio clips, pictures, large text documents, and spatial objects such asdrawings and maps. Universal Server stores large objects in sbspaces.Sbspaces are collections of Universal Server storage spaces that exclusivelystore smart large objects.

For more information on smart large objects, see the INFORMIX-UniversalServer Administrator’s Guide.

You can also create a reference to a large object and store the reference as arow in the database. The object itself can reside outside the database, forexample, on a file system (or it could be a BLOB or CLOB type column in thedatabase). The reference identifies the type, or access protocol of the object,and points to its storage location. You access a large object by passing itsreference to a LOB Locator function.

Introducing Universal Server Features 2-15

Simple Large Objects

For information on how to create a single consistent interface to large objects,see the LOB Locator DataBlade Module Programmer’s Guide.

Simple Large ObjectsSimple large objects are a category of large objects that have a theoretical limitof 231 bytes and a practical limit that is determined by your disk capacity.Universal Server supports the following simple-large-object data types:

■ BYTE stores binary data

■ TEXT stores text data

Unlike smart large objects, simple large objects do not support random accessto the data. When you transfer a simple large object between a client appli-cation and the database server, you must transfer the entire BYTE or TEXTvalue.

For more information on simple large objects, see the INFORMIX-UniversalServer Administrator’s Guide.

2-16 Getting Started with INFORMIX-Universal Server

Application-Programming Interfaces

Application-Programming InterfacesUniversal Server provides the following application-programming interfaces(API):

■ DataBlade API

■ Global language support API

■ Java API

■ C++ Interface

■ INFORMIX-ESQL/C

■ INFORMIX-CLI

DataBlade APIThe DataBlade API is the application-programming interface for UniversalServer. Use it to develop client and database server applications that accessdata stored in a Universal Server database.

With the DataBlade API, you can:

■ manage client and database server connections.

■ send SQL command strings.

■ process query results.

■ build a saveset (a mechanism to fetch multiple rows from thedatabase introductory program memory for processing).

■ manage events and errors.

■ insert plain and internationalized traces.

■ create database server functions.

For more information on the DataBlade API, see the DataBlade APIProgrammer’s Manual.

Introducing Universal Server Features 2-17

Global Language Support API

Global Language Support APIThe Global Language Support (GLS) API is available with Universal Server.The GLS API provides ESQL/C, C++, and DataBlade module programmers theability to write programs (or change existing programs) to handle differentlanguages, cultural conventions, and code sets.

For more information on the GLS API, see the GLS API Programmer’s Manual.

The Java API, C++ Interface, ESQL/C, and INFORMIX-CLI allow programmersto embed SQL statements directly into the programming languages. Fordetailed information about these APIs, see “INFORMIX-Developer SDK forUNIX” on page 3-10.

DB-Access SupportThe DB-Access utility is a menu-driven SQL API included with UniversalServer. This utility is enhanced to access and display information about newdata types and display new index information.

For more information on the DB-Access utility, see the DB-Access User Manual.

Dbschema SupportUse the dbschema (database schema) utility for the following purposes:

■ To display the SQL statements required for replication

■ To display the schema for the Information Schema views

■ To display the distribution information that is stored for one or moretables in the database.

This utility has been enhanced to support user-defined and complex datatypes.

For more information on the dbschema utility, see the Informix MigrationGuide.

2-18 Getting Started with INFORMIX-Universal Server

Utility Enhancements

Utility EnhancementsUniversal Server utilities are enhanced to support the additional data typesand processes. The following table lists the enhanced utilities with a briefdescription of the enhancement.

For more information on Universal Server utilities, see theINFORMIX-Universal Server Administrator’s Guide.

Utility Enhancement Description Task

onmode Dynamically add new VPCLASSes to support user-defined routines.

Tune a database server dynamically.

onspaces ■ Manage smart blob space.

■ Manage external space when you define tableswith VTI.

■ Control disk-space management.

oncheck ■ Check smart blob space integrity.

■ Support user-defined base and complex types.

■ Check data integrity.

■ View system and databaseconfiguration.

onlog Display logical-log file. Track and monitor transaction andtblspace changes.

oninit Create a private installation for DataBlade moduleand user-defined routine developers.

Customize developmentenvironment.

Introducing Universal Server Features 2-19

3Chapter

Introducing Universal ServerKits

INFORMIX-Universal Server . . . . . . . . . . . . . . . 3-3Universal Database Server . . . . . . . . . . . . . . . 3-4BladeManager . . . . . . . . . . . . . . . . . . . 3-4LOB Locator DataBlade Module . . . . . . . . . . . . . 3-4

INFORMIX-DB Admin Kit for Microsoft WindowsEnvironments . . . . . . . . . . . . . . . . . . 3-5

SQL Editor . . . . . . . . . . . . . . . . . . . . 3-5BladeManager . . . . . . . . . . . . . . . . . . . 3-6Schema Knowledge . . . . . . . . . . . . . . . . . 3-6SetNet 32 . . . . . . . . . . . . . . . . . . . . . 3-6

INFORMIX-DataBlade Developer’s Kit for Microsoft WindowsEnvironments . . . . . . . . . . . . . . . . . . 3-7

BladeSmith . . . . . . . . . . . . . . . . . . . . 3-7BladePack . . . . . . . . . . . . . . . . . . . . 3-8BladeManager . . . . . . . . . . . . . . . . . . . 3-8SQL Editor . . . . . . . . . . . . . . . . . . . . 3-9Schema Knowledge . . . . . . . . . . . . . . . . . 3-9

INFORMIX-Developer SDK for UNIX . . . . . . . . . . . . 3-10Development Components for the UNIX Environment . . . . . 3-10

INFORMIX-ESQL/C . . . . . . . . . . . . . . . 3-11C++ Interface . . . . . . . . . . . . . . . . . . 3-11Global Language Support API . . . . . . . . . . . . 3-11Java API . . . . . . . . . . . . . . . . . . . . 3-11INFORMIX-CLI . . . . . . . . . . . . . . . . . 3-12

Runtime Libraries for the UNIX Environment . . . . . . . . 3-12

3-2 INFO

INFORMIX-Developer SDK for Microsoft WindowsEnvironments . . . . . . . . . . . . . . . . . . 3-13

Development Components for the Microsoft WindowsEnvironment . . . . . . . . . . . . . . . . . . 3-13

Runtime Libraries for the Microsoft Windows Environment . . . 3-13

INFORMIX-Connect for UNIX . . . . . . . . . . . . . . . 3-14Runtime Libraries . . . . . . . . . . . . . . . . . . 3-14Documentation Notes . . . . . . . . . . . . . . . . 3-14

INFORMIX-Connect for Microsoft Windows Environments . . . . . 3-15Runtime Libraries . . . . . . . . . . . . . . . . . . 3-15SetNet32 . . . . . . . . . . . . . . . . . . . . . 3-15Documentation Notes . . . . . . . . . . . . . . . . 3-16

RMIX

This chapter introduces the Universal Server kits. A kit comprisesvarious programs and runtime libraries to help you administer and createapplications for Universal Server. In addition to Universal Server, the kits are:

■ INFORMIX-DB Admin Kit for Microsoft Windows Environments

■ INFORMIX-DataBlade Developer’s Kit for Microsoft WindowsEnvironments

■ INFORMIX-Developer SDK for UNIX

■ INFORMIX-Developer SDK for Microsoft Windows Environments

■ INFORMIX-Connect for UNIX

■ INFORMIX-Connect for Microsoft Windows Environments

Each section describes the components of the kit and the documentationmanuals that support the components.

INFORMIX-Universal ServerINFORMIX-Universal Server includes the following components:

■ Universal Server 9.1 database server

■ BladeManager 3.2 for UNIX

■ LOB Locator DataBlade Module

■ Release notes

■ Documentation notes

Introducing Universal Server Kits 3-3

Universal Database Server

Universal Database ServerUniversal Server resides on a UNIX server and provides the architecturalbuilding blocks of the object-relational database described in Chapter 1 andthe features described in Chapter 2 that help you extend the architecture tosupport complex data types.

The Universal Server documentation set consists of many books to help youplan, install, administer, and monitor Universal Server. For a complete list ofthe documentation that supports the database server, see “Universal ServerDocumentation” on page 6-3.

BladeManagerBladeManager is a management tool to register installed DataBlade modulesin your databases, or to unregister previously registered DataBlade modules.When BladeManager registers a DataBlade module, it executes a script thatuses separate SQL statements to register each function, data type, aggregate,and cast in the DataBlade module. BladeManager provides a UNIX-based textinterface to manage DataBlade modules in Universal Server.

The BladeManager User’s Guide explains registration concepts and how to usethe BladeManager interface (a Windows-based GUI and a UNIX-based textinterface) to manage DataBlade modules in Universal Server. BladeManageralso provides on-line help.

LOB Locator DataBlade ModuleThe LOB Locator DataBlade module enables programmers to create a singleconsistent interface to large objects. In Universal Server, large object data(data that exceeds a length of 255 bytes or contains non-ASCII characters) isstored in a column in a database. You access this data with standard SQLstatements.

The LOB Locator allows programmers to create a reference to a large objectand store the reference as a row in the database. The object can reside outsidethe database. You access a large object by passing its reference to a LOBLocator function.

3-4 Getting Started with INFORMIX-Universal Server

Release and Documentation Notes

The LOB Locator DataBlade Module Programmer’s Guide provides informationto help programmers use the LOB Locator DataBlade module to consistentlymanage large objects that reside outside and within the database.

Release and Documentation NotesRelease notes provide information about the features and any knownproblems and their workarounds. Documentation notes describe featuresthat are not covered in a manual or that have been modified since publi-cation. Make sure you read these files before you install Universal Server.

INFORMIX-DB Admin Kit for Microsoft WindowsEnvironmentsThe INFORMIX-DB Admin Kit for Microsoft Windows Environments includesthe following components:

■ SQL Editor

■ BladeManager

■ Schema Knowledge

■ SetNet32

■ Release notes

■ Documentation notes

SQL EditorThe SQL Editor is a graphical-interface tool you use to execute SQL statementsin a Windows environment. The SQL Editor provides an interface that makesit easy to create, edit, and save SQL documents; check and execute SQL state-ments; and optimize query performance. The SQL Editor also supportsexport capabilities.

Using the SQL Editor provides information to help you start and use the SQLEditor to create and manage SQL statements. The SQL Editor provides on-linehelp.

Introducing Universal Server Kits 3-5

BladeManager

BladeManagerBladeManager is a management tool to register installed DataBlade modulesin your databases, or to unregister previously registered DataBlade modules.When BladeManager registers a DataBlade module, it executes a script thatuses separate SQL statements to register each function, data type, aggregate,and cast in the DataBlade module. The INFORMIX-DB Admin Kit forMicrosoft Windows Environments comes with a Windows-basedBladeManager GUI to manage DataBlade modules in Universal Server.

The BladeManager User’s Guide explains registration concepts and how to usethe BladeManager interface (a Windows-based GUI and a UNIX-based textinterface) to manage DataBlade modules in Universal Server. BladeManagerprovides on-line help.

Schema KnowledgeSchema Knowledge is a graphical-interface tool that provides meta infor-mation about databases. For example, you can identify customer_name as acolumn in customer_table, but you cannot see the contents of the column.Schema Knowledge allows you to see database objects, view object struc-tures, and locate referenced object details.

The Schema Knowledge User’s Guide explains how to use the SchemaKnowledge application to obtain meta or schema information aboutUniversal Server databases.

SetNet 32SetNet32 is a utility to configure client-side parameters such as hostname, username, protocol, client_locale, db_locale, and so on. SetNet32 includes a GUIand on-line help.

Using the SQL Editor provides information about the SetNet32 utility.

3-6 Getting Started with INFORMIX-Universal Server

Release and Documentation Notes

Release and Documentation NotesRelease notes provide information about the features and any knownproblems and their workarounds. Documentation notes describe featuresthat are not covered in a manual or that have been modified since publi-cation. Make sure you read these files before you install the components ofthis kit.

INFORMIX-DataBlade Developer’s Kit for MicrosoftWindows EnvironmentsThe INFORMIX-DataBlade Developer’s Kit for Microsoft WindowsEnvironments includes the following components:

■ BladeSmith

■ BladePack

■ BladeManager

■ SQL Editor

■ Schema Knowledge

■ SetNet32

■ Release Notes

■ Documentation Notes

BladeSmithBladeSmith is a program to help DataBlade developers build and packageDataBlade objects. This program provides a GUI to create DataBlade objectssuch as types and functions, and uses this information to generate SQLinstallation and deinstallation scripts for the created DataBlade modules.BladeSmith uses the BladeGen program (documented separately) to generateC code stubs and templates for the DataBlade objects. The program alsogenerates template packaging files necessary to install the DataBlademodule.

Introducing Universal Server Kits 3-7

BladePack

The DataBlade Developers Kit User’s Guide describes how to use BladeSmith todefine the objects in your DataBlade module and to generate code, scripts,and installation files for the module.

BladePackBladePack is the tool you use to create a final, installable DataBlade module.It allows you to package the SQL scripts, shared object file, and other filesrequired by the DataBlade module, and then to generate disk images or adirectory tree that you can use to create a CD-ROM or tar file for final distri-bution. The installation scripts ensure that all DataBlade modules createdwith the DataBlade Developer’s Kit can be installed similarly.

The DataBlade Developers Kit User’s Guide documents how to use BladePack topackage DataBlade module components to create an installation media todistribute DataBlade modules.

BladeManagerBladeManager prepares and registers (or unregisters) DataBlade modules.When BladeManager registers a DataBlade module, it executes a script thatuses separate SQL statements to register each function, data type, aggregate,and cast in the DataBlade module. This tool allows a database administratorto perform the following actions:

■ view the DataBlade modules currently available on the server.

■ identify registered modules in databases.

■ register or unregister modules in databases.

BladeManager is used with BladePack (which installs the information to thedatabase server).

The BladeManager User’s Guide explains registration concepts and how to usethe BladeManager interface (a Windows-based GUI and a UNIX-based textinterface) to manage DataBlade modules in a database server. BladeManageralso provides on-line help.

3-8 Getting Started with INFORMIX-Universal Server

SQL Editor

SQL EditorThe SQL Editor is a graphical-interface tool that enables you to execute SQLstatements in a Windows environment. The SQL Editor provides an interfacethat makes it easy to create, edit, and save SQL documents; check and executeSQL statements; and optimize query performance. The SQL Editor alsosupports export capabilities.

Using the SQL Editor helps you start and use the SQL Editor to create andmanage SQL statements. SQL Editor provides on-line help.

Schema KnowledgeSchema Knowledge is a GUI tool that provides meta information aboutdatabases. For example, you can identify customer_name as a column incustomer_table, but you cannot see the contents of the column. SchemaKnowledge allows you to see database objects, view object structures, andlocate referenced object details.

The Schema Knowledge User’s Guide explains how to use the SchemaKnowledge application to obtain meta or schema information about Informixdatabases.

SetNet32SetNet32 is a utility to configure client-side parameters such as host name,user name, protocol, client_locale, db_locale, and so on. SetNet32 includes agraphical user interface (GUI) and on-line help.

Using the SQL Editor provides information about the SetNet32 utility.

Release and Documentation NotesRelease notes provide information about the features and any knownproblems and their workarounds. Documentation notes describe featuresthat are not covered in a manual or that have been modified since publi-cation. Make sure you read these files before you install the components ofthis kit.

Introducing Universal Server Kits 3-9

INFORMIX-Developer SDK for UNIX

INFORMIX-Developer SDK for UNIXThe INFORMIX-Developer SDK for UNIX includes the following components:

■ Development components:

❑ INFORMIX-ESQL/C

❑ C++ Interface

❑ GLS API

❑ Java API

❑ INFORMIX-CLI

■ Runtime Libraries:

❑ INFORMIX-ESQL/C

❑ C++ Interface

❑ GLS API

❑ Java API

❑ INFORMIX-CLI

■ Release Notes

■ Documentation Notes

Development Components for the UNIX EnvironmentThe following development components and associated information areavailable for each component.

3-10 Getting Started with INFORMIX-Universal Server

Development Components for the UNIX Environment

INFORMIX-ESQL/C

INFORMIX-ESQL/C allows programmers to embed SQL statements directlyinto a C program. ESQL/C contains:

■ the ESQL/C libraries of C functions, which provide access to thedatabase server.

■ the ESQL/C header files, which provide definitions for the data struc-tures, constants, and macros useful to the ESQL/C program.

■ the esql command, which manages the processing of the source codeto convert a C file that contains SQL statements into an object file.

The INFORMIX-ESQL/C Programmer’s Manual is a complete guide to thefeatures that make up the Informix implementation of embedded SQL for C.

C++ Interface

The C++ Interface encapsulates Informix database server features into aneasy-to-use class hierarchy and extensible object library. Operator classesprovide access to the database and methods to issue queries and retrieveresults. Value interfaces are classes that provide specific application interactionbehaviors for objects that represent database values.

The C++ Interface Programmer’s Guide describes how to develop Informixclient applications that use the object-oriented C++ programming language.

Global Language Support API

The GLS API allows Informix APIs and Informix database servers to handledifferent languages, cultural conventions, and code sets.

The GLS API Programmer’s Manual describes the GLS API. Use the GLS API towrite programs (or change existing programs) to handle different languages,cultural conventions, and code sets.

Java API

The Java API allows programmers to develop Informix client applicationsthat use Java.

Introducing Universal Server Kits 3-11

Runtime Libraries for the UNIX Environment

The Java API Programmer’s Guide describes how to develop Informix clientapplications that use the object-oriented Java programming language.

INFORMIX-CLI

INFORMIX-CLI enables the C programmer to create custom applications fordatabase access. It is an alternative to embedded dynamic SQL. Unlikeembedded SQL, it does not require a preprocessor.

The INFORMIX-CLI Programmer’s Manual describes how to use CLI (as analternative to embedded dynamic SQL) to create custom applications fordatabase access.

Runtime Libraries for the UNIX EnvironmentThe runtime libraries support the development components of theINFORMIX-Developer SDK for UNIX.

Release and Documentation NotesRelease notes provide information about the features and any knownproblems and their workarounds. Documentation notes describe featuresthat are not covered in a manual or that have been modified since publi-cation. Make sure you read these files before you install the components ofthis kit.

3-12 Getting Started with INFORMIX-Universal Server

INFORMIX-Developer SDK for Microsoft Windows Environments

INFORMIX-Developer SDK for Microsoft WindowsEnvironmentsThe INFORMIX-Developer SDK for Microsoft Windows Environmentscontains the same development components and runtime libraries as theINFORMIX-Developer SDK for UNIX, except that the application developmentenvironment is a Microsoft Windows environment. In addition, theINFORMIX-Developer SDK for Microsoft Windows Environments includesthe SetNet32 utility.

Development Components for the Microsoft WindowsEnvironmentFor a detailed description of each component, see “Development Compo-nents for the UNIX Environment” on page 3-10. The supportingdocumentation is the same except for the following additional documents:

■ INFORMIX-ESQL/C Programmer’s Supplement

■ INFORMIX-Universal Server Client Products Installation Guide forMicrosoft Windows Environments

Runtime Libraries for the Microsoft Windows EnvironmentThe runtime libraries support the development components of theINFORMIX-Developer SDK for Microsoft Windows Environments.

SetNet32SetNet32 is a utility you use to configure client-side parameters such ashostname, user name, protocol, client_locale, db_locale, and so on. SetNet32includes a GUI and on-line help.

Using the SQL Editor provides information about the SetNet32 utility.

Introducing Universal Server Kits 3-13

Release and Documentation Notes

Release and Documentation NotesRelease notes provide information about the features and any knownproblems and their workarounds. Documentation notes describe featuresthat are not covered in a manual or that have been modified since publi-cation. Make sure you read these files before you install the components ofthis kit.

INFORMIX-Connect for UNIXINFORMIX-Connect for UNIX includes the following components:

■ Runtime libraries for:

❑ INFORMIX-ESQL/C

❑ C++ API

❑ Java API

❑ GLS API

❑ INFORMIX-CLI

■ Documentation notes

Runtime LibrariesRuntime libraries provide a set of functions that support applicationdeployment.

Documentation NotesDocumentation notes describe features that are not covered in a manual orthat have been modified since publication. Make sure you read this infor-mation before you install the components of this kit.

Use INFORMIX-Connect for UNIX to establish connectivity from client appli-cations to Universal Server.

3-14 Getting Started with INFORMIX-Universal Server

INFORMIX-Connect for Microsoft Windows Environments

INFORMIX-Connect for Microsoft WindowsEnvironmentsINFORMIX-Connect for Microsoft Windows Environments includes thefollowing components:

■ Runtime libraries for:

❑ INFORMIX-ESQL/C

❑ C++ API

❑ Java API

❑ GLS API

❑ INFORMIX-CLI

■ SetNet32

■ Documentation notes

Runtime LibrariesRuntime libraries provide a set of functions that support applicationdeployment.

SetNet32SetNet32 is a utility you use to configure client-side parameters such ashostname, user name, protocol, client_locale, db_locale, and so on. SetNet32includes a GUI and on-line help.

Using the SQL Editor provides information about the SetNet32 utility.

Introducing Universal Server Kits 3-15

Documentation Notes

Documentation NotesDocumentation notes describe features that are not covered in a manual orthat have been modified since publication. Make sure you read this infor-mation before you install the components of INFORMIX-Connect forMicrosoft Windows Environments.

Use INFORMIX-Connect for Microsoft Windows Environments to establishconnectivity from client applications to Universal Server.

3-16 Getting Started with INFORMIX-Universal Server

4Chapter

Getting Up and Running withUniversal Server

Migrating from a Previous Informix Database Server . . . . . . . 4-3

Getting Started Tasks . . . . . . . . . . . . . . . . . . 4-3Client Applications Supported by Universal Server . . . . . . 4-4Installing Universal Server . . . . . . . . . . . . . . . 4-4

Order of Installation . . . . . . . . . . . . . . . . 4-5Configuring the Database Server Environment . . . . . . . . 4-6

Required Environment Variables . . . . . . . . . . . 4-7Connectivity Files . . . . . . . . . . . . . . . . 4-8Preparing the ONCONFIG File for Universal Server . . . . 4-9Allocating Disk Space for Universal Server . . . . . . . . 4-9Initializing Disk Space for Universal Server. . . . . . . . 4-10

Configuring the SQL API Environment . . . . . . . . . . 4-10Choosing a Database Type . . . . . . . . . . . . . . . 4-11

Determining If an Existing Database Is ANSI Compliant . . . 4-11Differences Between ANSI-Compliant Databases and

Databases That Are Not ANSI Compliant . . . . . 4-12Making the Initial Connection to a Database Server . . . . . . 4-16Creating the Demonstration Database . . . . . . . . . . . 4-17Getting Error Message Information . . . . . . . . . . . . 4-17

4-2 INFO

RMIX

This chapter provides information to help you get Universal Serverup and running. Information to help you get up and running with theadditional Universal Server tool sets is included with each tool set.

Migrating from a Previous Informix Database ServerIf you are migrating to Universal Server from INFORMIX-OnLine DynamicServer, start with the information provided in the Informix Migration Guide.

Getting Started TasksThe following sections summarize the basic requirements to get UniversalServer to work correctly. It provides information to help you perform thefollowing tasks:

■ Check client/server compatibility

■ Install Informix products

■ Set required environment variables

■ Prepare connectivity files

■ Prepare the configuration file

■ Allocate disk space

■ Configure an SQL API environment

■ Choose a database type

■ Connect to a database server

■ Create the demonstration database

■ Get error message information

Getting Up and Running with Universal Server 4-3

Client Applications Supported by Universal Server

Client Applications Supported by Universal ServerThe following list identifies the Informix client products that UniversalServer supports:

■ INFORMIX-ESQL/C

■ C++ Interface■ GLS API

■ Java API

■ INFORMIX-CLI

For a description of the client products and the documents that support theproducts, see “INFORMIX-Developer SDK for UNIX” on page 3-10.

Installing Universal ServerTo install Universal Server clients, database server, and DataBlade modules,you must load the product files onto your computer and run the installationscript to correctly set up the product files. Review “Order of Installation” onpage 4-5 to determine the correct sequence to install these products.

For information about installing Informix database servers and products, seethe INFORMIX-Universal Server Installation Guide for UNIX.

For information about installing Informix client products, see theINFORMIX-Universal Server Client Products Installation Guide for UNIX.

4-4 Getting Started with INFORMIX-Universal Server

Installing Universal Server

Order of Installation

If you install more than one Informix product on the same computer, youmust install them in a specific order. The following steps describe, andFigure 4-1 illustrates, this order:

1. Clients

Install INFORMIX-Developer SDK or INFORMIX-Connect.

2. Database servers

Install Universal Server.

For information on how to install Universal Server, refer to theINFORMIX-Universal Server Installation Guide.

3. DataBlade modules

Install DataBlade modules in order from the oldest to the newestversions. For information on how to install individual DataBlademodules, refer to the DataBlade module documentation.

Before you can use a DataBlade module that you have installed, youmust register it with the BladeManager, a utility that is included withUniversal Server. For information on how to register a DataBlademodule, see the BladeManager User’s Guide.

If you install more than one Informix product, complete all installationprocedures for one product before you start to install the next product. Donot load the files from another Informix product onto your computer untilyou complete the current installation.

Figure 4-1Installation Order

for InformixVersion 9.1

productsClients Database servers

1 2 3

DataBlade modules

Getting Up and Running with Universal Server 4-5

Configuring the Database Server Environment

If you want to preserve product files of earlier versions, you must createseparate directories for each version of your Informix products. If you installmultiple versions of an Informix product, you must set INFORMIXDIR to theappropriate directory name for the version that you want to access.

For information about setting the $INFORMIXDIR environment variable, seethe INFORMIX-Universal Server Administrator’s Guide.

Configuring the Database Server EnvironmentAfter you install Universal Server, you can configure the database serverenvironment. Configuration refers to setting specific parameters that affectdata processing in the client/server environment.

Before you can connect a client application with a database server, you mustconfigure your database server environment.The following list identifies thebasic configuration requirements for Universal Server:

■ Set environment variables

■ Prepare sqlhosts file

■ Prepare ONCONFIG file

■ Allocate disk space

■ Initialize disk space

This section summarizes database server configuration requirements.

For a full discussion of database server requirements, see theINFORMIX-Universal Server Administrator’s Guide.

4-6 Getting Started with INFORMIX-Universal Server

Configuring the Database Server Environment

Required Environment Variables

The following table shows the minimum environment variables required byUniversal Server. You must set the environment variables described in thissection before an Informix client application can connect with the databaseserver.

Important: The PATH and TERM environment variables are standard UNIXenvironment variables that you must set to run Informix products.

For a list of the environment variables that affect Universal Server, seeAppendix A of this manual. For detailed information about these and otherenvironment variables, see the INFORMIX-Universal Server Administrator’sGuide.

Environment Variable Description

INFORMIXDIR You must set the INFORMIXDIR environment variable to the full pathname of thedirectory where the Informix product has been installed.

INFORMIXSERVER The INFORMIXSERVER environment variable specifies the name of the defaultdatabase server. The sqlhosts file must contain a database server name entry thatmatches the value for INFORMIXSERVER.

For Universal Server, you must set INFORMIXSERVER to the same value that youassign to the DBSERVERNAME parameter in the ONCONFIG configuration file.

PATH The PATH environment variable must include the full pathname of the directorywhere the executable files for Universal Server reside.

ONCONFIG The ONCONFIG environment variable specifies the name of the active ONCONFIGconfiguration file that Universal Server uses. If the ONCONFIG environmentvariable is not set, Universal Server uses values from the file$INFORMIXDIR/etc/onconfig.

TERM The TERM environment variable specifies the type of terminal interface. If theTERM environment variable has not been set on your computer system, you mightneed the assistance of your UNIX system administrator because this variable issystem and terminal dependent.

Getting Up and Running with Universal Server 4-7

Configuring the Database Server Environment

Connectivity Files

The connectivity files contain information that enables client/server commu-nication. The following connectivity configuration files must be present forclient/server connections to succeed:

■ $INFORMIXDIR/etc/sqlhosts file

■ Network-configuration files

■ Network-security files

Of these files, the Universal Server administrator manages only the Informixsqlhosts file. The other files are UNIX operating system files that the UNIXsystem (or network) administrator manages.

Preparing the sqlhosts File

An sqlhosts file must exist on each computer that has either an Informixclient application or database server. If no database server resides on thecomputer where the client program runs, an sqlhosts file is required on thehost computers of both the client application and the database server.

The $INFORMIXDIR/etc/sqlhosts file specifies the location of the databaseserver and the type of connection (interface/protocol combinations) for aconnection to that database server. A client application uses information inthe sqlhosts file to establish a connection to a database server. The sqlhostsfile must contain an entry for each type of connection to each database serveron the network.

The client application looks for the sqlhosts file in the $INFORMIXDIR/etcdirectory; however, you can use the INFORMIXSQLHOSTS environmentvariable to change the location or the name of the sqlhosts file.

For information about the INFORMIXSQLHOSTS environment variable, seethe Informix Guide to SQL: Reference.

If you install different Informix database server products in the samedirectory, your sqlhosts file should also contain entries for these products.

For detailed information about how to prepare the sqlhosts file, refer to theINFORMIX-Universal Server Administrator’s Guide.

4-8 Getting Started with INFORMIX-Universal Server

Configuring the Database Server Environment

Network-Configuration Files

In addition to the sqlhosts files, TCP/IP connections require entries in the/etc/hosts and /etc/services UNIX systems files. IPX/SPX connections alsorequire auxiliary files. However, unlike TCP/IP, the names of the auxiliaryfiles depend on the hardware vendor.

The network-configuration files are described in the INFORMIX-UniversalServer Administrator’s Guide.

Network-Security Files

Universal Server follows UNIX security requirements for makingconnections. Thus, the UNIX system administrator might need to makemodifications to the /etc/passwd, etc/hosts, ~/.rhosts, and other related files.

The network-security files are described in the INFORMIX-Universal ServerAdministrator’s Guide.

Preparing the ONCONFIG File for Universal Server

The ONCONFIG configuration file contains values for parameters thatdescribe the Universal Server environment. You customize an ONCONFIG fileto describe a specific Universal Server environment. You can have severalONCONFIG files to describe different environments, such as learning,production, and development.

For detailed information about how to prepare the ONCONFIG file, see theINFORMIX-Universal Server Administrator’s Guide.

Allocating Disk Space for Universal Server

Before you can initialize Universal Server, you must decide which type ofdisk space to allocate for the database server. Universal Server can use twodistinct types of disk space:

■ Cooked file space, in which the UNIX operating system managesphysical disk I/O

■ Raw disk space, in which Universal Server manages physical diskI/O

Getting Up and Running with Universal Server 4-9

Configuring the SQL API Environment

To learn more about cooked and raw space, see the INFORMIX-UniversalServer Administrator’s Guide.

Initializing Disk Space for Universal Server

In most cases, you initialize disk space just once for Universal Server. Youinitialize disk space when you bring Universal Server on-line for the firsttime. When Universal Server is in on-line mode, you can connect with thedatabase server and perform all database activities.

For information about how to initialize disk space, see theINFORMIX-Universal Server Administrator’s Guide.

Configuring the SQL API EnvironmentAfter you install an SQL API, you can configure the SQL API environment.

You must set the following environment variable before you can compile,link, and run an SQL API. You must set environment variables on thecomputer on which you have installed the SQL API.

■ INFORMIXDIR

■ INFORMIXSERVER

■ PATH

For more information about these and other environment variables that affectSQL API programs, see the Informix Guide to SQL: Reference.

Important: If no database server resides on the computer where the client applicationruns, an sqlhosts file is required on the host computers of both the client applicationand the database server. For information about preparing the sqlhosts file, see “Pre-paring the sqlhosts File” on page 4-8.

If your client application uses a nondefault client locale or accesses adatabase that has a nondefault database locale, you must set theCLIENT_LOCALE and DB_LOCALE environment variables. For moreinformation on locales, see the Guide to GLS Functionality. ♦

GLS

4-10 Getting Started with INFORMIX-Universal Server

Choosing a Database Type

Choosing a Database TypeBefore you connect to your database server, you need to decide whether youwant any of the databases to be ANSI-compliant. An ANSI-compliantdatabase is created using the MODE ANSI keywords. In an ANSI-compliantdatabase, you cannot change the logging mode to buffered logging, and youcannot turn logging off. For more information on the differences betweenANSI-compliant databases and databases that are not ANSI-compliant, seepage 4-12.

You might want to create an ANSI-compliant database for the followingreasons:

■ Privileges and access to objects

ANSI rules govern privileges and access to objects such as tables andsynonyms. However, creating an ANSI-compliant database does notensure that this database remains compliant with theANSI/ISO SQL-92 standards. (If you take a non-ANSI action, such asCREATE INDEX, on an ANSI database, you receive a warning, but theapplication program does not forbid the action.)

■ Name isolation

The ANSI table-naming scheme allows different users to create tablesin a database without having to worry about name conflicts.

■ Transaction isolation

■ Data recovery

ANSI-compliant databases enforce unbuffered logging andautomatic transactions for Universal Server.

Determining If an Existing Database Is ANSI Compliant

The following list describes several methods to determine if a database isANSI compliant:

■ You can use the ON-Monitor utility to list all the databases that resideon the database. The Status➞Databases menu option displays thislist. In the Log Status column on the list, an ANSI-compliant databasehas the notation U*.

Getting Up and Running with Universal Server 4-11

Choosing a Database Type

■ If you are using an SQL API such as INFORMIX-ESQL/C, you can testthe SQL Communications Area (SQLCA). Specifically, the thirdelement in the SQLCAWARN structure contains a W immediately afteryou open an ANSI-compliant database using the DATABASE orCONNECT statement. For information on SQLCA, see the InformixGuide to SQL: Tutorial or your SQL API manual.

Differences Between ANSI-Compliant Databases and Databases ThatAre Not ANSI Compliant

Databases that you designate as ANSI compliant and databases that are notANSI compliant behave differently in the following areas:

■ Transactions

■ Transaction logging

■ Owner naming

■ Privileges on objects

■ Default isolation level

■ Character data types

■ Decimal data type

■ Escape characters

■ Cursor behavior

■ SQLCODE of the SQLCA

■ Allowed SQL statements

■ Synonym behavior

Transactions

All the SQL statements that you issue in an ANSI-compliant database areautomatically contained in transactions. With a database that is not ANSIcompliant, you can choose whether to use transaction processing.

4-12 Getting Started with INFORMIX-Universal Server

Choosing a Database Type

In a database that is not ANSI compliant, a transaction is enclosed by a BEGINWORK statement and a COMMIT WORK or a ROLLBACK WORK statement.However, in an ANSI-compliant database, the BEGIN WORK statement isredundant and unnecessary because all statements are automaticallycontained in a transaction. You need to indicate only the end of a transactionwith a COMMIT WORK or ROLLBACK WORK statement.

For more information on transactions, see the Informix Guide to SQL: Tutorial.

Transaction Logging

All ANSI-compliant databases on Universal Server run with unbufferedtransaction logging. Databases that are not ANSI compliant can run witheither buffered logging or unbuffered logging. Unbuffered logging providesmore comprehensive data recovery, but buffered logging provides betterperformance.

For more information on transaction logging, see the description of CREATEDATABASE in the Informix Guide to SQL: Syntax.

Owner Naming

In an ANSI-compliant database, owner naming is enforced. When you supplyan object name in an SQL statement, ANSI standards require that the nameinclude the prefix owner., unless you are the owner of the object. The combi-nation of owner and name must be unique in the database. If you are theowner of the object, the database server supplies your user name as thedefault.

Databases that are not ANSI compliant do not enforce owner naming.

For more information on owner naming, see the Informix Guide to SQL:Syntax.

Privileges on Objects

ANSI standards specify that the database server grants only the table owner(as well as the DBA if they are not the same user) table-level privileges. In adatabase that is not ANSI compliant, however, privileges are granted toPUBLIC. In addition, Informix provides two table-level privileges, Alter andIndex, that are not included in the ANSI standards.

Getting Up and Running with Universal Server 4-13

Choosing a Database Type

For more information on granting table-level privileges, see the InformixGuide to SQL: Tutorial and the description of the GRANT statement in theInformix Guide to SQL: Syntax.

To run a stored procedure, you must have the Execute privilege for thatprocedure. When you create an owner-privileged procedure for anANSI-compliant database, only the owner of the stored procedure has theExecute privilege. When you create an owner-privileged procedure in adatabase that is not ANSI compliant, the database server grants the Executeprivilege to public by default.

For more information on stored procedure privileges, see the Informix Guideto SQL: Tutorial.

Default Isolation Level

The database isolation level specifies the degree to which your program isisolated from the concurrent actions of other programs. The default isolationlevel for all ANSI-compliant databases is Serializable. The default isolationlevel for databases that are not ANSI compliant but do use logging is ANSIRead Committed on Universal Server. The default isolation level in adatabase that is not ANSI compliant and without logging is Read Uncom-mitted.

For more information on isolation levels, see the Informix Guide to SQL:Tutorial and the description of the SET TRANSACTION and SET ISOLATIONstatements in the Informix Guide to SQL: Syntax.

Character Data Types

In an ANSI-compliant database, you get an error if any character field (CHAR,CHARACTER, VARCHAR, NCHAR, NVARCHAR, LVARCHAR, CHARACTERVARYING) is filled with a string that is longer than the specified width of thefield.

Decimal Data Type

In an ANSI-compliant database, no scale is used for the DECIMAL data type.You can think of this as scale=0.

4-14 Getting Started with INFORMIX-Universal Server

Choosing a Database Type

Escape Characters

In an ANSI-compliant database, escape characters can only escape thefollowing characters: percent (%) and underscore(_). An escape character canalso be used to escape itself.

For more information on escape characters, see the Condition segment in theInformix Guide to SQL: Syntax.

Cursor Behavior

If a database is not ANSI compliant, you need to use the FOR UPDATEkeywords when you declare an update cursor for a SELECT statement. TheSELECT statement must also meet the following conditions:

■ It selects from a single table.

■ It does not include any aggregate functions.

■ It does not include the DISTINCT, GROUP BY, INTO TEMP, ORDER BY,UNION, or UNIQUE clauses and keywords.

With an ANSI-compliant database, you do not have to explicitly use the FORUPDATE keywords when you declare a cursor. In ANSI-compliant databases,all cursors that meet the restrictions described in the preceding list are poten-tially update cursors. You can specify that a cursor is read-only with the FORREAD ONLY keywords on the DECLARE statement.

For more information on cursors, see the description of the DECLAREstatement in the Informix Guide to SQL: Syntax.

The SQLCODE Field of the SQL Communications Area

If no rows satisfy the search criteria of a DELETE, an INSERT INTO tablenameSELECT, a SELECT...INTO TEMP, or an UPDATE statement, the database serversets SQLCODE to 100 if the database is ANSI compliant and sets SQLCODE to0 if the database is not ANSI compliant.

For more information on SQLCODE, see the Informix Guide to SQL: Tutorial.

Getting Up and Running with Universal Server 4-15

Making the Initial Connection to a Database Server

SQL Statements Allowed with ANSI-Compliant Databases

No restrictions exist on SQL statements that are allowed in applications usedwith an ANSI-compliant database. You can use the Informix extensions witheither an ANSI-compliant database or a database that is not ANSI compliant.

Synonym Behavior

Synonyms are always private in an ANSI-compliant database. If you attemptto create a public synonym, or use the PRIVATE keyword to designate aprivate synonym in an ANSI-compliant database, you receive an error.

Making the Initial Connection to a Database ServerBefore you can access information in a database, the client application mustexecute a CONNECT statement or a DATABASE statement to open thedatabase. The CONNECT statement is preferred because it conforms withANSI and X/Open standards, which attempt to specify uniform syntax.

The CONNECT statement connects the application to a database environment.The database environment can be a database, a database server, or a databaseand a database server. For example, the following command connects a clientapplication to a database server named alaska and opens the databasenamed rivers:

CONNECT TO rivers@alaska

You can use the DISCONNECT statement to terminate the connection betweenyour client application and the database server. With ESQL/C applications,you can use the SET CONNECTION statement to reestablish an activeconnection and make it current. You can also use the SET CONNECTIONstatement to make the current connection dormant. The DB-Access utilitydoes not support the SET CONNECTION statement.

Tip: When you use DB-Access as your client application, you can use the DB-Accessmain menu (or issue SQL statements) to connect to and disconnect from a databaseserver.

The complete syntax for the CONNECT, DATABASE, DISCONNECT, and SETCONNECTION statements is covered in the Informix Guide to SQL: Syntax.

4-16 Getting Started with INFORMIX-Universal Server

Creating the Demonstration Database

Creating the Demonstration DatabaseThe DB-Access utility, which is provided with your Informix database serverproducts, includes a script that creates a demonstration database calledstores7 that contains information about a fictitious wholesale sporting-goodsdistributor. Sample command files are also included.

Many examples in Informix manuals are based on the stores7 demonstrationdatabase. The stores7 database is described in detail and its contents arelisted in Appendix A of the Informix Guide to SQL: Reference.

The script that you use to install the demonstration database is calleddbaccessdemo7 and is located in the $INFORMIXDIR/bin directory. For acomplete explanation of how to create and populate the demonstrationdatabase on your database server, refer to the DB-Access User Manual.

Getting Error Message InformationInformix software products provide ASCII files that contain all the Informixerror messages and their corrective actions. To read the error messages,Informix provides scripts that let you display error messages on the screen(finderr) or print formatted error messages (rofferr).

For a detailed description of these scripts, see the Introduction to the InformixError Messages manual.

Getting Up and Running with Universal Server 4-17

5Chapter

Using Universal ServerDocumentation

Who Uses Universal Server? . . . . . . . . . . . . . . . 5-3Database Users . . . . . . . . . . . . . . . . . . . 5-3Programmers . . . . . . . . . . . . . . . . . . . 5-4Database Administrators . . . . . . . . . . . . . . . 5-4Universal Server Administrators . . . . . . . . . . . . . 5-4

Universal Server Documentation Task Matrix. . . . . . . . . . 5-5

5-2 INFO

RMIX

This chapter provides an overview of the users of Universal Serverand the associated tasks with each position. It also includes a matrix of thosetasks and where to find information throughout the Universal Serverdocumentation set.

Who Uses Universal Server?The following five major groups use Universal Server:

■ Database users

■ Programmers

❑ Application developers

❑ DataBlade-module developers

❑ Authors of user-defined routines

■ Database administrators

■ Universal Server administrators

Database UsersIf you are a database user, you access, insert, update, and manageinformation in databases using the Structured Query Language (SQL) oftenembedded in a client application.

In Figure 5-1 on page 5-5, look for the acronym USER in the Role field toidentify database user tasks and the book(s) to help you complete the tasks.

Using Universal Server Documentation 5-3

Programmers

ProgrammersIf you develop client applications, DataBlade modules, and user-definedroutines, Universal Server is a database server that offers a number ofpossibilities for data management, multimedia, isolation levels, and so on.Universal Server can integrate information objects such as scanned anddigitized images, voice, graphs, facsimiles, and word-processing documentsinto an SQL-based object-relational database.

In Figure 5-1 on page 5-5, look for the acronym DEV in the Role field toidentify application developer tasks and the book(s) to help you complete thetasks.

Database AdministratorsIf you are a database administrator (DBA), you are primarily responsible tocreate and manage access control for a database. You use SQL statements togrant and revoke privileges to ensure that the correct individuals are able toperform the actions they need to and that untrained or unscrupulous usersare kept from performing potentially damaging or inappropriate activities.

In Figure 5-1, look for the acronym DBA in the Role field to identify databaseadministrators tasks and the book(s) to help you complete the tasks.

Universal Server AdministratorsIf you are a Universal Server administrator, you are responsible forinstallation, maintenance, administration, and the operation of the entiredatabase server, which might be managing many individual databases.

In Figure 5-1, look for the acronym ADMIN in the Role field to identifyUniversal Server administrators tasks and the book(s) to help you completethe tasks.

5-4 Getting Started with INFORMIX-Universal Server

Universal Server Documentation Task Matrix

Universal Server Documentation Task MatrixThe Universal Server documentation matrix in Figure 5-1 provides a quickreference to all documentation provided with Universal Server and theUniversal Server kits. The matrix includes the following three columns:

■ If You Want To. A task you might want to perform.

■ Manual. The primary book that contains information to help youperform the task.

■ Role. The person most likely to perform the task.

Use the matrix to associate tasks with specific books.

Figure 5-1Universal Server Documentation Matrix

If You Want To: Manual Role

Configure Universal Server INFORMIX-Universal ServerAdministrator’s Guide

ADMIN

Identify sources of information for monitoring UniversalServer (such as the message log and the sysmasterdatabase)

Initialize Universal Server

Install Universal Server in different environments

Manage database-logging status

Manage the logical and physical log

Manage modes

Manage virtual processors, shared memory, disk space,and fragmentation

Perform consistency checking

Perform distributed transactions

Perform mirroring operations

(1 of 4)

Using Universal Server Documentation 5-5

Universal Server Documentation Task Matrix

Perform a parallel database query (PDQ) INFORMIX-Universal ServerAdministrator’s Guide

ADMIN

Recover from failed two-phase commits

Use tools (such as the onstat, onlog, and oncheck utilities)to perform administrative tasks

Back up the logical log INFORMIX-Universal ServerArchive and Backup Guide

ADMIN

Configure, use, and administer ON-Archive

Configure and use the ontape utility

Create an archive

Restore Universal Server data

Understand the components of the ON-Bar backup andrestore system

INFORMIX-Universal ServerBackup and Restore Guide

ADMIN

Configure and use ON-Bar

Refer to examples for set up, back up, and restore data forON-Archive

ON-Archive Quick Start Guide ADMIN

Migrate to Universal Server from an earlier version ofOnLine Dynamic Server

Informix Migration Guide ADMIN

Move data between different physical equipment(computer and storage devices) and different operatingsystems

Move data between locales

Revert from Universal Server to an earlier version ofOnLine Dynamic Server

If You Want To: Manual Role

(2 of 4)

5-6 Getting Started with INFORMIX-Universal Server

Universal Server Documentation Task Matrix

Control placement and size of tables, fragments, and tableextents

INFORMIX-Universal ServerPerformance Guide

ADMIN

Eliminate performance bottlenecks; for example, bybalancing load on system resources or adjusting configu-ration parameters.

Identify the database activities that affect critical resources

Identify and monitor costs that affect the performance of aquery

Improve performance of a query

Manage indexes

Manage resources for parallel database queries (PDQ)

Monitor system resources (CPU, memory, disk) that arecritical to performance

Use utilities such as onperf for performance monitoringand tuning

Use secondary access methods (B-trees and R-trees)

Create user-defined routines Extending INFORMIX-UniversalServer: User-Defined Routines

ADMIN

Use the ipload and onpload utilities to load or unloaddata to or from an Informix database

Guide to the High-PerformanceLoader

DBA

Use the onpload database

Create and manage database access Informix Guide to SQL: Syntax DBA

Access, retrieve, and modify data from a database DB-Access User Manual USER

Invoke the DB-Access utility

Use a primary access method Informix Guide to SQL: Syntax DEV

Create user-defined data types Extending INFORMIX-UniversalServer: Data Types

DEV

Create complex data types Informix Guide to SQL: Tutorial DEV

If You Want To: Manual Role

(3 of 4)

Using Universal Server Documentation 5-7

Universal Server Documentation Task Matrix

Create consistent interfaces to large objects LOB Locator DataBlade ModuleProgrammer’s Guide

DEV

Create custom application with the INFORMIX-CLI appli-cation programming interface for database access

INFORMIX-CLI Programmer’sManual

DEV

Find schema information for a database Schema Knowledge User’s Guide DBA

Register DataBlade modules for use in a database BladeManager User’s Guide DBA

Add LOB Locator functionality to specific databases LOB Locator DataBlade ModuleProgrammer’s Guide

DBA

Embed SQL statements directly into C programs INFORMIX-ESQL/CProgrammer’s Manual

DEV

Use the Universal Server secure-audit facility to set up,administer, and interpret audit trails

INFORMIX-Universal ServerTrusted Facility Manual

ADMIN

Quickly review the command-line utility option andcorresponding ON-Monitor options and SMI tables toperform routine administrator tasks

INFORMIX-Universal ServerQuick Reference Guide

ADMIN

Use the onsnmp subagent for networking INFORMIX-Universal ServerSNMP Subagent Guide

ADMIN

Use the GLS features to allow Informix APIs and databaseservers to handle different languages, cultural conven-tions, and code sets

Guide to GLS Functionality DEV

Develop client and server applications that access datastored in a Universal Server database

DataBlade API Programmer’sManual

DEV

Use the SQL Editor to create SQL statements and manageactions performed by SQL statements

Using the SQL Editor USER

Develop Informix client applications that use the object-oriented C++ programming language.

C++ Interface Programmer’sGuide

DEV

Develop Informix client applications that use the object-oriented Java programming language

Java API User’s Guide DEV

If You Want To: Manual Role

(4 of 4)

5-8 Getting Started with INFORMIX-Universal Server

6Chapter

Universal ServerDocumentation Matrix

Universal Server Documentation . . . . . . . . . . . . . . 6-3

INFORMIX-DB Admin Kit for Microsoft WindowsEnvironments Documentation . . . . . . . . . . . . 6-7

INFORMIX-DataBlade Developer’s Kit for Microsoft WindowsEnvironments Documentation . . . . . . . . . . . . 6-8

INFORMIX-Developer SDK for UNIX Documentation . . . . . . 6-9

INFORMIX-Developer SDK for Microsoft WindowsEnvironments Documentation . . . . . . . . . . . . 6-11

INFORMIX-Connect for UNIX . . . . . . . . . . . . . . . 6-13

INFORMIX-Connect for Microsoft Windows Environments . . . . . 6-14

6-2 INFO

RMIX

This chapter is a summary of the Universal Server documentationdistributed with each kit.

Universal Server DocumentationThe following table lists documentation that is distributed with UniversalServer.

Book Title Description

INFORMIX-Universal Server Administra-tor’s Guide

This manual is both a user guide and a reference manual tothe features of INFORMIX-Universal Server. It is intended tohelp you understand, configure, and use Universal Server.

INFORMIX-Universal Server Quick Refer-ence Guide

This manual lists the command-line utility options andcorresponding ON-Monitor options and SMI tables toperform routine administration tasks.

INFORMIX-Universal Server PerformanceGuide

This manual explains how to configure and operateUniversal Server to improve overall system throughput andhow to improve the performance of SQL queries. It alsoincludes a description of the onperf utility, a graphicalinterface that you can use to monitor UNIX performance.

Informix Guide to SQL: Reference This manual describes the Informix system catalog tables,Informix and common environment variables that youmight need to set, and the data types supported by UniversalServer.

Informix Guide to SQL: Tutorial This manual includes instructions for using SQL. It also de-scribes the fundamental ideas and terminology for planning,implementing, and using an object-relational database man-agement system.

(1 of 4)

Universal Server Documentation Matrix 6-3

Universal Server Documentation

Informix Guide to SQL: Syntax This manual contains the syntax descriptions for SQL andStored Procedure Language (SPL) statements and segments.

SQL Quick Syntax Guide This guide presents only the syntax diagrams for SQL state-ments and segments.

Extending INFORMIX-Universal Server:Data Types

This guide explains how to extend existing data types anddefine new data types for a Universal Server database.

Extending INFORMIX-Universal Server:User-Defined Routines

This guide explains how to define your own functions andprocedures to extend the functionality of your UniversalServer database.

Guide to GLS Functionality This manual describes the Global Language Support (GLS)feature that is available in Informix products. The GLSfeature allows Informix APIs and Informix database serversto handle different languages, cultural conventions, andcode sets. This manual describes only the language-relatedtopics that are unique to GLS.

Informix Migration Guide This manual describes the procedures that you use whenyou move data from one location to another and when youmigrate existing Informix databases to Universal Server.

Guide to the High-Performance Loader This manual describes how to use the High-PerformanceLoader (HPL) (HPL) to efficiently load and unload largequantities of data to or from an Informix database.

INFORMIX-Universal Server InstallationGuide for UNIX

This guide contains instructions to install Informix 9.1products on computers that run the UNIX operating system.This guide also includes information to set up GLS and roleseparation.

INFORMIX-Universal Server SNMPSubagent Guide

This guide describes the onsnmp subagent that providesinformation about Informix database servers to network-management tools. The manual also documents theManagement Information Bases (MIBs) that specify the infor-mation that onsnmp provides to the network-managementtools.

INFORMIX-Universal Server Trusted FacilityManual

This manual describes the Universal Server secure-auditingfacility and includes information to set up and administeraudit trails, extract and interpret audit records, and use SQLutilities and statements for audit analysis.

Book Title Description

(2 of 4)

6-4 Getting Started with INFORMIX-Universal Server

Universal Server Documentation

INFORMIX-Universal Server Archive andBackup Guide

The manual describes the components, features, and tasksthat make up the recovery system provided with UniversalServer. Detailed information is provided on the ON-Archiveand ontape facilities.

ON-Archive Quick Start Guide This guide presents a complete example of setting up,backing up, and restoring data for a system. It introducesyou to the concepts, terminology, and basic tasks involved inusing ON-Archive as your recovery system. It includes asection on troubleshooting common problems and a scriptedsample session.

INFORMIX-Universal Server Backup andRestore Guide

This manual describes how to use ON-Bar to back up andrestore Universal Server.

DB-Access User Manual This manual describes how to use the DB-Access utility toaccess, modify, and retrieve information from UniversalServer.

BladeManager User’s Guide This guide explains how to use the BladeManager appli-cation to manage DataBlade modules in Informix databases.This guide supports the Windows-based GUI and the UNIX-based text interface to BladeManager.

DataBlade API Programmer’s Manual This manual contains information on the DataBlade API, theC-language application programming interface providedwith Universal Server. Use it to develop client and serverapplications that access data stored in a Universal Serverdatabase.

LOB Locator DataBlade Module Program-mer’s Guide

This guide enables you to create a single consistent interfaceto large objects. It extends the concept of large objects toinclude data stored outside the database.

Book Title Description

(3 of 4)

Universal Server Documentation Matrix 6-5

Universal Server Documentation

Virtual-Table Interface Programmer’s Manual This optional manual documents information to develop aprimary access method. This book also references functionsand SQL statements that are required to develop a primaryaccess method.

Getting Started with INFORMIX-UniversalServer

This guide provides an overview of the Universal Serverobject-relational database management system, summarizesimportant features of Informix products, and provides infor-mation to help you use the documentation that is includedwith Universal Server.

Informix Error Messages This manual provides a complete list of Informix-specificerror messages and describes their corrective actions forcurrent Informix products and earlier Informix products thatare still supported.

Book Title Description

(4 of 4)

6-6 Getting Started with INFORMIX-Universal Server

INFORMIX-DB Admin Kit for Microsoft Windows Environments Documentation

INFORMIX-DB Admin Kit for Microsoft WindowsEnvironments DocumentationThe following table lists documentation that is distributed with theINFORMIX-DB Admin Kit for Windows environments.

Book Title Description

Using the SQL Editor This manual describes how to use the SQL Editor (agraphical Windows product) to create SQL statements andmanage actions performed by the SQL statements.

This book also includes information describing the SetNet32utility.

BladeManager User’s Guide This guide explains how to use the BladeManager appli-cation to manage DataBlade modules in Informix databases.This guide supports the Windows-based graphical userinterface (GUI) and the UNIX-based text interface toBladeManager.

Schema Knowledge User’s Guide This guide explains how to use the Schema Knowledgeapplication to obtain meta or schema information aboutInformix databases.

INFORMIX-Universal Server Client ProductsInstallation Guide for Microsoft WindowsEnvironments

This guide contains instructions to install Universal Serverclient products on computers in Microsoft WindowsEnvironments.

Universal Server Documentation Matrix 6-7

INFORMIX-DataBlade Developer’s Kit for Microsoft Windows Environments Documentation

INFORMIX-DataBlade Developer’s Kit for MicrosoftWindows Environments DocumentationThe following table lists documentation that is distributed with theINFORMIX-DataBlade Developer’s Kit for Windows environments.

Book Title Description

DataBlade Developers Kit User’s Guide This guide describes how to use BladeSmith to define theobjects in your DataBlade module, and generate code,scripts, and installation files for the module. This guide alsodescribes how to use BladePack to package DataBlademodules for distribution.

Informix Web DataBlade Module User’s Guide This guide explains how to use the Web DataBlade moduleto create Web applications that dynamically retrieve datafrom a Universal Server database.

BladeManager User’s Guide This guide explains how to use the BladeManager appli-cation to manage DataBlade modules in Universal Serverdatabases. This guide supports the Windows-based GUI andthe UNIX-based text interface to BladeManager.

Using the SQL Editor This book provides information to help you start and use theSQL Editor to create and manage SQL statements.

This book also includes information describing the SetNet32utility.

Schema Knowledge User’s Guide This guide explains how to use the Schema Knowledgeapplication to obtain meta or schema information aboutInformix databases.

6-8 Getting Started with INFORMIX-Universal Server

INFORMIX-Developer SDK for UNIX Documentation

INFORMIX-Developer SDK for UNIX DocumentationThe following table lists documentation that is distributed with theINFORMIX-Developer SDK for UNIX.

Book Title Description

INFORMIX-ESQL/C Programmer’s Manual This manual explains how to use INFORMIX-ESQL/C tocreate client applications with database-managementcapabilities.

C++ Interface Programmer’s Guide This guide describes how to develop Informix client applica-tions that use the object-oriented C++ programminglanguage.

Guide to GLS Functionality This manual describes the Global Language Support (GLS)feature that is available in Informix products. The GLSfeature allows Informix APIs and Informix database serversto handle different languages, cultural conventions, andcode sets. This manual describes only the language-relatedtopics that are unique to GLS.

GLS API Programmer’s Manual This manual describes the GLS API. Use the GLS API to writeprograms (or change existing programs) to handle differentlanguages, cultural conventions, and code sets.

Java API User’s Guide This guide describes how to develop Informix client applica-tions that use the object-oriented Java programminglanguage.

INFORMIX-CLI Programmer’s Manual This manual describes how to use the INFORMIX-CLIapplication-programming interface to create custom appli-cations for database access and lists the function calls youcan use to pass dynamic SQL statements as functionarguments.

INFORMIX-Universal Server Client ProductsInstallation Guide for UNIX

This guide contains instructions to install Universal Serverclient products on computers that run the UNIX operatingsystem.

Informix Guide to SQL: Reference This manual describes the Informix system catalog tables,Informix and common environment variables that youmight need to set, and the data types supported by UniversalServer.

(1 of 2)

Universal Server Documentation Matrix 6-9

INFORMIX-Developer SDK for UNIX Documentation

Informix Guide to SQL: Syntax This manual contains the syntax descriptions for SQL andStored Procedure Language (SPL) statements and segments.

SQL Quick Syntax Guide This guide presents only the syntax diagrams for SQL state-ments and segments.

Informix Guide to SQL: Tutorial This manual includes instructions for using SQL. It also de-scribes the fundamental ideas and terminology for planning,implementing, and using an object-relational database man-agement system.

Extending INFORMIX-Universal Server:Data Types

This guide explains how to extend existing data types anddefine new data types for a Universal Server database.

Extending INFORMIX-Universal Server:User-Defined Routines

This guide explains how to define your own functions andprocedures to extend the functionality of your UniversalServer database.

Informix Error Messages This manual provides a complete list of Informix-specificerror messages and describes their corrective actions forcurrent Informix products and earlier Informix products thatare still supported.

Book Title Description

(2 of 2)

6-10 Getting Started with INFORMIX-Universal Server

INFORMIX-Developer SDK for Microsoft Windows Environments Documentation

INFORMIX-Developer SDK for Microsoft WindowsEnvironments DocumentationThe following table lists documentation that is distributed with theINFORMIX-Developer SDK for Microsoft Windows Environments.

Book Title Description

INFORMIX-ESQL/C Programmer’s Manual This manual explains how to use INFORMIX-ESQL/C tocreate client applications with database-managementcapabilities.

INFORMIX-ESQL/C Programmer’s Supple-ment

This manual supplements the information in theINFORMIX-ESQL/C Programmer’s Manual. This bookprovides supplemental information to create client applica-tions with database-management capabilities in a WindowsNT or Windows 95 environment.

C++ Interface Programmer’s Guide This guide describes how to develop Informix client applica-tions that use the object-oriented C++ programminglanguage.

Guide to GLS Functionality This manual describes the GLS feature that is available inInformix products. The GLS feature allows Informix APIsand Informix database servers to handle different languages,cultural conventions, and code sets. This manual describesonly the language-related topics that are unique to GLS.

GLS API Programmer’s Manual This manual describes the GLS API. Use GLS API to writeprograms (or change existing programs) to handle differentlanguages, cultural conventions, and code sets.

Java API User’s Guide This guide describes how to develop Informix client applica-tions that use the object-oriented Java programminglanguage.

INFORMIX-CLI Programmer’s Manual This manual describes how to use the INFORMIX-CLI appli-cation-programming interface to create custom applicationsfor database access and lists the function calls you can use topass dynamic SQL statements as function arguments.

(1 of 2)

Universal Server Documentation Matrix 6-11

INFORMIX-Developer SDK for Microsoft Windows Environments Documentation

Informix Guide to SQL: Reference This manual describes the Informix system catalog tables,Informix and common environment variables that youmight need to set, and the data types supported by UniversalServer.

Informix Guide to SQL: Syntax This manual contains the syntax descriptions for SQL andStored Procedure Language (SPL) statements and segments.

SQL Quick Syntax Guide This guide presents only the syntax diagrams for SQL state-ments and segments.

Informix Guide to SQL: Tutorial This manual includes instructions for using SQL. It also de-scribes the fundamental ideas and terminology for planning,implementing, and using an object-relational database man-agement system.

Extending INFORMIX-Universal Server:Data Types

This guide explains how to extend existing data types anddefine new data types for a Universal Server database.

Extending INFORMIX-Universal Server: Us-er-Defined Routines

This guide explains how to define your own functions andprocedures to extend the functionality of your UniversalServer database.

Informix Error Messages This manual provides a complete list of Informix-specificerror messages and describes their corrective actions forcurrent Informix products and earlier Informix products thatare still supported.

INFORMIX-Universal Server Client ProductsInstallation Guide for Microsoft WindowsEnvironments

This guide contains instructions to install Universal Serverclient products on computers that run in Microsoft Windowsenvironments.

Book Title Description

(2 of 2)

6-12 Getting Started with INFORMIX-Universal Server

INFORMIX-Connect for UNIX

INFORMIX-Connect for UNIX

The following table lists documentation that is distributed with INFORMIX-Connect for UNIX.

Book Title Description

INFORMIX-Universal Server Client ProductsInstallation Guide for UNIX

This guide contains instructions to install Universal Serverclient products on computers that run the UNIX operatingsystem.

Informix Error Messages This manual provides a complete list of Informix-specificerror messages and describes their corrective actions forcurrent Informix products and earlier Informix products thatare still supported.

Universal Server Documentation Matrix 6-13

INFORMIX-Connect for Microsoft Windows Environments

INFORMIX-Connect for Microsoft WindowsEnvironments

The following table lists documentation that is distributed with INFORMIX-Connect for Microsoft Windows Environments.

Book Title Description

INFORMIX-Universal Server Client ProductsInstallation Guide for Microsoft WindowsEnvironments

This guide contains instructions to install Universal Serverclient products on computers that run in Microsoft WindowsEnvironments.

Informix Error Messages This manual provides a complete list of Informix-specificerror messages and describes their corrective actions forcurrent Informix products and earlier Informix products thatare still supported.

6-14 Getting Started with INFORMIX-Universal Server

AAppendix

Environment Variables

OverviewThis appendix provides a quick-reference list of all environmentvariables used with Universal Server.

What You Need to Know Before You SetEnvironment VariablesBefore you can run your Informix relational databasemanagement system, you must set certain environmentvariables that affect the functionality of your Informix product.You use environment variables to identify a terminal type,specify the location of product files, override default settings,specify display formats, and define other parameters.

Before you set the environment variables that your databaseserver or client application uses, review the following topics,which are discussed in the Informix Guide to SQL: Reference:

■ Types of environment variables

■ Where to set environment variables

■ Manipulating environment variables

■ Checking environment variables

■ Rules of precedence

Becoming Familiar with the Environment Variables That Affect Universal Server

Becoming Familiar with the Environment VariablesThat Affect Universal ServerThis section identifies the environment variables that affect Universal Serverand SQL API products. The environment variables are listed alphabetically asthe tables in Figure A-1 on page A-3 show.

Use the tables in this section to help you answer the following questions:

■ What environment variables can the database server or SQL APIproduct use?

■ What environment variables am I required to set?

■ What does the environment variable do?

■ Is the environment variable used with a specific feature?

■ Where can I find more information about the environment variable?

The Universal Server administrator must ensure that each Universal Serveruser sets the correct environment variables. Figure A-1 lists the environmentvariables that affect Universal Server. Required environment variables arehighlighted.

A-2 Getting Started with INFORMIX-Universal Server

Becoming Familiar with the Environment Variables That Affect Universal Server

Figure A-1Environment Variables That Affect Universal Server

Environment Variable Comments Reference

ARC_DEFAULT Indicates the location of a personal defaultqualifier file. Use ARC_DEFAULT withON-Archive.

Informix Guide to SQL: Reference

INFORMIX-Universal Server Backup andRestore Guide

ARC_KEYPAD Specifies a tctermcap file that is differentfrom the default tctermcap file. UseARC_KEYPAD with ON-Archive.

Informix Guide to SQL: Reference

INFORMIX-Universal Server Backup andRestore Guide

DBBLOBBUF Controls whether a blob is storedtemporarily in memory or in a file whilebeing unloaded with the UNLOADstatement.

Informix Guide to SQL: Reference

DBDELIMITER Specifies the field delimiter for unloadeddata files.

Informix Guide to SQL: Reference

DBEDIT Specifies the name of a text editor. UseDBEDIT with the DB-Access utility.

Informix Guide to SQL: Reference

DBLANG Specifies the compiled message filesdirectory that an Informix product uses.DBLANG is a GLS environment variable.

Informix Guide to SQL: Reference

Guide to GLS Functionality

DBONPLOAD Specifies the database name that the High-Performance Loader onpload utility uses.

Informix Guide to SQL: Reference

Guide to the High-Performance Loader

DBPATH Specifies the database servers on whichdatabases are stored.

Informix Guide to SQL: Reference

DBREMOTECMD Overrides the default shell that is usedwhen you perform remote tapeoperations.

Informix Guide to SQL: Reference

INFORMIX-Universal Server Backup andRestore Guide

DBSPACETEMP Specifies the dbspaces in whichtemporary tables are to be built.

Informix Guide to SQL: Reference

INFORMIX-Universal Server Adminis-trator’s Guide

(1 of 4)

Environment Variables A-3

Becoming Familiar with the Environment Variables That Affect Universal Server

DB_LOCALE Specifies the database locale that thedatabase server uses for certain read andwrite operations. DB_LOCALE is a GLSenvironment variable.

Guide to GLS Functionality

GLS8BITFSYS Indicates how an Informix productshould handle filenames that contain non-ASCII characters. GLS8BITFSYS is a GLSenvironment variable.

Guide to GLS Functionality

INFORMIXCSCONFIG Specifies the full pathname of the csconfigfile (overrides the default location). Thecsconfig file contains information aboutthe CSM.

Informix Guide to SQL: Reference

INFORMIX-Universal Server Adminis-trator’s Guide

INFORMIXDIR INFORMIXDIR is required. It specifies thedirectory where Informix product files areinstalled.

Informix Guide to SQL: Reference

INFORMIX-Universal Server Adminis-trator’s Guide

INFORMIXKEYTAB Specifies the location of the keytab file.This file is a DCE security-related file.

INFORMIX-Universal Server Adminis-trator’s Guide

INFORMIXSERVER INFORMIXSERVER is required. It specifiesthe default database server to which anapplication connects.

Informix Guide to SQL: Reference

INFORMIX-Universal Server Adminis-trator’s Guide

INFORMIXSHMBASE Specifies where shared-memorycommunication segments are attached tothe client process. It affects only clientapplications that connect to UniversalServer with the IPC shared-memorycommunication protocol.

Informix Guide to SQL: Reference

INFORMIX-Universal Server Adminis-trator’s Guide

INFORMIXSQLHOSTS Specifies the pathname and filename of afile that contains connectivityinformation.

Informix Guide to SQL: Reference

INFORMIXSTACKSIZE Specifies the stack size that UniversalServer uses for a particular client session.

Informix Guide to SQL: Reference

INFORMIX-Universal Server Adminis-trator’s Guide

Environment Variable Comments Reference

(2 of 4)

A-4 Getting Started with INFORMIX-Universal Server

Becoming Familiar with the Environment Variables That Affect Universal Server

INFORMIXTERM Specifies whether DB-Access should useinformation in the termcap file orterminfo directory.

Informix Guide to SQL: Reference

INFORMIX-Universal Server Adminis-trator’s Guide

INF_ROLE_SEP Indicates whether Universal Server usesrole separation.

Informix Guide to SQL: Reference

INFORMIX-Universal Server TrustedFacility Manual

NODEFDAC Specifies whether default table privilegesare granted to PUBLIC on new tables thatare created in a database that is not ANSIcompliant.

Informix Guide to SQL: Reference

INFORMIX-Universal Server TrustedFacility Manual

ONCONFIG ONCONFIG is required. It specifies a filethat contains Universal Serverconfiguration parameters.

Informix Guide to SQL: Reference

INFORMIX-Universal Server Adminis-trator’s Guide

OPTCOMPIND Allows the optimizer to select anappropriate join method.

Informix Guide to SQL: Reference

INFORMIX-Universal Server Adminis-trator’s Guide

PATH PATH is required. It specifies the searchpath for executable program files.

Informix Guide to SQL: Reference

INFORMIX-Universal Server Adminis-trator’s Guide

PDQPRIORITY Specifies the degree of Universal Serverparallelism.

Informix Guide to SQL: Reference

INFORMIX-Universal Server Adminis-trator’s Guide

PLCONFIG Specifies the High-Performance Loaderconfiguration file.

Informix Guide to SQL: Reference

Guide to the High-Performance Loader

PSORT_DBTEMP Specifies a directory where UniversalServer writes the temporary files when itperforms a sort.

Informix Guide to SQL: Reference

INFORMIX-Universal Server Adminis-trator’s Guide

PSORT_NPROCS Specifies the maximum number ofUniversal Server threads to sort a query.

Informix Guide to SQL: Reference

INFORMIX-Universal Server Adminis-trator’s Guide

Environment Variable Comments Reference

(3 of 4)

Environment Variables A-5

Becoming Familiar with the Environment Variables That Affect Universal Server

SERVER_LOCALE Specifies the server locale that thedatabase server uses to perform certainread and write operations.SERVER_LOCALE is a GLS environmentvariable.

Guide to GLS Functionality

TERM TERM is required. It specifies the terminaltype.

Informix Guide to SQL: Reference

INFORMIX-Universal ServerAdministrator’s Guide

TERMCAP Specifies the location of the termcap file. Informix Guide to SQL: Reference

INFORMIX-Universal Server Adminis-trator’s Guide

TERMINFO Specifies the location of the terminfodirectory.

Informix Guide to SQL: Reference

INFORMIX-Universal Server Adminis-trator’s Guide

Environment Variable Comments Reference

(4 of 4)

A-6 Getting Started with INFORMIX-Universal Server

Index

Index

AAccess method

primary 2-11secondary 2-12

Access method, steps to create 2-11Administrative tasks

of database administrator 5-4of Universal Server

administrator 5-4ANSI compliance

described 4-11determining 4-11level Intro-13

ANSI-compliant databaseeffect on

cursor behavior 4-15decimal data type 4-14default isolation level 4-14escape characters 4-15object privileges 4-13owner naming 4-13SQLCODE 4-15transaction logging 4-13transactions 4-12

owner naming 4-13privileges 4-13reason for creating 4-11SQL statements allowed 4-16

applications 5-4Architecture 1-5

client/server 1-6database server security 1-13distributed databases 1-12dynamic thread allocation 1-9

fault tolerance and highavailability 1-10

high performance 1-7memory management 1-8parallelization 1-9raw disk management 1-8scalability 1-7

Archive, and backups 1-10ARC_DEFAULT environment

variable A-3ARC_KEYPAD environment

variable A-3Auditing 1-13

BBackup, transaction records 1-10Binary large object 2-15B-tree access method 2-12Built-in data type, description of 2-4

CCharacter data type, list of 2-4Character large object 2-15Client, description of 1-6Client, order of installation 4-5Client/server architecture,

description of 1-6Comment icons Intro-8Complex data types 2-6Compliance

with industry standards Intro-13

Configurationclients supported by database

servers 4-4files for network 4-9requirements 4-6

Configuration file 4-7CONNECT statement 4-16

example of 4-16opening a database 4-16

Connection, example withCONNECT statement 4-16

Connectivityfiles, overview of 4-8sqlhosts file 4-8

Cross-reference icons Intro-8

DData replication, description of 1-11Data types

built-in 2-4complex 2-6complex, collection type 2-7complex, row type 2-7distinct 2-5, 2-6opaque 2-5user defined 2-5

Database environment, definitionof 4-16

Database management systems,overview of 1-4

object-relational 1-5relational 1-5

Database serverconfiguring 4-6order of installation for 4-5

DATABASE statement 4-16Database, demonstration 4-17DataBlade modules 2-13DataBlade modules, order of

installation 4-5DB-Access utility

creating the demonstrationdatabase 4-17

dbaccessdemo7 script Intro-5, 4-17DBBLOBBUF environment

variable A-3

DBDELIMITER environmentvariable A-3

DBEDIT environment variable A-3DBLANG environment

variable A-3DBONPLOAD environment

variable A-3DBPATH environment variable A-3DBREMOTECMD environment

variable A-3DBSPACETEMP environment

variable A-3DB_LOCALE environment

variable A-4Default locale Intro-5Demonstration database Intro-5

overview of 4-17Determining ANSI compliance 4-11DISCONNECT statement 4-16Disk failure 1-10Distinct type, description of 2-6Distributed databases 1-12Documentation conventions

icon Intro-7typographical Intro-7

Documentation notes Intro-11Documentation, types of

documentation notes Intro-11error message files Intro-10machine notes Intro-11on-line manuals Intro-9printed manuals Intro-10release notes Intro-11

EEnvironment variable

ARC_DEFAULT A-3ARC_KEYPAD A-3before setting A-1DBBLOBBUF A-3DBDELIMITER A-3DBEDIT A-3DBLANG A-3DBONPLOAD A-3DBPATH A-3DBREMOTECMD A-3

DBSPACETEMP A-3DB_LOCALE A-4GLS8BITFSYS A-4INFORMIXDIR 4-7, A-4INFORMIXSERVER 4-7, A-4INFORMIXSHMBASE A-4INFORMIXSQLHOSTS A-4INFORMIXSTACKSIZE A-4INFORMIXTERM A-5INF_ROLE_SEP A-5NODEFDAC A-5ONCONFIG 4-7, A-5OPTCOMPIND A-5PATH 4-7, A-5PDQPRIORITY A-5PLCONFIG A-5PSORT_DBTEMP A-5PSORT_NPROCS A-5required

for database servers 4-7for SQL APIs 4-10

SERVER_LOCALE A-6TERM 4-7, A-6TERMCAP A-6TERMINFO A-6

en_us.8859-1 locale Intro-5Error message files Intro-10Extension to SQL with ANSI-

compliant database 4-16

FFast recovery, description of 1-11Fault tolerance

archives and backups 1-10data replication 1-11fast recovery 1-11mirroring 1-11

Feature icons Intro-9Features, product Intro-6Field, description of 2-7File

error message 4-17network-configuration 4-9network-security 4-9ONCONFIG 4-7sqlhosts 4-8

files 4-17

2 Getting Started with INFORMIX-Universal Server

GGetting 4-3Global Language Support

(GLS) Intro-5Global Language Support (GLS),

using nondefault locales 4-10GLS8BITFSYS environment

variable A-4

Hhosts file 4-9

IIcons

comment Intro-8cross-reference Intro-8feature Intro-9

Industry standards, compliancewith Intro-13

INFORMIXDIR environmentvariable 4-7, A-4

INFORMIXDIR/bindirectory Intro-5, 4-17

INFORMIX-ESQL/C,configuring 4-10

INFORMIXSERVER environmentvariable 4-7, A-4

INFORMIXSHMBASEenvironment variable A-4

INFORMIXSQLHOSTSenvironment variable 4-8, A-4

INFORMIXSTACKSIZEenvironment variable A-4

INFORMIXTERM environmentvariable A-5

INFORMIX-Universal Serveradministrator, description of 5-4client/server architecture 1-6fault-tolerant features 1-10high performance of 1-7parallel database query

feature 1-9raw-disk management 1-8scalability of 1-7security 1-13

INF_ROLE_SEP environmentvariable A-5

Inheritancedescription of 2-8type hierarchy, description of 2-8

Installationdefinition of 4-4order for Informix products 4-5

ISO 8859-1 code set Intro-5Isolation level, default in ANSI-

compliant database 4-14

LLarge-object data type, list of 2-5Locale Intro-5Logical log, purpose of 1-10

MMachine notes Intro-11Major features Intro-6Media failure, restoring data 1-10Memory management

buffering transactions 1-9dynamically sharing memory 1-8

Mirroring, description of 1-11

NNamed row type, definition of 2-7Network-configuration files 4-9Network-security files 4-9Network, connection

information 4-8NODEFDAC environment

variable A-5Numeric data type, list of 2-4

OONCONFIG configuration file 4-7ONCONFIG environment

variable 4-7, A-5On-line manuals Intro-9Opaque type, description of 2-5

OPTCOMPIND environmentvariable A-5

PParallel processing, mentioned 1-9passwd file 4-9PATH environment variable 4-7,

A-5PDQ (Parallel Database Query),

mentioned 1-9PDQPRIORITY environment

variable A-5Performance tuning,

mechanisms 1-7Performance, advantages of raw-

disk management 1-8PLCONFIG environment

variable A-5Primary access method 2-11Printed manuals Intro-10Privileges, ANSI-compliant

databases 4-13Programmer, role of 5-4PSORT_DBTEMP environment

variable A-5PSORT_NPROCS environment

variable A-5

RRaw-disk management 1-8Release notes Intro-11.rhosts file 4-9Roll back, mentioned 1-11Roll forward, mentioned 1-11Routines, user defined 2-10Row type, named 2-7R-tree access method 2-13

SSecondary access method 2-12Security

database server 1-13files for network 4-9of database server 1-13

Index 3

SERVER_LOCALE environmentvariable A-6

services file 4-9SET CONNECTION statement 4-16Shared memory, dynamic

management of 1-8Simple-large-object data type,

definition of 2-16Smart-large-object data type,

definition of 2-15Software dependencies Intro-5SQL application programming

interface (API)compatibility with database

servers 4-4SQL statement

CONNECT 4-16DATABASE 4-16DISCONNECT 4-16SET CONNECTION 4-16

sqlhosts filechanging location or name of 4-8description of 4-8

stores7 database Intro-5overview 4-17

Structured Query Languageand client applications 1-6

Structured Query Language (SQL)connection statements 4-16

Supported configurations 4-4Symmetric multiprocessing,

description of 1-7Synonym

ANSI-compliant database,behavior in 4-16

TTERM environment variable 4-7,

A-6TERMCAP environment

variable A-6TERMINFO environment

variable A-6Thread, dynamic allocation of 1-9Time data type, list of 2-5

Transaction logging, ANSI-compliant database, effectson 4-13

Type hierarchy, description of 2-8

UUniversal Server features

complex data types 2-6data types 2-4user-defined data types 2-5

User-defined routine (UDR),description of 2-10

XX/Open compliance

level Intro-13

Symbols/etc/hosts 4-9/etc/passwd 4-9/etc/services 4-9~/.rhosts 4-9

4 Getting Started with INFORMIX-Universal Server