getting started with informix-universal server - department of
TRANSCRIPT
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
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:
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
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
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
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
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
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