Date: 17 September 2001
Version: 9.30
If you are migrating from a Dynamic Server release earlier than Version 9.21, please refer to the 9.21 release notes (and to the release notes for other releases subsequent to the version from which you are migrating) for information about features added or modified before Version 9.30. Release notes for Dynamic Server, Version 9.21 are available at http://www.informix.com/informix/services/techinfo.
(c) 2001, IBM Corporation.
PROPRIETARY DATA
THIS DOCUMENT CONTAINS TRADE SECRET DATA WHICH IS THE PROPERTY OF IBM Corporation. THIS DOCUMENT IS SUBMITTED TO RECIPIENT IN CONFIDENCE. INFORMATION CONTAINED HEREIN MAY NOT BE USED, COPIED OR DISCLOSED IN WHOLE OR IN PART EXCEPT AS PERMITTED BY WRITTEN AGREEMENT SIGNED BY AN OFFICER OF IBM SOFTWARE, INC. THIS MATERIAL IS ALSO COPYRIGHTED AS AN UNPUBLISHED WORK UNDER SECTIONS 104 AND 408 OF TITLE 17 OF THE UNITED STATES CODE. UNAUTHORIZED USE, COPYING OR OTHER REPRODUCTION IS PROHIBITED BY LAW.
THIS PRODUCT INCLUDES CRYPTOGRAPHIC SOFTWARE WRITTEN BY ERIC YOUNG (eay@mincom.oz.au). IT IS PROVIDED BY ERIC YOUNG "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Description: release notes file (without fixed and known bugs) for database server product.
Owner group: Technical Publications
IMPORTANT: The name of the database server has been changed from "Informix Dynamic Server 2000" to "IBM Informix Dynamic Server." Please note that products and documentation that include the word "Informix" are now "IBM Informix." Except for pathnames, configuration parameters, environment variables. and user informix, the "IBM" should be prefixed for any reference to "Informix" in any context of the product, documentation, and other "Informix" items.To help you prepare to install or upgrade your IBM Informix Dynamic Server product, follow these steps:
The content of the release notes has changed for Version 9.30. Some information that was typically included in the release notes is now included in the manuals and documentation notes. You should still review these notes, however, for critical information.
The machine notes contain important information about platform-specific issues. Read the machine notes before installation.
This manual provides an overview and summarizes important features of IBM Informix Dynamic Server. It also provides a roadmap to help you use the documentation set.
If you are migrating from Version 9.14, 7.30, or 7.31 of the database server, please read the 9.21 release notes, which are available at http://www.informix.com/informix/services/techinfo. All bugs fixed in the Version 9.21.UC5 and 7.31.UD1 interim releases are corrected in the 9.30.UC1 release.
IBM Informix Dynamic Server, Version 9.30 contains new features in the following areas:
The UNIX Bundle Installer removes the complexity of installing multiple components and assures the components are installed in the correct order. It also provides the ability to create a demonstration database server automatically.
The database server keeps track of 2 values: the maximum number of simultaneous sessions since the server was brought up for the first time, and the maximum number of simultaneous sessions since the server was last booted. This is printed during each checkpoint.
The database server supports the Microsoft Transaction Server (MTS/XA) as a transaction manager in the XA environment.
IBM nformix Dynamic Server Version 9.30 includes IBM Informix Server Administrator (ISA), Version 1.4. ISA is a browser-based, cross-platform database server administrative tool. For more information, see the System Management corner of the Informix Developer Network (IDN) on the http://www.informix.com/ home page. This release of ISA does not have a hard-copy manual, but has online help.
This feature provides Technical Support and customers the ability to analyze memory usage. This new onstat option lists all the prepared SQL statements for a session and the amount of memory used by each. This is the new syntax:
The dynamic log feature enables the database server to automatically allocate a logical-log file and insert it after the current logical-log file when the next active logical-log file contains an open transaction. Dynamic log allocation prevents logs from filling and hanging the system during long-transaction rollbacks. With dynamic log allocation, you can add a logical-log file while the database server is online, and access the new log file immediately.
You must still backup log files to prevent them from filling.
When creating a sbspace, the database server reserves 40 percent of the total area in the chunk. When the user data area or the metadata area is running out of space, more space will be allocated from the reserved area. This feature enables the database server to use the space in sbspaces more efficiently. It also prevents the database server from running out of space in the metadata area.
This returns the current transaction state (explicit, implicit, or not in a transaction) to the caller.
This returns the cardinality (number of items in the collection) of the collection passed in as a parameter.
It is now valid to pass NULL as a MI_CONNECTION parameter to all the mi_lo_* routines.
You can open a file on the client machine by passing MI_O_CLIENT_FILE as a flag to mi_file_open( ) and access the file using other mi_file interfaces.
Three kinds of callbacks are introduced:
Two new memory durations, PER_STMT_EXEC and PER_STMT_PREP, replace PER_STATEMENT durations. PER_STATEMENT is now deprecated.
UDRs can switch to these durations, or can allocate memory from these durations using the mi_dalloc( ) function.
For this version of the database server, in conjunction with the Spatial DataBlade module and the Geodetic DataBlade module, the R-tree access method supports nearest-neighbor queries. Traditionally, without nearest-neighbor support, these kinds of searches are awkward to perform and involve several iterative stages. Please consult your DataBlade documentation to verify that you have the correct version for nearest-neighbor support.
If the DataBlade module is appropriately set up, default R-tree indexes no longer store a copy of the data object in leaf pages. Instead, they store bounding box representations of the data object. Bounding-box-only R-tree indexes save space, and require less time to build and maintain.
NOTE: The use of composite or bounding-box-only indexes prevents reversion to earlier versions of the database server.
Enterprise Replication now supports using a SERIAL or SERIAL8 column as a primary key.
All control commands take place immediately. If you stop the replicate, all the queued data values are deleted.
Enterprise Replication provides the ability to replicate only the changed columns, rather than the entire row.
The replicate group feature has been removed, beginning with this release.
NOTE: All replicate groups must be removed prior to upgrading to this release.
For more information on the new Enterprise Replication features, see the Getting Started Guide and the Guide to Enterprise Replication. See also Enhanced Support for Extended Data Types and Stream I/O Interface in the section Extensibility Enhancements later in this document.
The GRANT and REVOKE statements allow the owner of a database object to assign or revoke the privileges of other users. Previous Informix implementations of SQL have supported the syntax
This release adds a similar new syntax and functionality to REVOKE (and to REVOKE FRAGMENT) so that <user2> can revoke the privileges for <user1> with the new syntax:
Without executing the statement, the database server or ESQL/C now can produce sqexplain.out data for use in debugging operations on DML statements whose execution would be time-consuming. There are two ways to use this feature:
After this statement, the database server writes information for each DML statement to the sqexplain.out file without executing the statement until the next SET EXPLAIN ON/OFF statement is encountered.
The user can omit "FROM" as the second keyword in the DELETE statement. That is, in addition to "DELETE FROM <tablename> WHERE <expression>," the following syntax is also supported:
This can simplify usage of DELETE statement within both DB-Access and ESQL tools, and can make the code compatible with that of other database vendors.
IBM Informix Dynamic Server 9.30 introduces a new environment variable that was not available in Version 9.21. You can set the default lock mode for tables created during a session by either an ONCONFIG parameter or by setting the IFX_DEF_TABLE_LOCKMOD environment variable. To override this behavior, use ALTER TABLE and redefine the LOCK MODE. This feature has no effect on existing tables.
IBM Informix Dynamic Server, Version 9.30, recognizes new SQL keywords that might affect migration of your applications. Although you can use almost any word as an SQL identifier, syntactic ambiguities can occur in contexts where the keyword is also valid. An ambiguous statement might not produce the desired results. For information about workarounds for such ambiguities, see the IBM Informix Guide to SQL: Syntax.
The following SQL keywords are new in Dynamic Server 9.30:
If you are migrating from a Dynamic Server release earlier than Version 9.21, see the release notes to Version 9.21 for words that have been added to the list of SQL keywords since Version 9.14. For a complete list of SQL keywords, see Appendix A of the IBM Informix Guide to SQL: Syntax, Version 9.30.
Stream I/O interface provides a generic way of doing I/O with different types of objects like file, string, and collections. It also provides mechanism to create user-defined streams. Currently, it is used for enterprise replication of user-defined data types.
Enterprise Replication now includes support (with some restrictions) for the following data types:
For more information, refer to the tech note 'Making User Defined Types Replicatable with Enterprise Replication' and associated examples at the DataBlade Developer's Corner of the Informix Developer's Network (http://www.informix.com/idn/ ).
To replicate any opaque data type, you must create and register two additional support functions: streamread( ) and streamwrite( ). In particular, opaque data types provided by IBM Informix DataBlades require an ER-enabled release that includes the two new functions. At this point in time, the Spatial DataBlade 8.11 provides ER support for spatial opaque data types.
Applications can use temporary smart large objects for text, image, or other user-defined data types that are only required during the life of the user session, and these applications do not require logging of the temporary smart large objects. The temporary smart large objects can be stored in a permanent sbspace or a temporary sbspace. Neither metadata nor user data are logged if the temporary smart large objects are stored in a temporary sbspace.
IBM Informix Dynamic Server, Version 9.30, supports JDK 1.3 and internally embeds the Java Virtual Machine (JVM).
Please refer to J/Foundation section in the platform machine notes for more details.
Please note the following ONCONFIG value changes, which are platform-dependent, and can be found in the onconfig.std file. Values for Solaris are listed below:
JVPJAVAVM hpi:server:verify:java:net:zip:jpeg
JDKVERSION 1.3
JVPJAVALIB /lib/sparc/
Please refer to the Getting Started manual for a detailed list of new features in Version 9.30, and for references to the manuals in which these reatures are described.
A technique for obtaining root access using IBM Informix Software was published on the internet 4 September 2001. A Tech Alert describes the exploit and provides directions for obtaining a script that fixes the permissions on the executables that are used to obtain root access. Please refer to the Tech Alert Index page:
http://www.informix.com/informix/services/ilink/alerts/alerts.htm
The specific Tech Alert about the root exploit is on the following web page:
http://www.informix.com/informix/services/ilink/alerts/091301_152768n152769n152770n152789.htm
This release of IBM Informix Dynamic Server includes the most important of the changes recommended by the Tech Alert, but you can improve the security of your system still more by reading the Tech Alert to understand the issue and by using the script, ibmifmx_security.sh. The script is located in the directory $INFORMIXDIR/bin. Information on how to use the script, ibmifmx_security.sh, has been placed in the "README" section present at the top of the script.
You should also take care to ensure that the following security precautions are implemented:
You can ask about PTS bugs #152768, #152769, #152770, and #152789 for more information.
Also, remember to follow these basic security rules for IBM Informix software:
Similarly, all device files (raw disks) and any cooked files that are used for chunks must implement all of the following security features:
Version 9.30 of IBM Informix Dynamic Server works with the following software versions:
NOTE: Additional Information for Spatial DataBlade
The enclosed Spatial Data CD contains a tremendous amount of worldwide location-based data that can be visualized and manipulated using the free IBM Informix Spatial DataBlade bundle. This bundle, which can be ordered or downloaded free from www.informix.com/spatial, contains the following:
The newest release of the Spatial DataBlade module that supports the storage and manipulation of spatial data in the database.
Simple tools to enable the loading and unloading of spatial data into the IBM Informix database server.
A lightweight visualization tool for spatial data. Enables the panning, zooming, and querying of colorful maps automatically generated from the data.
Please refer to the file ids_unix_fixed_and_known_defects_9.30.txt for information about known problems.
The following sections describe issues and restrictions that can affect various features of Version 9.30.
The following utilities or features of earlier Dynamic Server releases are not supported in Version 9.30:
Server Studio Java Edition, a replacement schema tool by AGS (Advanced Global Systems, Ltd.), is included in this release. Customer support (for this feature only) is handled by Advanced Global Systems, Ltd., at support@agsltd.com. Website: http://www.agsltd.com/.
A future release of the database server will not support the following features:
In this release, the database server supports the older CDT format only under certain circumstances. In a future release, the database server will not support the older CDT format. For more information about the old and new CDT formats in this release of the database server, see Collection-Derived Tables for SPL Routines later in these release notes.
A future release of the database server might not support the DEFAULT_ATTACH environment variable, which changes the database server default mode for creating indexes from detached to attached.
The following Stored Procedure Language (SPL) features have changed since some earlier Dynamic Server releases:
Starting in Informix Dynamic Server 9.21, collection-derived tables (CDT) are enhanced for SPL routines in a manner that is different from the original CDT. For the new CDT, the following statements return the fields of the SPL collection variable instead of the underlying data type:
Under certain circumstances, Dynamic Server supports the older CDT format in this release:
For the older CDT, these statements return the underlying data type of the collection, as follows:
This works, however, only if the SELECT statement meets the original requirements of the old CDT format: no WHERE clause and only '*' in the select list.
Any other SELECT format produces results like an SQL table, in the new CDT format. For example, you could issue the query as follows:
For the new CDT, this query returns the following result:
The following query, however, is not supported:
The original CDT formats are a deprecated feature for which support will be discontinued in some future release of IBM Informix Dynamic Server. Instead, use the new CDT format, which is described in the IBM Informix Guide to Database Design and Implementation.
SYSTEM statements in an SPL routine are executed only if the current user executing the SPL routine has logged on with a password.
When a SYSTEM statement in an SPL routine executes, the database server waits for the outcome of the execution of the command that the SYSTEM statement specifies. The client application can hang if this command never completes or never returns.
DEFINE variable LIKE serial-type-col is allowed in an SPL routine. For this DEFINE syntax, the database server maps the variable to an INTEGER data type. However, DEFINE variable SERIAL and DEFINE variable SERIAL8 continue to be invalid syntax.
In Version 7.24.UC2 and earlier, if an SPL routine included a query with a GROUP BY clause, and the PDQPRIORITY environment variable was set to any value before (or during) execution of the routine, the session threads for that SPL routine were released as soon as the routine completed its execution.
As a result of the fix for PTS bug 72444,Version 7.24.UC3 and later (including this version) retain the threads allocated for the SPL routine until the session terminates.
A known bug (PTS# 128406) can result in unusual locking of sysprocplan and other system catalog tables when executing a stored procedure that uses a collection containing an unnamed ROW type.
This problem only manifests itself when a stored procedure that uses a collection containing an unnamed ROW type is executed for the first time, and it is only visible to the customer if that first execution takes place in the context of a transaction that holds a number of tables for a prolonged period of time.
Once that transaction commits (or rolls back), the performance slowdown will not occur again, with one possible exception: If a change occurs to a database object on which that SPL routine depends, then the SPL routine will be forced to recompile.
The workaround is to execute the SPL routine once, in order to get it compiled.
To invoke a function that is overloaded (that is, has the same name as one or more other functions), the database server chooses the most closely-matched function, based on parameters that the function call provides. An overloaded function can be a new function that a user defines and owns, or it can be built into the database server and, therefore, owned by user informix. If a built-in function and a user-defined function have identical signatures, then the database server chooses the user-defined function.
Confusion can arise, however, when function names are the same, but the argument types are not exactly the same. The following examples can help clarify what the database server does in such situations.
During the creation of an ANSI-compliant database, user informix creates two round( ) functions:
Later, a user (other than informix) creates an overloaded round( ) function with a FLOAT parameter:
The following SELECT statements execute round( ) functions:
In SELECT statement 1, the data type of 1.2 is DECIMAL and the data type of 10 is INTEGER, so the database server chooses round( ) function II.
In SELECT statement 2, the invocation is explicitly qualified with informix, so the database server chooses one of the built-in functions that user informix owns, namely round( ) function I.
In SELECT statement 3, the function call specifies two functions that match exactly, round( ) functions I and III. Because user-defined routines take precedence, the database server chooses round( ) function III.
In SELECT statement 4, it is the same case as in statement 3.
In SELECT statement 5, the function is explicitly qualified with username, so the database server invokes the function that username owns, round( ) function III, even though the parameter types most closely match round( ) function III.
The LO_NOBUFFER flag forces a log flush and a synchronous write in many situations. IBM Informix recommends that you avoid using lightweight I/O with smart large objects smaller than 8080 bytes. (With small objects, do not turn on the LO_NOBUFFER flag.)
The default checkpoint type for 9.30 is fuzzy. In general, it is best to use fuzzy checkpoints.
You can perform a hard checkpoint by issuing an onmode -c command. For large loads of tables through the buffer cache, such as through INSERT or PUT statements, it is better to force a hard checkpoint by using onmode -c to clean the buffer cache than to let the database server perform fuzzy checkpoints on its own. (For details about fuzzy checkpoints, see the Administrator's Guide.)
IBM Informix Storage Manager (ISM) now provides online help.
The end user should not use the NSRADMIN character-based user interface unless instructed to do so by IBM Informix Technical Support. Incorrect use of these tools could result in problems with your ISM system. These tools are undocumented.
The following table summarizes the rules for specifying the location of the XBSA shared-library path for ON-Bar and IBM Informix Storage Manager communications on various platforms.
For 64-bit Solaris computers, the default path for BAR_BSALIB_PATH is /usr/lib/sparcv9/ibsad001.so.
For 32-bit Solaris computers, the default path for BAR_BSALIB_PATH is /usr/lib/ibsad001.so (as described above).
Enterprise Replication (ER) supports replication of the data types supported by Version 7.31 of Informix Dynamic Server. In addition, ER supports replication of smart blob (CLOB and BLOB) columns and opaque user-defined data types. ER does not support replication of ROW or collection data types, including LIST , SET, and MULTISET types. For more information, see the Guide to IBM Informix Enterprise Replication.
In a replication network, replicating data between servers of different versions is possible (allowing you to upgrade database servers in a replication network incrementally, rather than all at once). IBM Informix recommends mixed-version replication as a. transitional strategy only, however, not for long-term operation.
Avoid using the new features until the entire ER network is upgraded. Before converting or reverting servers between versions, follow the documented conversion process.
In a replication network, Dynamic Server Version 9.30 interoperates only with Dynamic Server Version 7.31, Version 9.20, and Version 9.21.
A know problem (PTS 128485) with using 9.30 Enterprise Replication with prior versions of the database server causes the pre-9.3 ER to misidentify itself when connecting to a 9.30 database server. To prevent this malfunction, you must set one of the following environment variables for the 9.30 database server:
CDRSITES_731 cdrID for Version 7.31 database servers
CDRSITES_92x cdrID for Version 9.20 and 9.21 database servers
The cdrID is the unique identifier for the database server in the Options field of the SQLHOSTS file (i = unique_ID). For more information, see the Guide to IBM Informix Enterprise Replication, Version 9.3.
For example, suppose that you have 10 servers whose cdrID values range from 1 thru 10:
If you upgrade database database server cdrID 8 to Version 9.30, you must set the CDRSITES environment variables before bringing the Version 9.3 database server online:
This release of IBM Informix Dynamic Server contains support for the R-tree secondary access method, a subsystem for creating indexes on multidimensional objects. The R-tree secondary access method provides the following features:
If you plan to use the R-tree secondary access method, the Informix R-Tree Secondary Access Method DataBlade module must be registered in your database. This registration normally occurs when you register a dependent DataBlade module; that is, one that can only be registered if the Informix R-Tree Secondary Access Method DataBlade module has been previously registered.
For detailed information on using the R-tree secondary access method and the Informix R-Tree Secondary Access Method DataBlade module, refer to the following documentation:
Currently, the built-in compare( ) routine, which a generic B-tree uses, has the following restrictions:
Although these are existing restrictions, the database server allowed index creation using such routines in previous releases. In release 9.12, additional checks were added to make sure that the compare( ) routine used for a generic B-tree index is not written in SPL and is not variant.
An additional check was added to make sure that built-in functions (such as ABS( ), MOD( ), LENGTH( ), UPPER( ), LOWER( ), and so on) are not used as keys in functional indexes. Those functions are not supported for functional indexes.
Known Problems
A recommendation for performance is to minimize the level of tracing. The trace levels are described by the example properties file in the distribution directory (.jvpprops.template). Another way to improve performance is to use the nondebuggable versions of JDK libraries, the J/Foundation .jar file, and the JDBC driver .jar file while setting the corresponding parameters in the server configuration file.
NOTE: In case of failures, high levels of tracing and debuggable versions of libraries will provide maximum information in identifying the source of the failure.
When a user's database is ANSI-compliant and the environment variable OPTOFC is set, the user might get error -214 if the user closes the database. Error -214 states:
The database content is not damaged.
Client libraries, such as lib/esql/*.so, are no longer included with the database server release; you need the Client SDK bundle to install these libraries. This change in bundling might affect DataBlade modules and applications that rely on these client libraries.
CREATE SYNONYMS from 7.24/7.30 to 9.30 hangs indefinitely (Bug 96374). Informix Dynamic Server interim release versions 7.31.UC3, 7.24.UC9, and 7.30.UC9 have this bug fixed. Upgrade to these interim versions if your 7.x database server creates synonyms for Version 9.30 tables.
If you are loading an opaque data type with the HPL, the import( ) and importbin( ) support functions must reside on the computer where the database server resides.
From the 9.21 release, a new command line utility is available for the HPL, called onpladm, which allows users to create, manage and run jobs for load or unload tables or an entire database. The onpladm documentation is provided in HTML format only, as multiple HTML files within the onpladm/ subdirectory in the same file system as these release notes.
In general, the CD-ROM and hard-copy documentation of the 9.30 release resembles the documentation set of the 9.20 release.
Dropped ManualsThe following manuals which described obsolete utilities have been dropped:
Besides manuals whose titles now include "IBM," the following manuals have new titles for Version 9.30:
The 9.20 manual Creating UDRs in Java has been retitled for 9.30 as the J/Foundation Developer's Guide.
The 9.20 manual Extending Informix Dynamic Server has been retitled for 9.30 as Creating User-Defined Routines and User-Defined Data Types.
The 9.20 DataBlade API Programmer's Manual has been reorganized for 9.30 into two manuals: the DataBlade API Function Reference and the DataBlade API Programmer's Manual.
This section summarizes major changes to manuals since the 9.20 releases. Manuals that are not listed below have essentially the same structure as in the Version 9.20 documentation set.
The Backup and Restore Guide now contains information about both ON-Bar and ontape.
The UNIX Installation Guide has been completely restructured for Version 9.30.
The Enterprise Replication manual has been completely restructured for Version 9.30.
To migrate to Dynamic Server, Version 9.30 from any Informix 9.x database server prior to Version 9.14, you must first upgrade to a 9.14 database server and open each database.
Conversion/reversion to and from Version 9.30 for Enterprise Replication is described in Conversion to 9.30 for Enterprise Replication later in this section.
Conversion from Version 7.31 is supported.
To migrate from any Version 7.x database server prior to 7.2x, you must first upgrade to a 7.3x or 7.24UC1 (or higher) database server and open each database.
When migrating from Universal Server 9.14, Dynamic Server 7.3x, or OnLine Dynamic Server 7.24) to IBM Informix Dynamic Server, Version 9.30, you must first calculate the amount of space that you need for the conversion.
Run ckconvsp.sh to determine if you have enough space in your root chunk to perform an upgrade to Version 9.30.
If you do not have enough space, the following message appears:
The script also informs you how much more space is needed in the root chunk. You can use oncheck -pe rootdbsname to see your current allocation in the root chunk extents.
In some cases, even if the database server conversion is successful, internal conversion of some databases may fail because of insufficient space for system catalog tables.
When you convert or revert an IBM 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 IBM Informix has certified the storage manager for the target database server version and platform. If not, you need to install a certified storage manager before performing backups with ON-Bar.
Before you upgrade to a later version of the database server, save a copy your current sm_versions file, which should be in the $INFORMIXDIR/etc directory. If you are using a different directory as INFORMIXDIR for the new database server, copy sm_versions to the new $INFORMIXDIR/etc directory, or copy sm_versions.std to sm_versions in the new directory, and then edit the sm_versions file with appropriate values before starting the upgrade.
When you upgrade 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.
This section provides some guidelines for upgrading to IBM Informix Dynamic Server, Version 9.30 from Universal Server, Version 9.14, Dynamic Server, Version 7.3x, or OnLine Dynamic Server, Version 7.24UC1 (or higher). For details on the upgrade procedure, see the Migration Guide.
You need to add any additional free space to the system prior to conversion. If the dbspaces are very full, you need to add space before you start the conversion procedure.
Prior to migrating the old system to the new one, make sure that there are no open transactions. Fast recovery would fail when rolling back open transactions during conversion. You can start the Informix Server in quiescient mode on the source side to check against open transactions by putting "-s" in the Startup Parameters when starting the Informix service in Control Panel->Services. For more information on how to close transactions properly before migration, see the Migration Guide.
A shutdown procedure does not guarantee to roll back all open transactions. To guarantee that the old system (9.14, 7.3x, or 7.24UC1 or higher) has no open transactions prior to conversion, the old database server needs to be taken down to quiescent mode. It is not enough to run onmode -yuk. You need to execute the onmode -s command first, followed by onmode -yuk. Wait until onmode -s is completed. It is possible that some users are still active.
Only after proper shutdown can you bring the Version 9.30 database server through the conversion path. Any open transactions in fast recovery during conversion will cause an execution failure in fast recovery.
After a successful conversion, you need to run UPDATE STATISTICS on some of the system catalog tables in your databases. For conversion from a 7.3x or 7.24UC1 or higher database server to IBM Informix Dynamic Server, Version 9.30, run UPDATE STATISTICS on the following system tables in IBM Informix Dynamic Server, Version 9.30:
For conversion from Universal Server 9.14 to IBM Informix Dynamic Server 9.30, run UPDATE STATISTICS on the following system tables in 9.30:
For more information about upgrading to IBM Informix Dynamic Server, Version 9.30, from Universal Server 9.14, Dynamic Server 7.3x, or OnLine Dynamic Server 7.24.UC1 or higher, see the Migration Guide.
This section provides some guidelines for reverting from IBM Informix Dynamic Server, Version 9.30 to Universal Server, Version 9.14, Dynamic Server, Version 7.3x, or OnLine Dynamic Server, Version 7.24.UC1 or higher. For details on the reversion procedure, see the Migration Guide.
You can revert from IBM Informix Dynamic Server, Version 9.30, to Universal Server 9.14, Dynamic Server 7.3x, or OnLine Dynamic Server 7.2 if you have not added any extensions to Version 9.30 of the database server.
When you run BladeManager against a database, you automatically create extensions because BladeManager registers its utility DataBlade module, which adds extensions to the database. If you need to downgrade from Version 9.30 and you have run BladeManager, you must first run BladeManager and specify the following command to remove the BladeManager extensions:
The following restrictions apply to reversion from 9.30 to 9.14, 7.3x, or 7.24:
You cannot revert if you created new data types or routines either explicitly or by registering a different version of a DataBlade module.
To be able to revert, you need to downgrade any DataBlade module back to the version that was registered prior to conversion, and explicitly drop any data types and routines that were created outside of any DataBlade registration. For information on how to use DataBlade modules, see the DataBlade Developers Kit User's Guide and the BladeManager User's Guide.
Before reversion, make sure that the R-tree indexes do not use long identifiers as indexed column names, opclass names, or opclass function names.
Also, make sure that the following disk structures do not use long identifiers: databases (owner and database name length), tblspaces (owner and tblspace name length), dbspaces (owner and dbspace name length), and chunks (path length).
Fragment strategies that existed before conversion to the 9.30 database server cannot be changed by using ALTER TABLE or ALTER INDEX statements.
The following restrictions also apply to reversion from 9.30 to 9.14:
The following restrictions also apply to reversion from 9.30 to 7.3x or 7.24:
After a successful reversion, you need to run UPDATE STATISTICS on some of the system catalog tables in your databases. For reversion from IBM Informix Dynamic Server Version 9.30 to a 7.24 or 7.3x database server, run UPDATE STATISTICS on the following system tables in 7.24 or 7.3x:
For reversion from IBM Informix Dynamic Server Version 9.30 to a 9.14 database server, run UPDATE STATISTICS on the following system tables in 9.14:
When reverting back to a previous version of the server, do not reinitialize the database server by using the -i command-line parameter. If you convert from an older version of the server to a newer version, and if you then decide to revert back to the older version, you will see a message similar to the following:
In the second-to-last line, reinitializing refers to re-starting the database server (sometimes referred to as re-initializing shared memory), not reinitializing the existing root dbspace. Using the -i parameter would re-initialize the root dbspace, which would destroy your databases. Do not use the -i parameter.
For more information about reverting from IBM Informix Dynamic Server Version 9.30 to an older database server, see the Migration Guide.
All the conversion and reversion operations must be performed by user 'informix'.
You can convert only from either Version 7.31 or from Version 9.2x. Please refer to the Migration Guide for information on converting to Version 9.30 for Enterprise Replication.
The following table lists selected capacity limits and system defaults for this release of IBM Informix Dynamic Server.