=================================
RELEASE NOTES
FOR
INFORMIX 7.31.UD1 PRODUCT RELEASE
DATE: 24 NOV 2000
=================================
TABLE OF CONTENTS
I. OVERVIEW OF RELEASE NOTES
II. PRODUCTS, FEATURES, AND ENHANCEMENTS IN THE 7.3 RELEASE
Informix Products
New Features for 7.30
New Features for 7.31
Features not Available in This Version
Documentation Information
Year 2000 Information
Restrictions and Workarounds in 7.31
Using Target Tables in the INSERT INTO SELECT FROM Statement
Changes to the stdev() Function
Support for Informix MaxConnect
III. INFORMIX MAXCONNECT
A. MaxConnect Overview
B. Setting Up Connectivity for Both MaxConnect and Administration
Utilities
C. Additional interface/protocol combinations supported for MaxConnect
D. Connection-Redirection Option
E. Database Server Configuration Parameters
F. MaxConnect Environment Variables
G. MaxConnect Configuration Parameters
H. onstat -g Options
I. imcadmin Utility
IV. INFORMIX DATABASE SERVER PRODUCTS
Limits in Informix Dynamic Server
System-Level Parameters
Access Capabilities
System Defaults
On-Monitor Statistics
V. MIGRATION AND INSTALLATION ISSUES
Installing the 7.31 Product
New Features in the Installation Wizard (7.31)
Conversion and Reversion
New ONCONFIG Parameters
Using Older Clients
New Reserved Words
New Environment Variables
Reversion from 7.3 to 7.24 or Earlier (ALTER TABLE)
Reverting 7.3 GLS System to Version 7.1 NLS of IDS on Windows NT
Reverting From 7.31 to an Older Version When Using RAW Tables
Migrating and Reverting with Enterprise Replication
Coexistence of Multiple Release Versions
Improving Dbload Performance
Verifying that the Storage Manager is Certified
VI. INFORMIX STORAGE MANAGER INSTALLATION AND CONFIGURATION
ISM 2.2 Information
ISM Setup Procedure on UNIX Database Servers
ISM Setup Procedure on NT Database Servers
Script for Minimum SETUP and STARTUP
Setup with ISM GUI
ISM Configurations Not Using ISMData Pool
ISM Installation and Uninstallation Problems on Solaris
Installing and Certifying the Storage Manager During Migration
Hosts File Required When Using ISM With DNS Disabled
Using HDR with ISM and ON-Bar
VII. ENTERPRISE REPLICATION INFORMATION
Restrictions
Configuration with Informix Enterprise Command Center
Configuration without Informix Enterprise Command Center
Using regedt32 to Configure Sqlhosts
Configuration with the SQLHOSTS Editor
Troubleshooting the ERM
Notes for the ERM
Notes for the Monitor
Known Defects in Enterprise Replication
VIII. ON-BAR INFORMATION
Restartable Restore
ALARMPROGRAM Default Value Changed
Archecker Utility
IX. MACHINE-SPECIFIC INFORMATION FOR UNIX
X. WINDOWS-SPECIFIC INFORMATION FOR NT
Installation Requirements
User Names
Changing the Machine Name
Logon Locally Permissions (UPDATED)
Multibyte Characters
GLS Settings
Environment Variables
SHMBase for Large Memory Configurations
NET VPs
Problem with More than Twelve Informix Server Services
Stores7 Demonstration Database Batch File
DB-Access Default Editor
Informix Dynamic Server Running With Clearcase Software
System Commands in Stored Procedures (UPDATED)
Special Conditions when Primary Domain Controller
Not Available
Information Related to the High-Performance Loader
REGCDRCL.EXE Utility in Enterprise Replication
Specifying LTAPEDEV and TAPEDEV When Using Ontape
Ontape Backups to Compressed Files on NTFS Drives
Clash of Optical Library DLL with Engine's Shared Memory
Informix Storage Manager and Microsoft Clusters
Viewing Error Messages from Cluster Service
Use of Named Pipe Protocol on Informix Dynamic Server
on a Cluster
Interrupting Long Queries (NEW)
XI. KNOWN DEFECTS IN 7.30 WITH WORKAROUNDS
Defects in 7.30.UC1 (UNIX) With Workarounds
Defects in 7.30.TC1 (NT) With Workarounds
XII. KNOWN PROBLEMS WITH THE 7.31 BUILDS
XIII. FIXED CUSTOMER-REPORTED BUGS in 7.31 (UNIX)
XIV. OPEN CUSTOMER-REPORTED BUGS in 7.31 (UNIX)
XV. FIXED CUSTOMER-REPORTED BUGS in 7.31 (WINDOWS NT)
XVI. OPEN CUSTOMER-REPORTED BUGS in 7.31 (WINDOWS NT)
I. OVERVIEW OF RELEASE NOTES
=================================
The purpose of these release notes is to make the user aware of
changes in products that might affect existing applications.
The release notes contain information on changes from previous
versions, known bugs, and workarounds. Bug numbers are assigned
to known defects to assist you in identifying the defects to
Customer Services personnel.
The release notes document is not intended to be all-inclusive;
it is a tool to assist you in the update process. Please consult
Informix product manuals for additional information on product
features and for clarification of product behavior.
Note: These release notes apply to both NT and UNIX platforms
unless specifically stated otherwise for a particular section.
This SERVERS_7.3 file applies only to the 7.3 release.
It contains information you will need to know when upgrading from
the 7.2 release. If you are upgrading from a release prior to 7.2,
then you should also examine the SERVERS_7.1 and SERVERS_7.2 files.
Purpose of the Addendum File
----------------------------
The addendum file, SERVERS-ADDENDUM_7.3, contains bug fixes for
interim releases (7.31.UC2/TC2 and later).
II. PRODUCTS, FEATURES, AND ENHANCEMENTS IN THE 7.3 RELEASE
===============================================================
Informix Products
=================
The following products are contained in the 7.3 servers
products release:
Product Name
------------
Informix Dynamic Server (database server)
Informix Dynamic Server, Workgroup Edition
Informix Dynamic Server, Developer Edition
Informix Server Administrator Replaces IECC
===========================================
Informix Enterprise Command Center (IECC), Version 3.00.TC1,
is no longer shipped with Informix Dynamic Server.
Use Informix Server Administrator (ISA) and
Informix DB Administrator (IDBA) instead of IECC.
All IDS 7.3x versions that shipped before August, 1999
included IECC. ISA became available in September, 1999.
Informix Server Administrator (ISA) is a browser-based tool
for managing Informix database servers. It provides access
to almost all database server command-line functions.
The database server CD-ROM distributed with your product
includes ISA. For information on how to install ISA,
see the /SVR_ADM/README file on UNIX or the
\SVR_ADM\readme.txt file on Windows NT.
Informix DB Administrator
=========================
Informix DB Administrator (IDBA) is a CD bundle that includes
I-Connect and the following tools that
were previously packaged with IECC:
o Enterprise ERM (Windows NT only)
o Client Configuration Tool (Windows 95, 98, and NT)
o Schema Tools (Windows 95, 98, and NT)
- SQL Editor
- Table Editor
- Privilege Editor
o ISM 2.2 Graphical User Interface (Windows 95, 98, and NT)
You can obtain ISA and IDBA free of charge from Informix.
Note : Informix DB Administrator (i.DBA) and the Informix Storage
Manager GUI will be discontinued in a future release. You, however,
can continue to use ISM commands to manage ISM.
Archecker Support in 7.30 and 7.31
==================================
You can validate ON-Bar backups with the archecker utility.
Validation of backups is critical because it tests the
integration between ON-Bar, the storage manager, and
the Informix engine.
The syntax for archecker is slightly different in 7.x and 9.2.
7.3x: onbar -r -v <additional options> # validates backup
9.2x: onbar -v <additional options> # validates backup
Validation of ontape backup is not directly supportable,
although encouraged. If you need to validate ontape
backups with archecker, contact Informix Technical Support.
You cannot validate ON-Archive backups with archecker.
For detailed information on archecker, see Section VII,
"ON-BAR INFORMATION" under "Archecker Utility."
New Features for 7.30
=====================
Most of the new features for this release fall into five major areas:
o Reliability, Availability, and Serviceability (RAS)
o Performance
o Windows NT-Specific Features
o Application Migration Enhancements
o Manageability
In addition, several features that are implemented in this release
fall into the areas of connectivity, Enterprise Replication, and
the Optical Subsystem.
Reliability Availability and Serviceability
-------------------------------------------
Alter Fragment Attach/Detach enhancements
In-place Alter Table Modify/Drop
Oncheck enhancements
Restartable restore (see "Backup and Restore Guide")
External backup/restore (see "Backup and Restore Guide")
Performance Improvements
------------------------
Optimizer directives
Select first 'n' rows
Ordered merge
Memory resident tables
Correlated subquery enhancements
Keyfirst index scan
Other selected performance enhancements
NT Specific Features
--------------------
Multiple residency
Raw device support
High Performance Loader
ON-Bar XBSA certification
ON-Bar parallelism
Optical Subsystem
Non-domain Administrator install
Microsoft Cluster Support
Local connection support using named pipes
Application Migration Enhancements (Changes to SQL)
---------------------------------------------------
Three new functions for case insensitive search:
UPPER, LOWER, INITCAP
Four new functions for string manipulations:
REPLACE, SUBSTR, LPAD, and RPAD
The CREATE VIEW statement now includes UNION
New CASE expression
New NVL and DECODE functions
Two new date conversion functions:
TO_CHAR and TO_DATE
New environment variable: IFX_UPDDESC
You can now describe an UPDATE statement if you turn on the
IFX_UPDDESC environment variable.
You can now update triggering columns with EXECUTE PROCEDURE.
Enhancements to the dbinfo function that allow you to obtain
the hostname and version of the database server.
Manageability Enhancements
--------------------------
The Informix Storage Manager (ISM), shipped with this database
server, is an application that manages the storage devices and
media that contain backups. During a backup, ON-Bar sends the data
to ISM and during a restore, it retrieves the data from ISM.
Some customers might find ISM functionality adequate; other customers
might require the more extensive functions in third-party
storage managers.
Additional information for onsnmp Management Information Bases
is available.
Connectivity Enhancements
-------------------------
Greater network security is available through support of
third-party security services.
Enterprise Replication Enhancements in 7.30
-------------------------------------------
Enhanced GLS support: ability to replicate within a locale.
In other words, you can replicate in any language locale that
Informix supports.
Command-line utility.
Scripting view in the ERM GUI.
New CONNECT and DISCONNECT functions in the Enterprise Replication API
Optical Subsystem Enhancements
------------------------------
Shared library support for Informix Optical Subsystem; you no
longer need to order the Optical Subsystem as a separate product.
Oncheck Enhancements
--------------------
The new oncheck options -ciw, -cIw, -pkw, -pKw, -plw, -plW, -cpR
are documented in the 7.3 Administrator's Guide and 7.3
Performance Guide.
The new oncheck -w option allows you to check and print
an index without placing a shared lock on
the table. Use this option only for tables with row locking.
Example: -c{i|I}w
The new oncheck -R option checks the reserved pages,
physical-log pages, and logical-log pages. The existing -r option
checks the reserved pages only. Example: [c|p]R
Features Not Available in 7.31
==================================
The following features are currently not supported in this
release of Informix Dynamic Server 7.31:
Please refer to machine notes for HP & Sequent specific issues
(in release/en_us/0333/IDS_7.3).
DCE-GSS CSM is not supported in 7.31 server family.
Documentation Information
=========================
Please read the documentation notes for the product manuals. They
contain further information about modified features.
Year 2000 Information
=====================
The present default for the DBCentury environment variable is
"current." If you want the closest century (such as 2000),
set DBCentury to "closest."
For information Year 2000 bugs and fixes, the external website is at:
http://www.informix.com/informix/products/year2000.htm.
Please contact Sun Microsystems for their Year 2000 patches.
New Features in the 7.31 Release
================================
The following features have been introduced in 7.31 release:
1> Retain Update Locks
For information, see the PERFDOC_7.3, SQLSDOC_7.3 and SQLTDOC_7.3
documentation notes. SQLSDOC_7.3 describes the SQL syntax and
PERFDOC_7.3 describes the locking behavior.
2> ANSI Join
For information, see the SQLTDOC_7.3, SQLSDOC_7.3, and PERFDOC_7.3
documentation notes. SQLTDOC_7.3 describes the ANSI join.
SQLSDOC_7.3 describes the SQL syntax and differences between the
ANSI outer join and Informix outer join. PERFDOC_7.3
describes the performance advantages of push-down filters
in the ON clause and changes in the SET EXPLAIN output.
3> Nonlogging Tables
For information, see the ADMINDOC_7.3, SQLSDOC_7.3, SQLTDOC_7.3,
and PERFDOC_7.3 documentation notes.
Usage of the TYPE Reserved Word
-------------------------------
With the addition of the new "nonlogged table" type,
TYPE is now a reserved word. If you are using TYPE as an
identifier in an SQL query, it might return syntax errors.
For example, the following query returns an error:
SELECT * FROM tab type;
In the above situation, use either of the following workarounds:
o Rename the table alias to a nonreserved word.
o Rewrite the query as:
SELECT * FROM tab AS type;
4> Rename Index
For information, see the PERFDOC_7.3 and SQLSDOC_7.3 documentation
notes.
5> Up to 3 GB Shared Memory Support on NT (NT specific)
For information, see the ADMINDOC_7.3 documentation notes.
6> Password Encryption
For information, see the ADMINDOC_7.3 documentation notes.
7> Enterprise Replication Enhancements in 7.31
Data compression on network messages.
Option to apply replicated transactions as table owner.
The Enterprise Replication Monitor is no longer supported.
Section IV, "Migrating and Reverting with Enterprise Replication,"
Section VI, "Enterprise Replication Information," also have been
updated with 7.31 information.
The EREPDOC_7.3 documentation notes and the ER on-line help
also have been updated.
8> IFX_NETBUF_PVTPOOL_SIZE and IFX_NETBUF_SIZE Environment Variables
For information on these environment variables, database
server settings that affect the client environment variables,
and the new systables flag for raw tables, see the SQLRDOC_7.3
documentation notes.
For information on how these environment variables affect the
network buffer pools, monitoring, and tuning these environment
variables, see the PERFDOC_7.3 documentation notes.
9> IDS 7.31 uses ISM 2.2 which is Year 2000 compliant.
ISM 2.2 also supports imported restore.
If your database server uses ISM 1.0, you MUST upgrade to
ISM 2.2 to ensure Y2K compliance.
For more information, see the section "Upgrading to ISM 2.2."
For information on the new ism_chk.pl command and imported restore,
see sections E and F in the ISMDOC_7.3 documentation note.
10> IDS 7.31 supports the onsmsync utility. Use onsmsync to expire
old backup objects and synchronize the backup history
in the sysutils database and the ixbar emergency boot file.
For information on using onsmsync, see section A in the
ONBARDOC_7.3 documentation note.
Note About PTS 128051
--------------------
The onsmsync utility was added to the 7.3x family in the special
7.31.UC5 release.
If you performed a backup on IDS releases earlier than 7.31.UC5
(such as 7.31.UC1 or 7.31.UC4), you cannot restore it
on IDS 7.31.UC5 or later, because the structure of the emergency
boot file has changed. For all other conversion and reversion
issues, see the "Informix Migration Guide."
11> The bar_version table has been removed from the sysutils
database. Instead, update the storage-manager information
in the sm_versions file. For more information on the
sm_versions file, see the "Backup and Restore Guide."
Restrictions and Workarounds in 7.31
------------------------------------
Using Target Tables in the INSERT INTO SELECT FROM Statement
============================================================
The following information is the fix for PTS 102347.
Let us consider the following INSERT statement:
INSERT INTO <target-table>
(SELECT * FROM <source-table> WHERE ...);
The earlier implementation did not allow the source table to be the same
as the target table. Any table occurrence in the SELECT clause
of the INSERT clause cannot have the target table. The server returns
error -360 if it detects such a case.
This feature relaxes the above restriction by allowing the use of target
tables in the SELECT clause of the INSERT statement.
Semantics:
---------
If one of the tables in the SELECT clause is the target table, then
newly inserted rows into the target table by the INSERT statement
are NOT used for evaluation of the select or any of the nested
subquery of the INSERT statement.
The effect of the above statement is the same as the following
statements executed in a transaction.
SELECT * FROM <source-table> WHERE ... INTO TEMP <temp-tab>;
INSERT INTO <target-table> SELECT * FROM <temp-tab>;
DROP TABLE <temp-tab>;
Restrictions:
-------------
INSERT INTO <target-table> EXECUTE PROCEDURE <someproc>();
If procedure <someproc> scans or updates <target-table>,
then the database server returns error -360.
The behavior of the UPDATE and DELETE statements
has not changed where the target table is used in their select
subqueries. In this case, the database server
returns error -360.
Changes to the stdev() Function (PTS 101236)
============================================
This fix to PTS 101236 applies to the stdev() function in a SELECT
statement that has a group by clause for a single row group.
The stdev() function has changed from calculating 'sample
deviation' to calculating 'population deviation.' The difference
between the two is in the final divide by the value '/N' in
the expression. For sample deviation, we would divide by 'N-1' and for
population deviation, which we are now calculating, we use 'N'.
Users will find that our calculation of the standard deviation is
different from earlier server versions, the difference being (N-1)/N
and, of course, the special case when N is 1.
Use the following formula to calculate the population deviation:
(sum((X[k])^2) - (sum(X[k]))^2/N) / N
By definition, the population deviation for a population of 1 is 0.
If you wish, you can omit such cases through the appropriate query
construction; for example, "having count(*) > 1."
Interpretation of two digit years within objects
================================================
This section does not apply if this is a first time installation of
Informix, or if two digit years are not used in the expressions of the
following objects:
fragmentation expressions, stored procedures, triggers,
check constraints, and user defined routines.
Note that not all of these features may be supported on this version
of the product.
This release introduces a change in when date literals with two digit
years within expressions of objects are evaluated according to the
settings of relevant environment variables, such as, and not limited
to, DBCENTURY. Previous to this release, two digit year dates in the
expressions of the objects were interpreted by Informix according to
the environment variable settings which prevailed at runtime time of
the object. However, starting with this release, the date literal
will always be interpreted using the environment variable settings
prevailing at the creation time or the time of last modification of
the object with which the date literal is associated. The settings
of environment variable at runtime of the object will not be used.
This applies only to date strings having two digit years in the
expression of the objects mentioned above; i.e. it does not apply
if four digit years are used in the objects.
The following two steps are required to take advantage of this change
introduced in this software:
1. Upgrade the Informix server to this release
2. Redefine all objects that use two digit year expressions. For
fragmentation expression, redefining means detaching and reattaching
the expression. For all other objects, the object must be dropped
from the database and recreated.
Only after the objects are redefined using this new server, the
date literals in the expressions within objects will be interpreted
according to the environment variable settings at the time the object
was created or last modified. The reference date used for this
interpretation is the creation date or the last modification date
of the object and not the current date when a query is run.
If the objects are not redefined using this new server, the behavior
of the object will remain the same as prior to the upgrade. However,
since any new objects created after the software upgrade will behave
differently from those created prior to the upgrade, administration
of the database may become difficult because the database will have
a mix and match of new and old behavior of objects in the database
(with respect to when a two digit years within expressions of objects
are evaluated). Therefore, it is recommended that the two upgrade
steps above be followed.
Lastly, in order to avoid any possibility of misinterpreting two
digit years within the objects, it is recommended that this
opportunity be used to change the use of two digit years to four
digit years instead, if possible,
Use of DBDATE to interpret dates within objects
This section does not apply if this is a first time installation
of Informix, or if date literals are not present in the following
objects within the database: fragmentation expressions, stored
procedures, triggers, check constraints, and user defined routines.
Note that not all of these objects may be supported for this
version of the product.
In the rare case that the setting of DBDATE prevailing at creation
time or time of last modification of the object differs from the
one that is in effect at the run time of the object, you may either
get a runtime error from the server or get erroneous results due to
incorrect interpretation of the date literal.
In order to maintain consistency, starting with objects created or
modified using this release, the date literals within expressions
of objects will be evaluated according to the setting of DBDATE
prevailing at creation time or time of last modification of the
object. The settings of environment variable at runtime of the
object will not be used to evaluate the date literal within the
objects. However, the prevailing setting at runtime of the query
will still be in effect for date related data processed within the
query.
If your operating environment is such that the objects were created
using one set of assumptions regarding the DBDATE setting and the
runtime environment uses a different setting, you may encounter
some problems. It is recommended that the usage of the database be
modified so that the settings of DBDATE at creation, modification,
and run time are consistent throughout.
Support for Informix Max-Connect
--------------------------------
IDS Release 7.31.UD1 supports the Informix MaxConnect Product.
See section III below for details.
NOTE : MaxConnect and the "Guide to Informix MaxConnect" ship
separately from Informix Dynamic Server.
III. INFORMIX MAXCONNECT
===========================
A. MaxConnect Overview
----------------------
Informix MaxConnect is a networking product for Informix database
server environments on UNIX. MaxConnect manages large numbers (from
several hundred to tens of thousands) of client-server connections.
MaxConnect multiplexes connections so that the ratio of client
connections to database connections can be 200:1 or higher.
MaxConnect increases system scalability to many thousands of connections
and saves system resources, reducing response times and CPU
requirements.
MaxConnect is best for OLTP data transfers and not recommended for large
multimedia data transfers. MaxConnect provides the following performance
advantages for medium to large OLTP configurations:
- Reduces CPU requirements on the database server by reducing the
number of physical connections. MaxConnect multiplexes connections
so that the ratio of client connections to database connections can
be 200:1 or higher.
- Improves end-user response time by increasing system scalability to
many thousands of connections
- Reduces operating system overhead by aggregating multiple small
packets into one transfer operation
To obtain maximum performance benefit, install MaxConnect on either a
separate computer to which Informix clients connect or on the client
application server. Either of these configurations off loads the CPU
requirements of handling a large number of connections from the database
server computer.
To monitor MaxConnect, use the onstat -g imc command on the database
server computer and use the imcadmin command on the MaxConnect computer.
For more information about installing, configuring, monitoring and
tuning MaxConnect, see the "Guide to Informix MaxConnect".
Install MaxConnect separately from your Informix database server and
client applications. You can install MaxConnect in the following
configurations:
- on a separate server to which Informix clients connect
- on the client application server
- on the database server computer
Two protocols for multiplexing connections, ontliimc and onsocimc, are
available for MaxConnect users. You need to change the NETTYPE parameter
in the ONCONFIG file to reflect the changes in the sqlhosts file for the
database server. For more information on NETTYPE, see the section E below.
To monitor MaxConnect, use the onstat -g imc and imcadmin commands. For
more information about MaxConnect, see the "Guide to Informix
MaxConnect".
IMPORTANT: Informix MaxConnect and the "Guide to Informix MaxConnect"
will ship separately from Informix Dynamic Server, Version 7.31.
B. Setting Up Connectivity for Both MaxConnect and Administration
Utilities
-----------------------------------------------------------------
With Informix Dynamic Server, Version 7.31.UD1 and above, there is no
need to configure any additional protocols if you have a MaxConnect
protocol (onsocimc or ontliimc) already configured [Note: This differs
from the configuration procedure described in the "Guide to Informix
MaxConnect"].
If there is an existing network protocol (i.e. onsoctcp or ontlitcp)
just change that entry to the one supporting MaxConnect protocol
(onsocimc or ontliimc) to prepare for using MaxConnect.
In this version of the database server, all administration utilites will
be able to work with a database server that has only a MaxConnect
protocol configured.
TIP: You can use Informix Server Administrator (ISA) to edit the
ONCONFIG and sqlhosts files. Restart the database server for the
changes to take effect.
C. Additional interface/protocol combinations supported for MaxConnect
----------------------------------------------------------------------
In addition to the interface/protocol combinations supported with
previous versions of Informix Dynamic Server 7.3 (see page 4-31 of the
"Administrator's Guide for Informix Dynamic Server 7.3"), this version
also supports new interface/protocol combinations for use with Informix
MaxConnect.
The two new protocols 'ontliimc' and 'onsocimc' can be used in the
following two configurations:
- to connect MaxConnect to the database server.
In this configuration, the client connections are multiplexed and
use packet aggregation.
- to connect the client applications directly to the database server
without going through MaxConnect.
In this configuration, the client does not get the benefits of
connection multiplexing or packet aggregation. Choose this
configuration when the client application is transferring
simple- or smart-large-object data, because a direct connection to
the database server works best for this type of workload.
D. Connection-Redirection Option
--------------------------------
You can define a group of database servers, aliases, or MaxConnect
instances in the sqlhosts file on the client and have the client
connections to the dbserver group try each of the group members with
fail-over. The setting of the connection-redirection option indicates
the order in which the connection software chooses database servers,
aliases, or MaxConnect instances in a dbserver group.
Use the connection-redirection option in the following situations:
- to balance the load across multiple MaxConnect or database server
instances.
- to use high-availability data replication to transfer over to a
backup database server if a failure should occur.
The following table shows the possible settings for the connection
redirection option.
Setting Result
c=0 The client application connects to the first database server
or MaxConnect instance listed in the dbserver group in the
sqlhosts file. If the client cannot connect to the first
instance, it attempts to connect to the second instance and
so on. This is the default setting.
c=1 The client application chooses a random starting point from
which to connect to MaxConnect or a database server.
IMPORTANT: The connection-redirection option is valid only in a dbserver
group.
For more information on the groups option to specify dbserver groups,
see page 4-46 of the Administrator's Guide for Informix Dynamic Server
7.3. For more information on load balancing with MaxConnect, see the
Guide to Informix MaxConnect.
E. Database Server Configuration Parameters
-------------------------------------------
1. DBSERVERNAME
If you are using MaxConnect, the value of the INFORMIXSERVER
environment variable on the client must match either the DBSERVERNAME
or one of the entries of the DBSERVERALIASES parameter.
Older versions of Informix Dynamic Server with support for
MaxConnect required the existence of a conventional protocol
such as 'onipcshm' to be configured to allow all database server
utilities to work correctly.
This version of Informix Dynamic Server and all the utilities
delivered with it will work even if only a MaxConnect protocol
(onsocimc or ontliimc) is configured.
2. DBSERVERALIASES
To use MaxConnect in addition to already configured communication
protocols specify additional dbservernames in the DBSERVERALIASES
parameter in the ONCONFIG file. The value of the INFORMIXSERVER
environment variable configured for the client application must
match either the DBSERVERNAME or one of the entries of the
DBSERVERALIASES parameter.
3. NETTYPE
Change the NETTYPE parameter in the ONCONFIG file to reflect the
changes in the sqlhosts file for the database server. The ontliimc
and onsocimc protocols use TCP/IP to communicate with MaxConnect.
When you use these protocols, Informix recommends that you specify
all fields in the NETTYPE parameter. You can use these protocols to
either connect MaxConnect or the application clients to the database
server. For more information and examples, see the Guide to Informix
MaxConnect.
NETTYPE Field Description
Connection Type Change the connection type from onsoctcp to
onsocimc or from ontlitcp to ontliimc.
Number of Poll Threads You need only 1 or 2 poll threads with
MaxConnect. The default number of poll threads
is 1. If most of the clients continue to
connect directly to the database server, do
not reduce the number of poll threads by as
much.
Total Number of Users Specify the maximum number of active database
Connecting to the sessions at any given time. The number of
Database Server sessions is important because it specifies how
much memory is allocated for communication.
The default number of sessions is 50.
Recommended value is 50 to 100.
Specify the class of virtual processor that
runs the poll threads. Specify the CPU VP
because it performs better than the NET VP.
If you specify more poll threads than the
number of CPU VPs, the database server uses
the NET VPs instead.
F. MaxConnect Environment Variables
-----------------------------------
MaxConnect uses the following environment variables.
INFORMIXDIR
INFORMIXSERVER
INFORMIXSQLHOSTS
This release introduces three new environment variables that support
MaxConnect, a networking product that can increase scalability to tens
of thousands of users in Informix database-server environments. (See
"Guide to Informix MaxConnect" for more information about the features
and usage of MaxConnect.)
IMCADMIN
IMCCONFIG
IMCSERVER
1. The IMCADMIN Environment Variable
The IMCADMIN environment variable supports the imcadmin administrative
tool by specifying the name of a database server through which imcadmin
can connect to MaxConnect. IMCADMIN can be set by the command:
setenv imcadminname
Here imcadminname must be the name of a MaxConnect server within the
sqlhosts file on the computer where the imcadmin utiltity runs.
MaxConnect uses this setting to obtain the following connectivity
information from the sqlhosts file:
- Where the administrative listener port must be established.
- The host name of the system where the specified MaxConnect
server resides.
You cannot use the imcadmin tool unless IMCADMIN is set to a valid
MaxConnect server name.
2. The IMCCONFIG Environment Variable
The IMCCONFIG environment variable specifies a nondefault filename, and
optionally a pathname, for the MaxConfig configuration file. This
variable can be set by the command:
setenv pathname
where pathname is a file specification, with or without a pathname.
When the setting is a filename that is not qualified by a full pathname,
MaxConnect searches for the specified file in the $INFORMIXDIR/etc/
directory. For example, if you set IMCCONFIG to IMCconfig.imc2, then
MaxConnect searches for a configuration file called
$INFORMIXDIR/etc/IMCconfig.imc2.
If IMCCONFIG is not set, then by default MaxConfnect searches for
$INFORMIXDIR/etc/IMCconfig as its configuration file.
3. The IMCSERVER Environment Variable
The IMCSERVER environment variable identifies the name of a MaxConnect
server entry in the sqlhosts file that contains information on client
connectivity. This variable can be set by the command:
setenv imcservername
where imcservername is the name of a MaxConnect server within the
sqlhosts file on the computer where the MaxConnect server is started.
See the "Guide to Informix MaxConnect" for more information about
sqlhosts settings with MaxConnect. You cannot start MaxConnect unless
IMCSERVER is set to a valid MaxConnect server name.
For more information, see the section on the configuration file in the
Guide to Informix MaxConnect.
G. MaxConnect Configuration Parameters
--------------------------------------
Before you start MaxConnect, you need to specify the following
configuration parameters in the IMCCONFIG file. This file contains
both start-time and runtime parameters. For more information, see
the section on the configuration file in the Guide to Informix
MaxConnect.
IMCLOG
IMCTRANSPORTS
IMCWORKERDELAY
IMCWORKERTHREADS
H. onstat -g Options
--------------------
For a detailed description of the output fields and how to interpret
values, see the chapter on performance in the Guide to Informix
MaxConnect.
Option
Topic or Function
onstat -g nta
Prints combined network statistics from onstat -g ntd,
-g ntm, -g ntt, -g ntu, and -g imc. If MaxConnect is
installed, this command prints statistics that you can
use to tune MaxConnect performance.
onstat -g imc
Prints information about MaxConnect instances that are
connected to the database server. If MaxConnect is not
connected to the database server, this command displays
"No MaxConnect servers are connected".
I. imcadmin Utility
-------------------
Use the imcadmin utility to start or stop MaxConnect or gather
statistics on MaxConnect. For more information, see the Guide
to Informix MaxConnect.
IV. INFORMIX DATABASE SERVER PRODUCTS
=========================================
LIMITS IN Informix Dynamic Server
=================================
Maximum Capacity
System-Level Parameters Per Computer System
-----------------------------------------------------------------
Informix Dynamic Server systems per computer...........255
(Dependent on available system resources)
Maximum number of accessible remote sites ...... machine specific
Maximum Capacity
Table-Level Parameters (based on 2K page size) per Table
-----------------------------------------------------------------
Data rows per fragment............................. 4,277,659,295
Data pages per fragment............................... 16,775,134
Data bytes per fragment........................... 33,818,671,136
(excludes Binary Large Objects, BLOBs; roughly double this
number for 4k page size)
Binary Large Object bytes.................................. 2**31
Row length................................................ 32,767
Number of columns............................................ 32K
Indexes....................................................... 77
(roughly double this number for 4k page size)
Columns per index............................................. 16
Bytes per index.............................................. 255
Maximum Capacity
Access Capabilities per Dynamic Server System
-----------------------------------------------------------------
Maximum databases per Dynamic Server.................. 21 million
Maximum tables per Dynamic Server..................... 477,102,080
Maximum active users per Dynamic Server........... 32K userthreads
(minus the minimum number of system threads)
Maximum active users per database and table...... 32K userthreads
(Also limited by the number of available locks, a tunable parameter)
Maximum number of open tables per Dynamic Server.......... 32,000
Maximum number of open tables per user and join........... 32,000
Maximum locks per Dynamic Server and database........... 8 million
Maximum number of page cleaners.............................. 128
Maximum number of recursive synonym mappings.................. 16
Maximum number of tables locked by user....................... 32
Maximum number of cursors per user.............. machine specific
Maximum number of pages per chunk............................. 1m
Maximum number of open BLOBs.................................. 20
Maximum number of B-tree levels............................... 20
Maximum amount of Decision Support memory ...... machine specific
Informix Dynamic Server System Defaults
-----------------------------------------------------------------
Table lock mode............................................. Page
Initial extent size...................................... 8 Pages
Next extent size......................................... 8 Pages
Read-only isolation level......................... Committed Read
(w/ database transactions)
Read-only isolation level........................ Repeatable Read
(MODE ANSI database)
ON-Monitor
-----------------------------------------------------------------
Number of displayed user threads.............................1000
Number of displayed chunks...................................1000
Number of displayed dbspaces.................................1000
Number of displayed databases................................1000
Number of displayed logical logs.............................1000
V. MIGRATION ISSUES
========================
Installing the 7.31 Product
---------------------------
Follow the recommended order when installing the IDS 7.31 media
and when upgrading from an existing 7.30 installation.
1. Stop all Informix services, including:
- Informix database server
- IECC (if installed)
- Informix Storage Manager (ISM)
2. Uninstall old client products - IECC, CLIENTSDK, I-CONNECT -
using the Uninstall option in the program group.
3. Uninstall the 7.30 database server. Choose the option
"remove only database server executables and support files."
4. Install the 7.31 database server.
5. Install Informix DB Administrator (includes ISM GUI,
Enterprise ERM, Client Configuration,
and Schema tools).
6. Install Client SDK 2.24 or greater.
7. Reboot the computer.
8. Set the environment variables through setnet32.
The new IDS 7.31 database server should now be accessible.
New Features in the Installation Wizard (7.31)
----------------------------------------------
* An enhanced dialog box shows the progress of file copying.
While the files are being copied from the media to the disk,
the progress dialog shows three additional pieces of
information:
- the product number
- the total number of products copied
- a progress bar
* The first time you install the 7.31 product on a PC, the installation
program sets the default target directory for the computer.
The default installation target directory is
C:\Informix if the PC is brand new, or if the
INFORMIXDIR registry key is null and the INFORMIXDIR
environment variable is not set.
* The "Select Installation Alternative" (Typical, Custom)
dialog box is not displayed in a Meta install.
* The display of the "Configure the Products" dialog box
depends on the product selection. It displays only when
you select one or more products that require configuration.
Conversion and Reversion
------------------------
The 7.31.UC1 and 7.31.TC1 releases support automatic data
conversion from previous versions to 7.31 INFORMIX versions, as well as
automatic data reversion from 7.31 to older versions.
To convert or revert existing data, use the following guidelines:
CONVERSION
----------------------
Source
----------------------
*Single user mode
onmode -sy
onmode -l
onmode -c
*Data integrity check
oncheck
*Level-0 backup
*Server shutdown
onmode -yuk
---------------------
Target
---------------------
Server startup
oninit
*Update statistics
highly recommended
*Data integrity check
oncheck options
*Level-0 backup
REVERSION
------------------------------
Source
------------------------------
*Drop all unsupported features
*Single User Mode
onmode -sy
onmode -l
onmode -c
*Data integrity check
oncheck
*Level-0 backup
*Activate reversion and shut down server
* onmode -b version
------------------------------
Target
-----------------------------
Server startup
oninit
*Update statistics recommended
*Data integrity check
oncheck
*Level-0 backup
During the conversion or reversion process, monitor the server
online.log activity.
* To find what version to use when you revert from 7.3 to a
previous version, use onmode -b --.
New ONCONFIG Parameters
-----------------------
New ONCONFIG parameters are available in this release.
For a complete list of ONCONFIG parameters used in setting up
and configuring Informix Dynamic Server, Version 7.3, see your
"Informix Dynamic Server Administrator's Guide."
Using Older Clients
-------------------
If you use a 7.x or 9.x client-side product with the 7.3 server,
you will not be able to use new SQL syntax unless you use the
syntax in a PREPARE statement. You can use new syntax with the
2.01 version of the client SDK.
New Reserved Words
------------------
With the addition of new functionality, new reserved words have
been added for this release.
In addition to the reserved words listed in Appendix A of the
"Informix Guide to SQL: Syntax", the following keywords are
reserved for Informix Dynamic Server, Version 7.31:
INNER
JOIN
LEFT
LOCKS
RAW
RETAIN
STANDARD
TYPE
New Environment Variables
-------------------------
For a complete list of environment variables used in setting up
and configuring Informix Dynamic Server, Version 7.3, see the
"Informix Guide to SQL: Reference."
Reversion from 7.3x or 7.24 to an Earlier Database Server (ALTER TABLE)
---------------------------------------------------
If your 7.3x or 7.24 database contains tables with in-place ALTER TABLE
statements, you must run a test UPDATE statement on these tables
before you revert to an earlier version. For more information, see
the Migration Guide and the SERVERS_7.2 file. For more information
on in-place ALTER TABLE statements, see your Performance Guide.
Reverting 7.3 GLS System to Version 7.1 NLS of IDS on Windows NT
-----------------------------------------------------------------
This problem applies only if you need to revert from the 7.3 version
of Informix Dynamic Server on Windows NT to the older 7.1 version.
After you run the reversion utility (onmode -b 7.1), back up the
reverted dbspaces using ontape. This step is necessary
because of some incompatibilities arising from the GLS<->NLS catalog
conversion between the 7.3 and 7.1 versions of Informix
Dynamic Server on Windows NT.
Install and initialize the 7.1 database server.
Restore the ontape backup onto the 7.1 installation. Continue with
steps 9, 10, 11, and 12 on pages 3-12 and 3-13, as described in the
Migration Guide for Version 7.1.
This problem does not affect the ability to revert to Version 7.2 of
the Dynamic Server. Follow the steps described in the
Migration Guide for Version 7.3.
Reverting From 7.31 to an Older Version When Using RAW Tables
-------------------------------------------------------------
The reversion process automatically alters RAW (nonlogging) tables
to STANDARD (logging) tables. If you do not alter RAW tables to
STANDARD when reverting, later when you convert from the older version
to 7.31, these tables become RAW again. (This situation occurs because
the systable flag used to identify RAW tables is not known in 7.30.)
Before shutting down the old database server, alter all RAW tables to
STANDARD. Later, if you convert from the older version to 7.31,
these tables remain STANDARD.
If RAW tables were updated since the last backup, you must
perform a level-0 backup.
Migrating and Reverting with Enterprise Replication
---------------------------------------------------
For important migration information about the following topics,
see the Migration Guide documentation notes in the MIGRATEDOC_7.3
file:
o Migrating the syscdr database
o Modifying SQL statements larger than 255 bytes
o Retaining Enterprise Replication state during migration
o Reverting to 7.20 which does not support Enterprise Replication
All the conversion and reversion operations must be performed by
user 'informix'.
I. Converting CDR to 7.31
You can convert from either 7.2x or 7.30 to 7.31.
1. Before shutting down the old database server
a) Stop applications doing replicatable transactions.
b) Make sure that control and TRG send queues are empty.
Run 'onstat -g grp' to ensure grouper doesn't have any pending
transactions.
Sample Output:
Informix Dynamic Server Version 7.31.UC1--On-Line--Up 00:28:15--18752 Kbytes
Grouper:
Last Idle Time: 98/11/09 15:12:01
Log update buffers: 1024
Log update buffers in use: 0
Log update buffers in use should be zero.
Run 'onstat -g rqm' to check for queued messages.
Sample Output:
RQM Statistics for Queue #3
Database name: syscdr
Table name: control_sendq
Index name: control_sendq_key
Flags: 0x00000301
Elements in memory: 0
Elements on disk only: 0
Memory used for data: 0 Bytes
Total memory used: 0 Bytes
Element high water mark: 2000
Data high water mark: 140000 Bytes
Elements stored on disk: 0
'Elements in memory' and 'Elements stored on disk' should be zero.
c) Make sure that CDR is in stopped state or use the stop_cdr
program in the demo directory.
In 7.30 and 7.31, you can execute 'cdr stop' command to stop CDR. In
7.2x servers, you have to use Enterprise ERM for this.
2. Shut down the old server and bring up 7.31 server on the same root
dbspace.
3. Take a full backup of syscdr and databases.
4. Make sure that no replicatable transactions occur in the system before
CDR is started.
5. If you are converting from release 7.30,
rebuild sysmaster database using the "buildsmi" command.
6. Run the concdr script that is in the $INFORMIXDIR/etc directory.
% concdr <from vers> 7.31
Valid values for <<from vers> are "7.2" or "7.3." Wait for the message:
'syscdr' conversion completed successfully.
or
'syscdr' conversion failed.
For details, look in $INFORMIXDIR/etc/concdr.out.
7. If conversion failed, then resolve the problem reported in
$INFORMIXDIR/etc/concdr.out. Restore the 'syscdr' database from backup
and then attempt conversion again.
8. Bring up CDR after successful conversion.
% cdr start
II. Reversion from 7.31
Before shutting down the 7.31 database server:
1. Stop applications doing replicatable transactions.
2. Make sure that the control and TRG send queues are empty.
Run 'onstat -g grp' to check for pending transaction in
the grouper.
Sample Output:
Informix Dynamic Server Version 7.31--On-Line--Up 00:44:30--18968 Kbytes
Grouper:
Last Idle Time: 98/11/09 15:01:15
Log update buffers: 1024
Log update buffers in use: 0
Log update buffers in use should be zero.
Run 'onstat -g rqm' to find out the elements in the queue.
In the output look for 'Txns in queue: 0' for both
'control_send' and 'trg_send' queues.
Sample output:
RQM Statistics for Queue (0xa6c4018) trg_send
Transaction Spool Name: trg_send_stxn
Insert Stamp: 0/0
Flags: SEND_Q, SPOOLED, PROGRESS_TABLE, NEED_ACK
Txns in queue: 0
3. Shut down cdr using 'cdr stop' command.
4. Take a full backup of the 'syscdr' database.
5. Run the reversion test script to make sure that none of the new
features are being used.
% revtestcdr 7.31 <to version>
Valid values for <<to versions> are "7.3" and "7.2"
6. If the reversion test succeeds, then run the actual reversion.
% revcdr 7.31 <to version>
7. If the reversion fails then check the file $INFORMIXDIR/etc/revcdr.out.
Attempt reversion after resolving problems reported in revcdr.out and
restoring syscdr from backup.
8. If you are reverting to 7.2x, then to revert the rest of the server,
run the following command:
% onmode -b 7.2
Note: This will automatically bring down the database server.
If the reversion is to 7.30, then you need to shut down the
database server manually.
9. Bring up old database server.
10. If you are reverting to release 7.30, rebuild sysmaster
database using the "buildsmi" command.
11. To bring up Enterprise Replication after a successful reversion,
use the "cdr start" command for 7.30 or use the
or use the Enterprise ERM for 7.2x.
Co-existence of Multiple Release Versions
---------------------------------------------------
Informix Dynamic Server, Version 7.31 for NT cannot co-exist with
Informix Universal Server, Version 9.1 or OnLine Dynamic Server,
Versions 7.2x and 7.1x, due to differences in registry structure
when running on the same SMP system. However, you can have different
versions of the database server on different SMP boxes but on the same
network.
Improving Dbload Performance
----------------------------
Use a small commit level to improve dbload performance. Also,
the Performance Guide describes how to improve dbload and LOAD
performance on page 4-24.
Verifying that the Storage Manager is Certified
-----------------------------------------------
For information on verifying that the storage manager is
certified on the database server that you are migrating to,
see the last item in the "Informix Storage
Manager Installation and Configuration" section.
VI. INFORMIX STORAGE MANAGER INSTALLATION AND CONFIGURATION
===========================================================
Important ISM 2.2 Information
=============================
IDS 7.31 uses ISM 2.2. When setting up ISM,
you might need setup information about the following features:
- Year 2000 Compliant Status
- ISMData or ISMLogs Name Change
- NSRADMIN Utility
- Upgrading to ISM 2.2
- Storage Manager Installation and Certification During Migration
IMPORTANT: If you are using NetWare IPX/SPX, it should be
installed on the same computer as the ISM server.
I. Y2K Compliance
ISM 2.2 is Y2K compliant. ISM supports dates in the year 2000 and
beyond. All internal dates are stored in an internal format that
allows representation of dates from January 1, 1970 through December
31, 2037. ISM correctly interprets the year 2000 as a leap year.
When a year is entered as a two digit specification, ISM interprets
it as follows:
- A year entered in the range of 70 - 99 is interpreted as 1970 - 1999
- A year entered in the range of 00 - 37 is interpreted as 2000 - 2037
- A year entered in the range of 38 - 69 is invalid
II. Bugs Fixed In ISM 2.2
a. savegrp -o does not work on NT
The savegrp -o option has been fixed in this release to work on NT.
b. Can combine "file" type volumes with other types
With this release, the ISM server will not allow you to combine
"file" type volumes with other "non-file" types of volumes.
c. Target sessions for new devices is not 1
This bug has been resolved so that target sessions for a new
device are now set to 1.
d. Carriage returns appear randomly in daemon.log
The format conversion required to fix the carriage return
appearing randomly in the daemon.log has been made so this
problem no longer occurs in this release.
e. This command does not work:
ism_config -volume volume -disable_restore ssid, ssid
A warning message for this command has been included in
this release, which states that the additional ssid will
not be handled.
f. ism_op -detect does not produce error messages when the
command failed.
This bug has been fixed so that an error message is produced
when the ism_op -detect option fails.
g. The ism_clone program can be used without specifying
a pool option.
This bug has been fixed with this release so that the -pool
option is required to run this program.
h. ISM does not execute the ism_start -init command correctly
if the node name contains a hyphen.
This bug has been fixed. If a node name contains a hyphen,
the ism_start -init command strips the hyphen from the hostname
and executes correctly.
III. ISM Setup Information
Known Restrictions
==================
When running ISM on Windows NT, XBSA does not report a meaningful
error message if there is a mismatch between the informix
users' environment variables (ISM_DATA_VOLUME_POOL and/or
ISM_LOG_VOLUME_POOL) and the Informix server's configured
values (ISM_DATA_POOL and/or ISM_LOG_POOL) in the ONCONFIG
file. The bar_act.log reports:
XBSA Error (BSACreateObject): A system error occurred.
Aborting XBSA session
There is no message in any of the ISM logs or in the Informix
server message log report.
General ISM Setup Tips
======================
If you change the name of either ISMData or ISMLogs,
you also must do the following steps:
o Update ISM_DATA_POOL and ISM_LOG_POOL in the ONCONFIG
file with the new names.
o Change the create-bootstrap command in the onbar script
($INFORMIXDIR/bin/onbar or onbar.bat).
Setup to Not Use ISM
====================
If you choose not to use ISM, remove the create-bootstrap
command from the onbar script or onbar.bat.
ISM Setup Procedure on UNIX Database Servers
============================================
Optionally, add an administrator using the following command:
ism_add -admin $USER
If you are a member of the bargroup group on Solaris, it should be
your primary group. Set $USER to informix.
The following shell script provides the minimum setup required
for ISM operations with ON-Bar. You must edit the locations
for SM_DISKDEV1 and SM_DISKDEV2 as needed. Two of the operations
must be done as root (or informix) as shown in the script comments
below.
echo "ISM setup begins"
# the user must edit these two lines to
# select appropriate disk locations for
# storage manager use.
setenv SM_DISKDEV1 /some/place/on/disk/dir1
setenv SM_DISKDEV2 /some/place/on/disk/dir2
# start ISM server
echo "initialize ISM server, must be done as root"
ism_startup -init
# we need to create some devices and media
echo "create and mount ISM devices and pools"
ism_add -device $SM_DISKDEV1 -type file
ism_add -device $SM_DISKDEV2 -type file
ism_op -label $SM_DISKDEV1 -pool ISMData -volume ISMData
ism_op -label $SM_DISKDEV2 -pool ISMLogs -volume ISMLogs
ism_op -mount $SM_DISKDEV1
ism_op -mount $SM_DISKDEV2
echo "end of ISM setup"
ISM Setup Procedure on NT Database Servers
==========================================
Requirement:
-----------
The Netware IPX and SPX networking protocols should
be installed and enabled on the computer where Informix Dynamic
Server is installed.
Script for Minimum SETUP and STARTUP
------------------------------------
The following batch file provides the minimum setup required
for ISM operations with ON-Bar. This batch file will configure
two devices, both of file type, to back up logical logs and dbspaces.
This will allow you to back up logical logs and dbspaces to disk.
You must edit the locations for SM_DISKDEV1 and SM_DISKDEV2 as needed.
The operations must be done as user informix.
REM setup for Informix Storage Manager
echo "ISM setup begins"
REM the user must edit these two lines to
REM select appropriate disk locations for
REM storage manager use.
set SM_DISKDEV1=\some\place\on\disk\dir1
set SM_DISKDEV2=\some\place\on\disk\dir2
REM we need to create some devices and media
echo "create and mount ISM devices and pools"
ism_add -device %SM_DISKDEV1% -type file
ism_add -device %SM_DISKDEV2% -type file
ism_op -label %SM_DISKDEV1% -pool ISMData -volume ISMData
ism_op -label %SM_DISKDEV2% -pool ISMLogs -volume ISMLogs
ism_op -mount %SM_DISKDEV1%
ism_op -mount %SM_DISKDEV2%
echo "end of ISM setup"
Setup with ISM Administrator GUI
================================
If the Informix Enterprise Command Center component of the
Informix Dynamic Server is also installed, you can configure the
devices with the ISM GUI.
To start the ISM GUI, type at the command line:
start ism /s localhost
To configure a device:
a) Create a device:
Select "New" from the "Devices" menu.
Alternatively, type <CNTRL> + N.
Enter the name of the backup location. This should be a directory
if the backup device is of type file.
Select "file" for the type of device and click <OK>.
b) Label the device:
Select the device and select "Label" from the "Volume" menu.
Alternatively, type <CNTRL> + L.
Select the pool to which the device should belong
(ISMData for dbspaces, ISMLogs for logical logs).
Set the volume number and click <OK>.
c) Mount the device:
Select the device and select "Mount" from the "Volume" menu.
Alternatively, type <CNTRL> + M.
ISM Configurations Not Using ISMData Pool
-----------------------------------------
The onbar script invokes ism_catalog to back up
the ISM bootstrap after successful ON-Bar logical-log and
storage space backups. This ism_catalog invocation explicitly selects
the ISMData pool for storing the ISM bootstrap.
On UNIX, the command in the onbar script is as follows:
${INFORMIXDIR}/bin/ism_catalog -create_bootstrap -pool ISMData
On Windows NT, the command in the onbar.bat script is as follows:
%ISMDIR%\bin\ism_catalog -create_bootstrap -pool ISMData
If you configure ISM and ON-Bar without a ISMData pool device, you
will need to edit the onbar (on UNIX) or onbar.bat (on NT) scripts
to direct ism_catalog to some other existing pool, such as ISMDiskData.
On UNIX, the ism_catalog line of the onbar script would be as follows:
${INFORMIXDIR}/bin/ism_catalog -create_bootstrap -pool ISMDiskData
On Windows NT, the change in onbar.bat would be as follows:
%ISMDIR%\bin\ism_catalog -create_bootstrap -pool ISMDiskData
If the onbar script ism_catalog invocation selects a
non-existent storage pool, ON-Bar will seem to hang and a
message will appear in the ISM log that an operation is waiting
for ISMData pool to be mounted.
For more information, see the documentation notes for ON-Bar in
ONBARDOC_7.3.
ISMData or ISMLogs Name Change
------------------------------
If you change the name of either ISMData or ISMLogs,
you also must do the following steps:
- Update ISM_DATA_POOL and ISM_LOG_POOL in the ONCONFIG
file with the new names.
- Change the create-bootstrap command in the onbar script
($INFORMIXDIR/bin/onbar or onbar.bat).
Configuring the Informix Storage Manager (ISM)
==============================================
The ISM daemons startup and shutdown can be added to your
startup scripts for your operating system.
The ISM daemons must be running before you can use ISM.
Informix recommends that you add the following command
to one of the startup scripts for your operating system:
$INFORMIXDIR/bin/ism_startup<
To shut down the ISM daemons at system shutdown time,
Informix recommends that you add the following command
to one of the shutdown scripts for your operating system:
$INFORMIXDIR/bin/ism_shutdown -q
For systems that support the /etc/init.d directory, you
can write your own startup/stop script. On Solaris, e.g.,
you could add the following script as '/etc/init.d/ism':
#!/bin/sh
#
# Startup for Informix Storage Manager
#
INFORMIXDIR=.... # Fill in the correct INFORMIXDIR
case "$1" in
'start')
$INFORMIXDIR/bin/ism_startup
;;
'stop')
*)
echo "Usage: /etc/init.d/ism { start | stop }"
;;
esac
exit 0
Link this script to the startup sequence as follows:
ln /etc/init.d/ism /etc/rc2.d/S94ism
Link this script the shutdown sequence as follows:
ln /etc/init.d/ism /etc/rc0.d/K06ism
Note that the sequence numbers are for illustrative purposes
only, you may have to adjust the sequence numbers as necessary
for your system. ISM depends on TCP/IP services and RPC services.
Therefore, you will have to start ISM after these services are
started, and shut down ISM before these services are shut down.
Once the ISM daemon is started, you can add one or more
devices as ISM storage devices, and label storage media
in those devices as ISM volumes. Please refer to the
ISM Administrator's Guide for further information about ISM.
See also the section "PROBLEMS FIXED IN ISM 2.2," approximately
4,000 lines below in this document.
The NSRADMIN Utility
====================
The end user should not use the NSRADMIN character-based user
interface unless instructed to do so by Informix Technical
Support. Incorrect use of these tools
could result in problems with your ISM system. These
tools are undocumented.
Do Not Use Rewind Devices with ISM
==================================
The ISM Administrator Guide, on page 3-6, mentions that ISM
writes a file mark at the end of each backup and appends the
next storage volume after this mark. If the tape device rewinds,
the previous backup will be lost.
ISM does not support rewind device types. If you use a "rewind"
tape device, your backups will appear to have completed successfully
but your tapes will contain only the last save set. (A backup
operation might contain several save sets.) If you use a rewind device,
it overwrites the previous save set and data is lost.
Also, using rewind devices degrades your performance severely.
Many tape drives come with two device drivers. One driver provides
"rewind" functionality. The other driver provides "no-rewind"
functionality.
ISM Installation and Uninstallation Problems on Solaris
=======================================================
1. ISM cannot be installed on a machine in which a NetWorker server
or a NetWorker client has already been installed. If such an
installation is attempted, it will fail with the following message:
---------------------------------------------------------------------------
*** The ISM setup script detected that another storage manager is installed
in /nsr, which conflicts with ISM. If you want to setup ISM, you need to
de-install the other storage manager and then run
'$INFORMIXDIR/bin/ism_startup -init'.
---------------------------------------------------------------------------
For ISM to be installed on a machine having a NetWorker
server or client on it, the NetWorker server or client has to be
COMPLETELY de-installed first. (On Solaris, for example, use 'pkgrm',
then remove the entire '/nsr' structure.)
2. A NetWorker server should not be installed on a machine having
ISM already installed. Currently, the NetWorker server installation
cannot detect such a conflict. It is thus the responsibility of the
user to make sure that such a case does not occur (see [3] below, too).
3. The supplied 'ism_shutdown' command simply shuts down the ISM
daemons nsrd, nsrexecd, nsrmmdbd, and nsrindexd. It does not de-install
ISM, that is, it does not remove the ISM executables in
$INFORMIXDIR/bin, the symbolic link /nsr, or the various ISM files in
$INFORMIXDIR/ism.
Installing and Certifying the Storage Manager During Migration
--------------------------------------------------------------
When you convert or revert an Informix database server,
the storage manager that you used on the old version might not be
certified for the version that you are migrating to.
Verify that Informix has certified the storage manager for the
target server version and platform. If not, you need to
install a certified storage manager before performing backups
with ON-Bar.
When you migrate to the new database server version, install
the storage manager BEFORE you bring up the database server.
That way if you have automatic log backup set up on the
database server, ON-Bar can start backing up the logs when the
database server comes on-line.
Hosts File Required When Using ISM With DNS Disabled (Bug 94597)
----------------------------------------------------------------
The domain name service (DNS) translates the host names into IP
addresses. So when your computer is not on the network, DNS is
disabled and you need to provide the IP address and host name in the
hosts file.
For non-network ISM installations with IDS 7.3, create a Windows NT
hosts file with the default local loopback entry as follows:
127.0.0.1 localhost
The hosts file is located in C:\WINNT\system32\drivers\etc\hosts.
If this entry is not present in the hosts file, you might get the
following error when using ISM:
nsrmmd #1: unauthorized READ_LABEL call to mmd 1: Access violation -
[] unknown host: 127.0.0.1
IV Upgrading to ISM 2.2
You can either upgrade ISM 1.0 to ISM 2.2 alone or upgrade ISM
with the database server version.
Migration is the reinstallation of ISM binaries while maintaining the
ISM data (the catalogs and tape volumes that contain the savesets).
The following section explains how to migrate ISM 1.0 to ISM 2.2.
ISM 2.2 includes changes to the format of data in the ISM catalogs
and volumes. Begin the following procedure with ISM 1.0 running on
your old database server version.
IMPORTANT: Do not use ISM 1.0 storage media for future backups after
you have migrated from ISM 1.0 to ISM 2.2.
1. Complete a full backup of your system with one of the following commands:
onbar -b -w
onbar -b -L 0
2. Create a bootstrap of your ISM 1.0 server with the following command:
ism_catalog -create_bootstrap -pool ISMData
The bootstrap is a copy of the files and directories in
$INFORMIXDIR/ism/mm, index, and res (UNIX) or
%ISMDIR%\mm, index, and res (Windows NT). These directories are backed up
into a single save set, called the bootstrap.
3. Shut down the ISM 1.0 server.
On UNIX:
ism_shutdown
On Windows NT:
ism_shutdown -deinstall
4. Remove the ISM 1.0 catalogs.
IMPORTANT: Keep the resources "res" part of the catalogs.
On UNIX:
rm -rf $INFORMIXDIR/ism/index
rm -rf $INFORMIXDIR/ism/mm
On Windows NT:
del %ISMDIR%/index
del %ISMDIR%/mm
If you have file-type devices configured in ISM,
you cannot move, copy, or rename the directories that
contain those devices.
5. Uninstall ISM 1.0 (this step is optional).
Follow the instructions on how to uninstall ISM 1.0
under "Uninstalling ISM on UNIX" on page 1-16 or "Uninstalling
ISM on Windows NT" on page 1-17. Use regedt32 to check the
registry keys.
IMPORTANT: Do not remove the "res" directory.
6. On Windows NT, you must rename or remove the ISM 1.0 "bin" directory
because the ISM 2.2 installer installs the ISM files in a different
directory. Then move the ISM 2.2 "bin" directory into the
ISM 1.0 "bin" directory location.
7. Install the new ISM 2.2 files, either separately or with
the new database server version.
WARNING: The new ISM 2.2 files must be installed in the same
directory as the ISM 1.0 files.
8. If you are upgrading ISM on Windows NT, follow these steps
to ensure that ISM is properly configured.
a) The installer might have made a Windows NT command window script
for working in the Informix environment. The filename of this
script is <servername>.CMD.
Edit this file to be sure that ISMDIR and PATH are correct for
the location of the new ISM 2.2 directory.
b) Change your %INFORMIXDIR%\BIN\ONBAR.BAT file
for any user-customized references to the ISM directory.
c) If necessary, edit the %INFORMIXDIR%\BIN\SETISM.BAT file
to ensure that it refers to the ISM 2.2 directory.
d) Check your database server configuration file
(usually %INFORMIXDIR%\ETC\ONCONFIG.<servername>). Be sure that
the BAR_BSALIB_PATH parameter points to the libbsa.dll in the
BIN subdirectory of the new ISM 2.2 directory.
e) Check Windows NT system environment variable settings
that affect the PATH or that set the ISMDIR variable.
f) Copy the sm_versions.std file to create a new sm_versions file.
g) If you changed the configuration files, you might need to
reboot your Windows NT system.
WARNING: If you encounter an error message that an entry point cannot be found
in libnsr.dll, it means part of the Windows NT configuration still
references the old ISM installation.
9. Start your ISM server with the following command.
Do not initialize the server.
ism_startup
10. Place the tape that contains the bootstrap in a device and mount it,
if not already mounted.
11. Create an index for your host with the following command:
nsrck -c
12. Locate the bootstrap on the tape, and note the save set ID:
ism_catalog -find_bootstrap device_name
13. Recover your bootstrap with the following command:
ism_catalog -recover
IMPORTANT: Do not replace the res directory with the res.R directory.
Wait for the message from the preceding command stating that the index
has been fully recovered.
14. Unmount all the defined devices with the
following command. You must unmount each device individually.
ism_op -unmount device_name
15. Segregate all ISM 1.0 volumes.
Make file-level backups of file type devices.
IMPORTANT: For future use, you must store the tape that contains
the bootstrap that you created in step 2. Without the bootstrap,
you cannot revert to ISM 1.0 (if you should need to).
16. Label new volumes.
ISM 2.2 must not write to any ISM 1.0 volumes as they would
become unreadable by ISM 1.0 if you choose to revert.
ism_op -label device_name -volume volume_name -pool ISMData
17. Mount the new volumes with the following command for each device:
ism_op -mount device_name
18. Create a new bootstrap to back up the converted indexes.
ism_catalog -create_bootstrap -pool ISMData
19. Upgrade the database server to the new version
(if necessary), then start the database server.
20. Immediately perform a level-0 backup.
onbar -b -L 0
Revisions to the Procedure for Reverting from ISM 2.2 to ISM 1.0
----------------------------------------------------------------
Replace the instructions on reverting from ISM 2.2 to ISM 1.0
on page 1-22 of the "ISM Administrator's Guide" with the following
information:
When you revert the database server, Informix does not recommend
reverting to ISM 1.0. All versions of the database server, including
7.31, support ISM 2.2. Also, ISM 2.2 is year 2000 compliant;
ISM 1.0 is not. Versions of the database server that did not
include ON-Bar are not compatible with ISM.
1. Because the database server installers install ISM, be sure to preserve
the ISM 2.2 directory by renaming it.
2. Follow the instructions in the Installation Guide to install
the earlier database server version.
3. Follow the instructions in the Migration Guide to revert to
the earlier database server version.
4. Restore the ISM directory. (Copy the new ISM files to the
directory that you renamed earlier and rename the
directory to its original name).
If you need to revert the database server and perform a
point-in-time restore of the earlier database server version,
ISM 2.2 might have the original backups in its catalog (if you
followed the procedure in this manual for upgrading ISM).
If the backups are no longer in the ISM catalog, recover the
catalogs from the backup media after you revert the database server.
V. Using HDR with ISM and ON-Bar (Imported Restore)
===================================================
ISM 2.2 now supports HDR initialization via imported restore.
For more information, see the ISMDOC_7.3 docnote file.
VII. Enterprise Replication Information
=======================================
Restrictions
------------
In 7.30, the following features are disabled and cannot be used:
o Non-root servers
o Intermittent connectivity
o Connect and Disconnect
o Sparse catalogs
o Floating connection threads
In 7.31, the following features are disabled and cannot be used:
o Non-root servers
Other Notes
-----------
Applications must be recompiled to take advantage of the fix for 88803
(applying replicated transactions as table owner).
Applications which use the ER API (such as from within a C program) must use
the 2.01 version of the Client SDK. This restriction does not apply to
usage of the command-line utility.
If you have your NETTYPE=tlitcp,2,,NET parameter
(or >1 poll thread specified), you might possibly
witness some timing issues on disconnects that cause connections to show up as Dropped
(connection lost) rather than Disconnected (administrative close).
You should not perform queries against CDR-related SMI tables while
CDR is shutting down. Such queries might result in a database server crash.
Receive queue dbspace cannot be changed using the
Modify Server command.
When defining replicates, owner name is mandatory.
ER internally retains database connections on tables which are the destination of
replication activity as a performance optimization.
ER drops these connections every minute.
While ER has the connections open, index creation will time out
if you are not using "lock wait." To create an index on a replicated table,
you must use a lock wait value of 1 minute or delete all replicates
on that table.
As with 7.31, 7.30, and 7.2x, the connection state between
database servers are not stable. This means whenever a
database server is bounced, ER attempts to
establish a connection to other applicable servers. ER keeps trying
until the connection succeeds. This effort occurs even if the state of the
connection prior to recovery is Administrative close (i.e. a disconnect command
was issued for this connection).
When an explicit Connect/Disconnect Serv command is issued, the command
will be synchronous and tried only once.
The following are the new onconfig.std parameters for CDR
:CDR_LOGDELTA
The old onconfig.std parameter, CDR_QUEMEM, indicates the amount of memory
that is allocated for Queues. This setting is useful for customers who have a large
log size in order to limit the Queue memory. For customers who have small
log size (required log size is smaller to handle their volume and size
of transaction ), to prevent the Queue memory from being over committed
especially during ddr blockout phase, specify a percentage of log
space to be Queue memory as specified by CDR_LOGDELTA. Whichever is lower (QUEMEM or
LOGDELTA) is what will be used when CDR comes up.
CDR_NUMCONNECT is an approximation of the maximum number of connections to other
servers that are expected. CDR_NUMCONNECT does not actually restrict the number
of connections to database servers. Instead it is used as an advisory value for
resource allocation purposes. When the CDR_NUMCONNECT value in the
ONCONFIG file is below 4, a default value of 4 is applied.
CDR_NIFCOMPRESS indicates the compression factor when for network messages. The
possible values are: -1 never, 0 none, 9 max. -1 indicates that
compression will never be done irrespective of whether the target site
has compression or not. 0 indicates no compression will be done locally
unless requested by the peer.
CDR_NIFRETRY indicates the time between retries in the case of all
Non-administrative close situations. A value of 0 indicates do not retry at all.
The following changes are effective for sysmaster:
syscdrq - the lstcommittime and lstquetime columns have been removed.
Two new columns, srcname and srcid have been added to
the syscdrq table. The meaning of the bytesqued column
has changed; bytesqued information is now broken down
according to the server that originated the data.
The new srcname and srcid columns list the relevant server.
syscdrqueued - The lstcommittime and lstquedtime columns have
been removed. The other columns retain their meaning.
syscdrtx - no longer contains avgrcvlatency, avgcmtlatency columns.
syscdrtxproc - no longer contains avgrcvlatency, avgcmtlatency columns.
syscdrserver - no longer contains issporadic, issparse columns.
The new columns include isleaf and isnonroot.
syscdrs - no longer contains issporadic, issparse columns.
The new columns include isleaf and isnonroot.
syscdrrecv - this table no longer exists.
Note: Some ER-related fields in sysmaster have changed from
char(18) to char(128).
Configuring Enterprise ERM on Windows NT
========================================================
This section describes how to configure an NT system to use the
ERM (ERM) to administer your Enterprise
Replication system.
The "rephosts" file option for server information is no longer
supported. All server configuration information for use by the ERM
must be set up in the NT registry.
1. Install Informix DB Administrator (IDBA), which includes ERM
and Client Configuration tool on your NT system. For more
information, see Section II, "Informix DB Administrator."
2. Follow these steps to prepare SQLHOSTS information
using the Client Configuration tool:
a) To start the Client Configuration tool, select
Start->Programs->Informix->Client Config->Client Configuration.
b) Double-click the Network icon.
c) Select the Servers tab in the Network Properties dialog box.
d) Add your database servers.
e) Select the Servers Groups tab in the Network Properties
dialog box.
f) Create your database server groups.
g) Add your database servers to the groups.
3. You must also set user login information for each user and host.
a) Start the Client Configuration tool.
b) Double-click the Login icon.
c) Provide user information in the Login Properties dialog box.
4. The machine name field on the Shared Servers page should be the
name of the computer on which you want the registry entries created.
It is best to have this be the local computer (where you have
installed IDBA).
5. To start ERM, choose
Start->Programs->Informix->ERM.
For more information, see the "Guide to Enterprise Replication."
Adding a Database Server Entry
------------------------------
1) In the Client Configuration tool, select the Servers tab
and click the Add button on the Servers page.
2) Select Manually and click Next.
3) Enter the machine name where your database server resides and
click Next. You might get an error about not being able to connect
to this machine. Click Yes to use that machine name anyway.
4) Enter the database server name and click Next.
5) Click Next again.
6) Fill out the service name and select a network protocol and
click Finish.
Adding a Server Group Entry
---------------------------
1) In the Client Configuration tool, select the
Server Groups tab and click the Add button on the
Server Groups page.
2) Select Add a New Group and click Next.
3) Enter the <server group name&.
4) Check the 'Use group for replication box.'
5) Edit the 'Replication identifier' value to be the server group
ID. This value is in the INFORMIXSQLHOSTS file.
6) Click Next.
7) The server that you created in step 4 of the "To add
a db server entry" section appears in a dialog box.
Select it and click Finish.
Now you should be able to run the ERM
and connect to the servers that you just added to the SQLHOSTS
registry with the Client Configuration tool.
Configuring Enterprise Replication With Setnet32
================================================
If you prefer, you can set up the ER configuration using
setnet32 instead of Client Configuration tool, as follows:
1. Start setnet32 by selecting Start-&Run and entering setnet32.
2. Select the Server Information tab.
Under the servers tab you can set up your server entries and most of
the server group entries.
For the server entry:
--------------------
The Informix Server field should contain the server name.
The HostName field should contain the host machine name.
The Protocolname field should contain the protocol that the server
uses.
The Service Name field should contain the name of the service that
the server uses.
The Options field should contain the string "g=<server group name>"
(g= plus the server group name).
For the server group entry:
--------------------------
The Informix Server field should contain the server group name.
The HostName field should contain a dash ("-").
The Protocolname field should contain the default (this will be
changed later).
The Service Name field should contain a dash ("-").
The Options field should contain the string "i=<server group id>."
To update the NT registry:
-------------------------
1. After applying the changes you make in Setnet32, run regedt32.
(Choose Run from the Start menu and type regedt32. Click OK.)
2. Find the window titled "HKEY_LOCAL_MACHINE on Local Machine".
Under SOFTWARE->Informix->SQLHOSTS, there should now be a key for
your server group and your server. Select the group key and choose
the Add key from the Edit menu.
Give the new key the name of the server, leave the class
field blank.
2. When the group key is selected you should see four values
on the right side of the screen. Select the value that starts
"PROTOCOL" and edit that field to contain the string "group".
You should now have two keys that look like this:
SQLHOSTS
|
|
|
---<server group name>
| | HOST:REG_SZ:-
| | OPTIONS:REG_SZ:i=<server group id>
| | PROTOCOL:REG_SZ:group
| | SERVICE:REG_SZ:-
| |
| --- <server name>
|
|
---<server name>
HOST:REG_SZ:<host name>
OPTIONS:REG_SZ:g=<server group name>
PROTOCOL:REG_SZ:<protocol>
SERVICE:REG_SZ:<service name>
Host Information
================
After configuring the registry, you need to set up the
host information using setnet32 so that ESQL/C works on
remote computers. The ERM now uses ESQL/C to get information
from the database server.
Launch setnet32 and select the Environment tab to display
all the Informix environment variables.
For ERM to connect to servers correctly,
the INFORMIXDIR and INFORMIXSERVER variables must be set
to the location where the database server was installed.
If the INFORMIXSQLHOSTS variable is not set, the
local machine name is used as the default value.
Also, you must specify login information for the host
computers where the database servers are running.
1. In setnet32, select the Host Information tab and
verify the following:
- The user name is set to informix.
- Password Option is Password.
- Password field contains the correct password for
the informix account on the specified host.
Troubleshooting the ERM
=======================
You must configure the following items before the
ERM can successfully connect
to database servers to administer Enterprise Replication:
* On the NT machine, the user must be a member of the Informix-Admin
group.
* SQLHOSTS information for all database servers participating in
replication must be set up in the registry.
* The INFORMIXSERVER, INFORMIXDIR, and INFORMIXSQLHOSTS environment
variables must be set.
* A trusted relationship must exist between the NT machine and the
host machine, OR the user and password information must be set up for
each host machine.
* The services used by the database servers must be listed in the
%WINDIR%\system32\drivers\etc\services file.
What follows are the various errors you will encounter if any of
these things are not done.
User Not in Informix-Admin Group
--------------------------------
The user that launches the ERM must belong to the
Informix-Admin group. Windows NT Help includes information on how to
create user groups and add users to them.
Error -25560
------------
If you don't have the %INFORMIXSERVER% variable set in your
environment, you will get error -25560 when you attempt to
connect to the database server.
1. To set the %INFORMIXSERVER% variable, launch Setnet32 and select
the Environment tab.
2. Find INFORMIXSERVER in the list of variables and select
it. Type the server name into the entry box and then click the Set
button.
3. Click the Apply button.
Error -956 (client machine/user not trusted)
------------------------------------------------------------
The host machine where the database servers are running must trust
either the client machine where you are running the Replication
Manager or the user you are connecting with. If you are connecting to NT
database servers and the user information isn't set up, error -956
is returned.
Use Setnet32 to set up the user information for the NT host machine.
1. Launch Setnet32 and select the Host Information tab.
2. Type the host machine name in the Current Host field. The
ERM always connects to the host as user informix, so
use informix as the user name.
3. Choose Password as the Password Option and type the appropriate
password for the user informix on the host machine.
4. Click the Apply button.
If you are trying to connect to UNIX servers and you get error -956,
the client machine or user is not trusted. You can fix it in
one of two ways:
o Use Setnet32 to set up Host Information.
o Set up the client machine and user as
trusted in the hosts.equiv file which can be found in the /etc
directory on the host machine. Edit the hosts.equiv file to include the
client name and the user name informix. In the home directory
of user informix on the host machine, create (or
edit) a file called .rhosts and add the client name to it.
Error -931
----------
The services that the servers are set up to use must be added to the
Services file. The Services file can be found in the
%WINDIR%\system32\drivers\etc directory of the client machine.
This is the service listed in the sqlhosts file (for UNIX servers) or
that was specified upon install of the server (for NT servers).
If the services are not listed in the
%WINDIR%\system32\drivers\etc\services file, you will see
this error.
Edit the services file to contain the appropriate services, making
sure the port numbers are correct.
Error -406
----------
If your INFORMIXDIR variable is not set correctly on the NT machine,
or the locale codeset for either the DB_LOCALE or CLIENT_LOCALE
variable does not exist, you will see error -406.
You should set the %INFORMIXDIR% variable to the
full pathname of the directory where users installed
ERM and Client SDK. (ERM can exist on a client computer
with no database server installed.)
To set the INFORMIXDIR variable, launch setnet32 and select
the Environment tab. Select
INFORMIXDIR in the list of variables. Type the path name
in the entry box and click the Set button. Click the Apply button.
General Notes for the ERM
==========================
1) Certain attributes of replication objects (servers,
replicates, groups and participants) are not modifiable once the
object has been defined. There is a new feature in the scripting view
where fields that are modifiable have a pencil icon to the left. If you
have multiple objects selected and some are modifiable and some are not,
the pencil icon is grayed out. If the field is not modifiable, the
pencil icon does not display.
2) If you define a group with no replicates (which can only be done
through the scripting view) and subsequently add replicates to that
group, you have to reload the replication information before you can
Stop or Suspend the replicates.
3) Resetting the locale does not take effect immediately; you must
restart the ERM for it to take effect.
Migrating and Reverting with Enterprise Replication
===================================================
For important migration information related to Enterprise Replication,
see the Migration Guide documentation notes in the MIGRATEDOC_7.3
file.
Known Defects in Enterprise Replication
=======================================
83817 ER does not work when IDS is started as user "root".
W/A: Start the database server as user "informix."
103179 Dropping of logical log is allowed in certain scenarios even if ER
might have needed them.
W/A: There are a few cases where the DBA is allowed to drop logical files
that ER might need later on. These cases only occur when
ER is currently not running on the server (either because the server
is in quiescent mode (OR) ER was stopped by the DBA.
Please make sure that logical log files are not dropped in the
following scenarios:
o If the server comes to quiescent mode directly from off-line
mode using onmode -s.
o If the server is brought up but ER was stopped (using cdr stop)
before it went down.
Suggested Solutions:
-------------------
1. In both cases, delay dropping logs until after ER
is started back up and the following message has been printed
in the online log:
<time> CDR queuer initialization complete
2. Look in the replay table to see what logs ER needs, using
the following commands:
database syscdr;
select * from replaytab
Then, delete only the log files less than the value reported.
In the following example, it would be safe to drop logs with
log id < 10:
llid llpos cntrlkey1 cntrlkey2
10 4120 0 7
103299 Sysmaster queries on CDR-related SMI tables while CDR is shutting
down can cause access violation.
W/A: Do not perform queries on ER-specific System Monitoring Interface
(SMI) tables while ER is shutting down.
104218 CDR change replicate -D does delete server; does not remove
the participant from replicate.
W/A: Do not include the leading "P" or "R" in the participant
name in a cdr change replicate command.
105977 In some cases, deleting a participant may not result in
queued messages for that participant being deleted.
The symptom is that "onstat -g rqm brief" shows data in
the trg_sendq or trg_receiveq queue that is bound for the
participant that has been removed from replication.
W/A: This data will remain in the queue until ER is stopped and
restarted or the database server is stopped and restarted.
This data that remains in the queue does not harm the
operation of ER. The only effect is that some queue resources
will be in use until ER is restarted.
VIII. ON-BAR INFORMATION
========================
This section contains information on new and changed ON-Bar features.
Restartable Restore
===================
A new restartable restore option was added to ON-Bar (onbar -RESTART).
Use this option for a cold restore only, after a database server crash
has occurred during an ON-Bar restore. Restartable restore can be used
for any type of restore if either ON-Bar or the storage manager
crashed. It allows to you restart the ON-Bar restore from the point of
the crash.
You must set the RESTARTABLE_RESTORE ONCONFIG parameter to ON before
the ON-Bar restore crash. For more information, see the
"Backup and Restore Guide."
RESTARTABLE RESTORE AND ARCHECKER
---------------------------------
If the failure occurred during a warm restore and shut down the
database server, do not restart the restore. Instead, use the archecker
utility to verify the backup and start the whole restore from the
beginning.
ALARMPROGRAM Default Value Changed
==================================
The default value for ALARMPROGRAM on UNIX used to be
log_full.sh. Now, if you do not specify a value for ALARMPROGRAM in the
ONCONFIG file, the server uses the no_log.sh value (disables
continuous logical-log backups.)
Archecker Utility
=================
After you complete a storage-space backup, verify it with the archecker
utility. You access the archecker utility when you use the onbar-v
command. The archecker utility verifies that all pages required to restore
a backup exist on the media in the correct form. After you successfully
verify a storage-space backup, you can restore it safely. If archecker
shows problems with the backup, contact Informix Technical Support. You
can use archecker with the database server in any mode.
The archecker utility does not perform a restore.
The archecker utility verifies level-0 backups on all database servers.
How archecker verifies backups
1. When the user issues the onbar-v command, ON-Bar uses the emergency
boot file if the database server is off-line or the sysutils database
if the database server is on-line or quiescent to determine which
backup to verify.
2. ON-Bar requests and retrieves the backup from the storage manager.
3. ON-Bar forwards the backup to archecker.
4. The archecker utility scans the backup data and creates a bitmap of
the pages. During the scan phase, archecker verifies the following
types of problems:
o Backups with corrupt pages
o Backups with corrupt control information
o Backups with missing pages that have been added since the last level-0
backup
o Retrieval of the wrong backup objects
An example of retrieving the wrong backup object is when ON-Bar requests
the rootdbs backup from last Wednesday but the storage manager retrieves
the rootdbs backup from last Tuesday.
5. After it completes the scan, archecker uses this bitmap to verify the
backup and records the status in the archecker message log. It passes
this status back to ON-Bar, which records it in the ON-Bar activity
log.
During the verification phase, archecker verifies that all the pages for
each table are present and checks the partition pages, the reserved pages,
the chunk-free list, blobspaces, and extents. The archecker utility also
checks the free and used counts, verifies that the page stamps match and
that no overlap exists in the extents.
Archecker writes temporary files in the directory that the AC_STORAGE
parameter specifies.
VERIFYING BACKUPS WITH ARCHECKER
--------------------------------
This section describes how to verify backups with the archecker utility.
To prepare to verify backups
1. Review the ac_config.std file that contains default archecker
configuration parameters to see if you want to change the location of
the directories for the archecker message log and temporary files.
2. Set the AC_CONFIG environment variable to specify the path for the
archecker configuration file (either ac_config.std or user defined).
3. Estimate the amount of temporary space needed for storing the
archecker temporary files.
4. Use the onbar-v option to verify an existing backup.
When a backup is verified, ON-Bar inserts a row into the emergency boot
file with the backup copy ID and the verification date, and updates the
ins_verify and ins_verify_date rows of the bar_instance table in the
sysutils database.
ARCHECKER SYNTAX
----------------
onbar -r -v
onbar -r -v -t <time>
onbar -r -v -f <filename>
onbar -r -v dbspace_list
onbar -r -v -w
Syntax Elements and Purpose
---------------------------
-v
Verifies a backup. If verification is successful, you can restore the data
safely. The archecker utility fully verifies level-0 backups on all
database servers. Specify onbar-v to verify the backup. You can perform a
point-in-time verification. You cannot verify a logical-log backup. You
can verify a whole-system or physical-only backup.
<dbspace_list>
Names a list of storage spaces to be backed up or verified. If you enter
more than one storage-space name, use a space to separate the names.
-f <filename>
Verifies the storage spaces that are listed in the text file whose
pathname <filename> provides. Use this option to avoid entering a long
list of storage spaces every time that you verify them. You can use any
valid UNIX or Windows NT pathname and filename. The file can list
dbspaces, blobspaces, and sbspaces, one per line.
-p
Verifies storage spaces only. Use this option if you do not want to verify
logical logs.
-t time
Specifies the date and time to which dbspaces are verified. How you enter
the time depends on your current GLS locale convention. If the GL_DATETIME
environment variable is set, you must specify the date and time according
to that variable. If the GLS locale is not set, use ANSI-style date format:
YYYY-MM-DD HH:MM:SS
-w
Verifies a whole-system backup.
ESTIMATING THE AMOUNT OF TEMPORARY SPACE FOR ARCHECKER
------------------------------------------------------
The archecker utility requires about 15 megabytes of temporary space for a
medium-size system (40-50 gigabytes) and 25 megabytes for a large system.
This temporary space is stored on the file system in the directory that
the AC_STORAGE parameter specifies, not in the dbspaces. The temporary
files contain bitmap information about the backup and copies of partition
pages, chunk-free pages, reserved pages, and optionally, blob-free map
pages and debugging information. The archecker utility must have
permissions to the temporary directory.
If the backup is verified successfully, these files are deleted. If the
backup fails verification, these files remain. Copy them to another
location so that Informix Technical Support can review them.
If your database server does not contain any blobspaces or sbspaces, use
the following formula to estimate the amount of temporary space for the
archecker temporary files:
space = (130 KB * number_of_chunks) + (pagesize * number_of_tables) +
(.05 KB * number_of_logs)
If your database server contains blobspaces or sbspaces, use the following
formula to estimate the amount of temporary space for the archecker
temporary files:
space = (130 KB * number_of_chunks) + (pagesize * number_of_tables) +
(.05 KB * number_of_logs) + (pagesize * (num_of_blobpages/252))
number_of_chunks: is the maximum number of chunks that you estimate for the
database server.
pagesize: is the system page size in kilobytes.
number_of_tables: is the maximum number of tables that you estimate for
the database server.
number_of_logs: is the number of logical logs on the database server.
num_of_blobpages: is the number of blobpages in the blobspaces or the
number of sbspaces. (If your database server contains sbspaces, substitute
num_of_blobpages with the number of sbspaces.)
For example, you would need 12.9 megabytes of temporary disk space on a 50-
gigabyte system with a page size of 2 kilobytes. This system does not
contain any blobspaces, as the following statement shows:
13,252 KB = (130 KB * 25 chunks) + (2 KB * 5000 tables) +
(.05 KB * 50 logs) + (2 KB * 0)
To convert kilobytes to megabytes, divide the result by 1024:
12.9 MB = 13,252/1024
VERIFICATION EXAMPLES
---------------------
The following examples show how to verify an existing backup and how to
verify immediately after backing up. Only level-0 backups can be verified.
Performing Verification Only
............................
To verify a backup of all storage spaces, use the onbar-v command. The
logical logs are not verified.
To verify the backed-up storage spaces listed in the file bkup1, use the
following command:
onbar -v -f /usr/backups/bkup1
To verify a whole-system backup, use the following command:
onbar -v -w
Verifying Blobspaces
....................
The onbar-v command cannot verify the links between data rows and simple
large objects in a blobspace. Use the oncheck-cD command instead to verify
the links in a blobspace. For information on oncheck, see the
"Administrator's Reference."
Verifying Sbspaces
..................
The onbar-v command verifies only the smart-large-object extents in an
sbspace. For a complete check, use the oncheck -cS command. For
information on oncheck, see the "Administrator's Reference."
Performing a Point-in-Time Verification
.......................................
To perform a point-in-time verification of a backup, use the following
command with the datetime value in quotes:
onbar -v -t "1998-12-10 10:20:50"
INTERPRETING VERIFICATION MESSAGES
----------------------------------
When you verify a backup, the archecker utility writes summary messages to
the bar_act.log that indicate whether the validation succeeded or failed.
It writes detailed messages to the ac_msg.log. Informix Technical Support
uses the ac_msg.log to diagnose problems with backups and restores.
Sample Verification Message in the ON-Bar Activity Log
......................................................
The level-0 backup of dbspace dbs2.2 passed verification, as follows:
Begin backup verification of level-0 for dbs2.2
Completed level-0 backup verification successful
The level-0 backup of rootdbs failed verification, as follows:
Begin backup verification of level-0 for rootdbs
ERROR: Unable to close the physical check: <error_message>
Sample Verification Message in the archecker Message Log
........................................................
More detailed information is available in the archecker message log, as
follows:
STATUS: Scan PASSED
STATUS: Control page checks PASSED
STATUS: Starting checks of dbspace dbs2.2.
STATUS: Checking dbs2.2:TBLSpace
.
.
STATUS: Tables/Fragments Validated: 1
Archive Validation Passed
WHAT TO DO IF BACKUP VERIFICATION FAILS
---------------------------------------
If a backup fails verification, do not attempt to restore it. The results
are unpredictable and range from corruption of the database server to a
failed restore because ON-Bar cannot find the backup object on the storage
manager. In fact, the restore might appear to be successful but it hides
the real problem with the data or media.
The three different types of corrupt backups are as follows:
o Backups with corrupt pages
o Backups with corrupt control information
o Backups with missing data
Backups with Corrupt Pages
..........................
If the pages are corrupt, the problem is with the databases rather than
with the backup or the media. Run oncheck -cd on any tables that produce
errors and then redo the backup and validation. To check extents and
reserved pages, run oncheck-ce and oncheck-cr.
Backups with Corrupt Control Information
........................................
In this case, all the data is correct, but some of the backup control
information is incorrect, which could cause problems with the restore. Ask
Informix Technical Support for assistance.
Backups with Missing Data
.........................
When a backup is missing data, it might not be recoverable. After a data
loss, try to restore from an older backup and the logical logs.
Procedures for Fixing Backup Verification Problems
..................................................
Follow these steps when a backup fails verification. The first procedure
diagnoses why a backup failed verification; the second procedure verifies
an expired backup; and the third procedure verifies a backup with missing
data.
To diagnose why a backup failed verification
1. Verify that the AC_CONFIG environment variable and the contents of
the archecker configuration file are set correctly. If these
variables are set incorrectly, the ON-Bar activity log displays a
message.
2. Immediately redo the backup onto different media.
Do not reuse the original backup media because it might be bad.
3. Do not use any backups based on this backup. If the level-0 backup is
bad, do not use the corresponding level-1 and level-2 backups.
4. Verify this new backup. If verification succeeds, you will be able to
restore the storage spaces with confidence.
5. Use your storage manager to expire the backup that failed
verification and then run the onsmsync utility.
For more information on expiring data from the storage manager, see
your storage-manager documentation or the "Informix Storage Manager
Administrator's Guide."
6. If verification fails again, call Informix Technical Support and
provide them with the following information:
Your backup tool name (ON-Bar)
The database server online.log
The archecker message log
The AC_STORAGE directory that contains the bitmap of the backup and copies
of important backed-up pages
If only part of the backup is corrupt, Informix Technical Support can
help you determine which portion of the backup can be restored in an
emergency.
7. Informix Technical Support might advise you to run oncheck options
against a set of tables.
To verify an expired backup
1. Check the status of the backup save set on the storage manager. If
the storage manager has expired the backup save set, the archecker
utility cannot verify it.
2. Use the storage-manager commands for activating the expired backup
save set. See your storage-manager documentation or the "Informix
Storage Manager Administrator's Guide."
3. Retry the backup verification: onbar -v.
To restore when a backup is missing data
1. Choose the date and time of an older backup than the one that just
failed. To perform a point-in-time verification, use the following
command:
onbar-v-t datetime dbspace1
2. If the older backup passes verification, perform a point-in-time
physical restore using the same datetime value, then perform a log
restore, as follows:
onbar -r -p -t datetime dbspace1
onbar -r -l
3. To prevent the storage manager from restoring a backup that failed
verification, use your storage manager to expire the bad backup and
then run the onsmsync utility. The onsmsync utility removes the bad
backup from the emergency boot file and the sysutils database.
The only time you need to remove the bad backup from the emergency
boot file manually is when the database server is down and requires a
cold restore.
SETTING ARCHECKER PARAMETERS IN AC_CONFIG
-----------------------------------------
AC_CONFIG FILE
--------------
default value on UNIX: $INFORMIXDIR/etc/ac_config.std
default value on Windows NT: %INFORMIXDIR%\etc\ac_config.std
takes effect: When onbar starts
Set the AC_CONFIG environment variable to specify the path for the
archecker configuration file (either ac_config.std or user defined). You
must specify the entire path, including the configuration filename, in
AC_CONFIG or else the archecker utility might not work correctly. The
following table shows examples of valid AC_CONFIG pathnames.
UNIX:
/usr/informix/etc/ac_config.std
/usr/local/my_ac_config.std
Windows NT:
c:\Informix\etc\ac_config.std
c:\Informix\etc\my_ac_config.std
If AC_CONFIG is not set, the archecker utility sets the default location
for the archecker configuration file to $INFORMIXDIR/etc/ac_config.std on
UNIX or %INFORMIXDIR%\etc\ac_config.std on Windows NT whether or not this
location exists.
AC_MSGPATH
----------
default value on UNIX: /tmp/ac_msg.log
default value on Windows NT: c:\temp\ac_msg.log
takes effect: When onbar starts
The AC_MSGPATH parameter in the AC_CONFIG file specifies the location of
the archecker message log (ac_msg.log). You must specify the entire path,
including the configuration filename, in AC_CONFIG or else the archecker
utility might not work correctly.
When you verify backups with onbar-v, the archecker utility writes summary
messages to the bar_act.log and indicates whether the validation succeeded
or failed. It writes detailed messages to the ac_msg.log. If the backup
fails verification, discard the backup and retry another backup, or give
the ac_msg.log to Informix Technical Support.
AC_STORAGE
----------
default value on UNIX: /tmp
default value on Windows NT: c:\temp
takes effect: When onbar starts
The AC_STORAGE parameter in the AC_CONFIG file specifies the location of
the directory where archecker stores its temporary files. You must specify
the entire path, including the configuration filename, in AC_CONFIG or
else the archecker utility might not work correctly.
This figure lists the directories and files that archecker builds. If
verification is successful, these files are deleted. Informix recommends
that you set AC_STORAGE to a location with plenty of free space.
CHUNK_BM: Bitmap information for every backed up storage space.
INFO: Statistical analysis and debugging information for the backup.
SAVE:
Partition pages in the PT.######## file.
Chunk-free pages in the FL.######## file.
Reserved pages in the RS.######## file.
Blob-free map pages in