================================= RELEASE NOTES FOR INFORMIX 7.30.UC8 PRODUCT RELEASE DATE: 11 Mar 1999 ================================= TABLE OF CONTENTS I. OVERVIEW OF RELEASE NOTES II. PRODUCTS, FEATURES, AND ENHANCEMENTS IN THE 7.3 RELEASE Informix Products New Features Features not Available in This Version Documentation Information Year 2000 Issues III. INFORMIX DATABASE SERVER PRODUCTS Limits in Informix Dynamic Server System-Level Parameters Access Capabilities System Defaults On-Monitor Statistics IV. MIGRATION ISSUES 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 Migrating and Reverting with Enterprise Replication Co-existence of Multiple Release Versions V. INFORMIX STORAGE MANAGER INSTALLATION AND CONFIGURATION ISM Setup Procedure on UNIX Database Servers Script 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 Setting the Number of Devices for Target Sessions VI. 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 Replication Manager Notes for the Replication Manager Notes for the Monitor Known Defects in Enterprise Replication VII. ON-BAR INFORMATION FOR RESTARTABLE RESTORE VIII. MACHINE-SPECIFIC INFORMATION FOR UNIX IX. WINDOWS-SPECIFIC INFORMATION FOR NT Installation Requirements User Names Changing the Machine Name Local Logon Permissions 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 Special Conditions when Primary Domain Controller Not Available Using HPL on Windows NT (Replacing the start_onpload Procedure) HPL Configuration Issues 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 X. KNOWN DEFECTS in 7.30.UC1 (UNIX) WITH WORKAROUNDS XI. KNOWN DEFECTS in 7.30.TC1 (NT) WITH WORKAROUNDS XII. FIXED CUSTOMER-REPORTED BUGS (UNIX) XIII. OPEN CUSTOMER-REPORTED BUGS (UNIX) XIV. FIXED CUSTOMER-REPORTED BUGS (WINDOWS NT) XV. OPEN CUSTOMER-REPORTED BUGS (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. 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 New Features ============ 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 -------------------------- Informix Enterprise Command Center provides the ability to manage your entire database environment (UNIX & NT) from a single console. The Informix Storage Manager (ISM), shipped with this database server, eliminates the need to purchase a third-party solution to use ON-Bar. 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 ----------------------------------- 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 Replication Manager 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 Using the New Subquery Processing Algorithms -------------------------------------------- IDS 7.3 has many optimizer enhancements that will improve the performance of queries involving subqueries. One of these enhancements is subquery flattening: turning subqueries into join queries. Although flattening helps boost the performance of the majority cases, some rare instances occur where flattening a query may negatively affect the query performance. If customers encounter one of these rare regressions, some performance tuning will not only solve the problem but it will even improve the performance. The following query is an example: select orders.order_number from orders where orders.supplier_number in ( select supplier_number from suppliers where supplier_number between 0 and 600000 and supplier_zip_code = 94045 and supplier_type = 'warehouse' ) ; Assume that an index is on the supplier_type of the supplier table and that the filter "supplier_type = 'warehouse'" is a very selective filter. The traditional subquery processing techniques can take advantage of the supplier_type index. Once the query is flattened, the index on the supplier_type will not be useful. Therefore, in some isolated cases such as these, the flattened query may take more time than the previous version. The solution to this problem is very simple. Some minor performance tuning to take advantage of the new IDS optimization techniques will improve the performance even further. This example query is converted into a special join query by the database server during query execution. Adding an index on the columns (supplier_type, supplier_zip_code, supplier_number) will allow the server to use all the filters on suppliers. The resultant nested loop join will complete faster than the original query both in first-row performance and in total query execution time. Features Not Available in This Version (7.30.UC1) =================================================== The following features are currently not supported in this release of Informix Dynamic Server 7.30: Please review the information below about specific features and known defects for more details. Please refer to machine notes for HP & Sequent specific issues (in release/en_us/0333/IDS_7.3). The archive checker tool for ontape and ON-Bar is not documented or supported for customers. Only Informix technical support or consultants can use it. Documentation Information ========================= Please read the documentation notes for the product manuals. They contain further information about modified features. Year 2000 Issues ================ The present default for the DBCentury environment variable is "current." If you want the closest century (such as 2000), set DBCentury to "closest." III. 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 IV. MIGRATION ISSUES Conversion and Reversion ------------------------ The 7.3 Beta, 7.30.UC1, and 7.30.TC1 releases support automatic data conversion from previous versions to 7.3 INFORMIX versions, as well as automatic data reversion from 7.3 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. For the complete list of reserved words, see the "Informix Guide to SQL: Syntax." 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.3 to 7.24 or Earlier (ALTER TABLE) --------------------------------------------------- If your database contains tables with in-place ALTER TABLE statements, you must run a test UPDATE statement on these tables before you revert to 7.24 or earlier. 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. 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 Co-existence of Multiple Release Versions --------------------------------------------------- Informix Dynamic Server, Version 7.3 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. V. INFORMIX STORAGE MANAGER INSTALLATION AND CONFIGURATION ========================================================== ISM Setup Procedure on UNIX Database Servers ============================================ 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 # update storage manager version in sysutils echo "1|1.0.1|ism|1|" >> $INFORMIXDIR/etc/sm_versions userid informix dbaccess sysutils - < + 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 . b) Label the device: Select the device and select "Label" from the "Volume" menu. Alternatively, type + L. Select the pool to which the device should belong (ISMData for dbspaces, ISMLogs for logical logs). Set the volume number and click . c) Mount the device: Select the device and select "Mount" from the "Volume" menu. Alternatively, type + 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. The NSRADMIN Utility ==================== NSRADMIN and the NSRADMIN character-based user interface are not intended for use by the end user unless instructed to do so by Informix Technical Support. Incorrect use of these tools could result in problems with your ISM system. As such, 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. 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. Setting the Number of Devices for Target Sessions ======================================================= Each ISM device has a "target sessions" attribute associated with it. This attribute sets the number of save streams that can be managed by the device and multiplexed to a volume. Consider, for example, two devices belonging to the ISMData pool. New devices have a default target sessions value of 4. This means that the first four of a set of parallel dbspace backups will go to the first device. To allow both devices to operate in parallel during the dbspace backup, we need to change the target sessions attribute to 1. This will cause each new backup stream to select the device with the fewest active streams. The value of the target sessions attribute cannot be seen or set by using the ISM GUI. This value, for each created device, is set by default to 4 (and it is stored in the 'nsr.res' file). If this value is undesirable, for example in installations with more than one tape drive assigned to the ISMData pool, you can change the value by using the "nsradmin" program (either on Unix, or on NT) as in the following sample session: ------------------------------------------------------------------------- C:\>nsradmin -s crete NetWorker administration program. Use the "help" command for help. nsradmin> show name; volume id; target sessions nsradmin> print name:"D:\optical\1" name: "d:\optical\1"; target sessions: 4; volume id: 26407; nsradmin> update volume id: 26407; target sessions: 1 target sessions: 1; volume id: 26407; Update? y updated resource id 87.0.39.1.157.66.235.52.137.69.101.68(27) nsradmin> quit C:\> --------------------------------------------------------------------------- In the given session: - 'crete' is the name of the ISM server - 'D:\optical\1' is the device name whose target sessions value you want to change. Include is double quotes, and escape the backslashes, as shown. - In the 'update' command, give the 'volume id' number returned by the 'print' command. VI. Enterprise Replication Information ====================================== Restrictions ------------ 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 Configuration with Informix Enterprise Command Center ===================================================== This sections describes how to configure an NT system to use the Replication Manager (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. IECC must be installed on your NT system. You should use the "typical" install to ensure that the client configuration piece gets installed. 2. Start up IECC. Expand the Informix Neighborhood folder. Select the Control Panel. Double-click the Network icon on the right side of the screen, this should invoke the client configuration dialog. 3. The machine name field on the Shared Servers page should be the name of the machine on which you want the registry entries created. It is best to have this be the local machine (where you have installed IECC). To add a db server entry: ------------------------ 1) Go to the Servers page and click the Add button. 2) 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. 3) Enter the database server name and click Next. 4) Click Next again. 5) Fill out the service name and select a network protocol and click Finish. Now you need to add a corresponding server group entry: ------------------------------------------------------ 1) Go to the Server Groups page and click the New Group... button. 2) Enter the that you chose in step 7 above. 3) Check the 'Use group for replication box.' 4) Edit the 'Replication identifier' value to be the server group id. This is in the INFORMIXSQLHOSTS file. 5) Click OK. 6) Select the new group that you just created and click the Add Server button. The server you created above should appear in the dialog box. Select it and click OK. When you have added all the database servers and database server groups you need to click the OK button at the bottom of the dialog. You will get a warning about overwriting the SQLHOSTS registry entries on the machine you specified. Click OK. Now you should be able to run the Replication Manager from IECC and connect to the servers that you just added to the SQLHOSTS registry. Configuration without Informix Enterprise Command Center ======================================================== This section describes an alternate way to configure an NT system to use the Enterprise Replication Manager (ERM) to administer your Enterprise Replication system. If you do not have IECC available, or have difficulty configuring your NT system for use with the ERM using the IECC client config module, you can set up the majority of the configuration using Setnet32, as follows. 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=" (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=." To update the NT registry: ------------------------- 1. After applying the changes you make in Setnet32, run regedt32. 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 | | | --- | | HOST:REG_SZ:- | | OPTIONS:REG_SZ:i= | | PROTOCOL:REG_SZ:group | | SERVICE:REG_SZ:- | | | --- | | --- HOST:REG_SZ: OPTIONS:REG_SZ:g= PROTOCOL:REG_SZ: SERVICE:REG_SZ: Using regedt32 to Configure Sqlhosts ==================================== Launch regedt32. (choose Run from the Start menu and type regedt32. Click OK). Find the window titled HKEY_LOCAL_MACHINE on the local machine. Expand the SOFTWARE->Informix key. If the sqlhosts key exists, select it. If not, select the Informix key and choose Add Key from the Edit menu. Type in SQLHOSTS in the Key name field, leave the class field blank, and click the OK button. Select the newly created SQLHOSTS key. To add the server key: --------------------- 1. Choose Add Key from the Edit menu. Type in the server name in the Key Name field, leave the Class field blank, and click the OK button. 2. Select the newly created server key. 3. Choose Add Value from the Edit menu. Type in HOST for the value name, leave the Data Type as REG_SZ, click OK. Enter the host machine name in the string entry field that pops up. 4. Add Value OPTIONS, using g= as the string. 5. Add Value PROTOCOL, using onsoctcp as the string. 6. Add Value SERVICE, using the service name for this server as the string. To add the server group key: --------------------------- 1. Select the SQLHOSTS key. 2. Choose Add Key from the Edit menu. Type in the server group name in the Key Name field, leave the Class field blank, and click the OK button. 3. Select the newly created server group key. 4. Add Value HOST, using - as the string (yes, just the character "-"). 5. Add Value OPTIONS, using i= as the string. 6. Add Value PROTOCOL, using group as the sting. 7. Add Value SERVICE, using - as the string. 8. Choose Add Key from the Edit Menu. Use the server name as the key name. Configuration with the SQLHOSTS Editor ====================================== The sqlhosts editor allows you to edit the sqlhosts information in your NT registry as if it were a UNIX sqlhosts file. The sqlhosts editor has the functions of a basic text editor (open, save, print, cut, etc...), plus the ability to read and write a sqlhosts file to the NT registry. If you already have a UNIX sqlhosts file, you can export it to the NT registry using the sqlhosts editor by opening it as a text file in the sqlhosts editor, and exporting it to your NT registry. The sqlhosts editor can be found in the %INFORMIXDIR%\demo directory on the NT machine and is called ershed.exe. Host Information ================ After configuring the registry using IECC, you need to set up some host information using Setnet32. If you launch Setnet32 and select the Environment tab, you should see all the environment variables relevant to Informix. In order for Replication Manager to connect to servers correctly, the INFORMIXDIR and INFORMIXSERVER variables must be set. If the INFORMIXSQLHOSTS variable is not set, the local machine name is used as the default value. Also, you have to specify login information for the host machines where the servers are running. This is done under the Host Information tab. The User Name must be informix and the Password Option must be Password, with the correct password for informix account on the specified host entered in the Password field. These things have to be set up for ESQL/C to work on remote machines. The ER manager now uses ESQL/C to get information' from the database server. Troubleshooting the Enterprise Replication Manager =================================================== There are several things that need to be configured on the NT machine before the Replication Manager can successfully connect to database servers to administer Enterprise Replication. Here is a brief description of these things: * 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 Replication Manager 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 (see Figure 2). 2. Type the host machine name in the Current Host field. The Replication Manager 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 You can use Setnet32 to set up Host Information, just as was described for NT servers. o You can 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 contain the client machine 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 put the client machine name in it. Error -931 ---------- The services that the servers are set up to use must be put into 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 IECC was installed. To set the variable, launch Setnet32 and select the Environment tab. Find INFORMIXDIR in the list of variables and select it. Type the path name in the entry box and then click the Set button. Click the Apply button. General Notes for the Enterprise Replication Manager ==================================================== 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 to the left. If you have multiple objects selected and some are modifiable and some are not, the pencil is grayed out. If the field is not modifiable, the pencil does not display. 2) You can launch the ER Monitor from the Replication Manager by choosing Monitor Server from the Server menu. 3) 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. 4) Resetting the locale does not take effect immediately; you must restart the Replication Manager for it to take effect. Notes for the Monitor ===================== The Enterprise Replication Manager includes a Monitor executable for monitoring statistics and ongoing status of your replication system. Following are the release notes for the Monitor program. 1) After you select one of the following menu items in the ER Monitor, a dialog box might take up to 20 seconds to appear: Monitor->Send Queue Monitor->Commit Time Monitor->Transactions Monitor->Connection 2) Sometimes when the replication system is being actively configured the onsnmp output might not be correct. The ER Monitor uses onsnmp to get its statistics, so you may see some inconsistencies. 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." 89464 Progress table is not always maintained consistently with current state of replicate and group. This can be seen when using the Enterprise Replication Monitor. W/A: No workaround. 90004 In a mixed 7.2x and 7.30 environment, control operations on the 7.2x server causes subsequent transactions to not replicate. W/A: In a mixed version environment, perform your control operations (e.g., define replicate) on the 7.30 server. 90006 Blob columns do not get replicated when an update operation on a row causes the row that was not previously replicated to qualify for replication. W/A: Delete and re-insert the row so that it will be replicated. VII. ON-Bar Information for 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." VIII. Machine-Specific Information for UNIX =========================================== For information about machine-specific limits or procedures, see the individual machine notes in the release/en_us/0333/IDS_7.3 file. IX. Windows-Specific Information for NT ======================================= Information About Installating and Using the Database Server on NT ================================================================== Installation Requirements ------------------------- The database server was certified on Windows NT 4.00 with service pack 3 installed, and on Windows NT 4.0 Enterprise Edition with no service packs. The database server requires service pack 3 to run successfully on Windows NT 4.00. If your system does not contain service pack 3 or greater on Windows NT 4.00, you should install service pack 3 before running the database server. Service packs in addition to those required by our software should not cause any problems, because Microsoft defines service packs as backward compatible. User Names ---------- User names that connect to the database server can be a maximum of eight characters long and are case-sensitive. Changing the Machine Name ------------------------- Users should not change the name of the machine after the Informix Dynamic Server is installed on a machine. If this has to be done, the Informix Dynamic Server needs to be uninstalled and installed again. Logon Locally Permissions ------------------------- To connect to Informix Dynamic Server, you should have the "Logon Locally" right. User Manager, a Windows NT Administrator Tool, can assign this right. A Windows NT workstation automatically assigns this right to new users. On a Windows NT server, the Administrator needs to assign this right explicitly. Use of Multibyte Characters --------------------------- Do not use multibyte characters for user names, machine names, or domain names. Such multibyte names are not supported. The GLS8BITFSYS environment variable for file names is not supported. Also, do not explicitly use multibyte names when stating object names. That is, do not add multibyte user names set off by single quotation marks in a statement similar to the following one: CREATE INDEX 'dba_one'.newidx ON newtable (intcol) For example, in this statement, you would not use a multibyte user name in place of dba_one. GLS Settings ------------ Informix Dynamic Server 7.22 and later releases support GLS locales that are based on codesets that contain 1-byte, 2-byte, 3-byte, or 4-byte characters. Informix clients can use their native codesets when they connect to Informix Dynamic Server. For more information on GLS settings, refer to the "Informix Guide to GLS Functionality." Environment Variables --------------------- Because Informix Dynamic Server for Windows NT runs as a service, it does not access environment variables set for the logged-on user. All environment variables that are passed to Dynamic Server are stored in the Windows NT Registry under the following key: HKEY_LOCAL_MACHINE\SOFTWARE\Informix\OnLine\<%INFORMIXSERVER%>\Environment To add your own environment variables, create new values of type REG_SZ under this key. SHMBASE Setting for Large Shared Memory Configurations ------------------------------------------------------- The default load address for a dynamic link library (DLL) on Windows NT is 0x10000000. Informix Dynamic server uses a default shared memory base address (SHMBASE) of 0x0C000000. This means that shared memory in the engine can grow up to 0x10000000, which corresponds to an additional 64 MB. If the Dynamic Server shared memory at startup is more than or close to 64 MB, a clash of addresses is possible. In this case, set the SHMBASE value in ONCONFIG to a higher value, for example 0x20000000. To find the Dynamic Server shared memory size, run "onstat -g seg" and view the total memory. NET VPs ------- Always use NET VPs to run the Poll Threads; that is, the NETTYPE parameter in the ONCONFIG file should specify NET. Dynamic Server ignores any CPU VP type in the NETTYPE parameter and uses only NET VPs for the Poll Threads. Dynamic Server always creates one Poll Thread regardless of the number specified in the NETTYPE parameter in ONCONFIG. Problem with More than Twelve Informix Server Services ------------------------------------------------------ Description: Following error is encountered if more than 12 Informix server services are started on a host. "user32.dll initialization failed." Cause: The system has run out of memory to create a new desktop heap for the service being started. Microsoft has documented this as a problem in Windows NT 4.0 operating System. Workaround: Please refer to the following URL http://premium.microsoft.com/support/ntserver/serviceware/06902512.asp Stores7 Demonstration Database Batch File ----------------------------------------- The batch file to create the stores7 demo database (dbaccessdemo7.bat) has been updated to allow the logging mode, database name, and destination dbspace to be specified on the command line. Usage: dbaccessdemo7 [-log] [-dbspace ] [] DB-Access Default Editor ----------------------- When you choose Query Language->Use Editor in DBACCESS.EXE, Notepad is the default editor. If you choose to use another editor, it should be a text editor. EDIT.COM will not work. Informix Dynamic Server Running With Clearcase Software -------------------------------------------------------- Problems might occur if Informix Dynamic Server is run along with Clearcase. This can cause errors in shared memory allocation during run-time. System Commands In Stored Procedures ------------------------------------ To execute system commands in stored procedures, logon to the database server with your password. If you do not supply a password during logon, the database server returns error 640. The "informix" user must have the following Advanced User Rights: * Act as part of the operating system * Increase quotas * Replace a process level token System commands should contain the absolute path of the script or the executable that needs to be executed; for example: system "c:\temp\test.exe" If you wish to redirect the output of the command to files, the command line should include the command shell; for example: system "cmd.exe /C c:\temp\test.exe > c:\temp\stdout.out c:\temp\stderr.out" When you include cmd.exe in the system command, you must specify the /C option. Without this option, the command shell will not exit, which causes the server to wait indefinitely. The database server will wait for the outcome of the execution of a system command. Pay close attention to system commands defined in stored procedures. The client application will hang if the system command never completes or never returns. Do not use the system command to execute interactive commands. Special Conditions when the Primary Domain Controller is Unavailable -------------------------------------------------------------------- The following information might apply to you if you upgraded from an earlier version of the database server. The 7.30 install always sets REGMACHINE to point to the local machine. Earlier versions sometimes set REGMACHINE (and INFORMIXSQLHOSTS) to the Primary Domain Controller for the domain when a domain install was performed. When Informix Dynamic Server is installed on a Backup Domain Controller (BDC) and the Primary Domain Controller (PDC) is unavailable, the engine will automatically switch to the BDC for dealing with Windows NT group and user accounts for authentication. This includes determining whether a user belongs to a group (Informix-Admin, for instance). In this situation, the Administrator must perform the following steps in order to support this functionality: 1. Dynamic Server must be shut down. 2. In the registry under HKEY_LOCAL_MACHINE\Software\Informix\<%INFORMIXSERVER%>\Environment change the values of REGMACHINE and INFORMIXSQLHOSTS to the name of the local machine (BDC), preceded with 2 back-slashes. 3. Copy the Security key located under HKEY_LOCAL_MACHINE\Software\Informix\<%INFORMIXSERVER%>\CurrentVersion from the PDC to the BDC, including all subkeys. 4. In %INFORMIXDIR%, edit the file setenv.cmd and change the INFORMIXSQLHOSTS value to the name of BDC. The PDC can now be shut down and Dynamic Server can be restarted on the BDC. There will be a several-second delay when Dynamic Server and any of the command line utilities, such as onstat, onmode, or dbaccess are started, while they try to determine that the PDC is down and switch to the BDC. After the initial delay, the performance will be the same as when the PDC was running. When the PDC is not available, the following might also have to be done, if the server is not running on a BDC machine. 1. Shut down the database server. 2. Set the AUTHENTICATION_MACHINE environment variable for the the server in the registry to point to a BDC machine in the same domain. For example, under HKEY_LOCAL_MACHINE\Software\Informix\OnLine\%INFORMIXSERVER%\Environment create a new value called AUTHENTICATION_SERVER and set it to the string "\DOM_BDC" if DOM_BDC is the name of a BDC for the domain. 3. Restart the database server. When the local machine is a BDC, setting AUTHENTICATION_SERVER is not necessary. Information Related to the High-Performance Loader ================================================== Using the High-Performance Loader on Windows NT ----------------------------------------------- If you intend to use the IECC interface to create and run HPL jobs for loading or unloading data, you should read the following instructions carefully. A stored procedure named start_onpload() is defined in the sysmaster database. The database administrator should replace the definition of the start_onpload() procedure in %INFORMIXDIR%/etc/sysmaster.sql by the definition included below before an Informix Dynamic Server instance is initialized for the first time. If a server instance has already been initialized without the change in sysmaster.sql as would be the case for the first server instance if it was initialized at install time, the default start_onpload() stored procedure in sysmaster database for the instance has to be dropped and recreated. It does not matter when this procedure is run as long as it is done before the first attempt to execute the procedure from client programs including the IECC interface to administer and run High-Performance Loader jobs. It is recommended that the stored procedure definition in sysmaster.sql be replaced by the new definition below to avoid having to drop and recreate the procedure for every new instance of the server. To drop the start_onpload procedure, execute the following as user "informix:" {==================================================================} database sysmaster; drop procedure start_onpload; {==================================================================} The new definition of the procedure can be created by executing the following SQL script as user "informix:" {==================================================================} database sysmaster; { Create stored procedure informix.start_onpload } create procedure informix.start_onpload(args char(200)) returning int; define command char(255); -- build command string here define rtnsql int; -- place holder for exception sqlcode setting define rtnisam int; -- isam error code. Should be onpload exit status { If onpload not found, depend on %PATH% } on exception in (-668) set rtnsql, rtnisam if rtnisam = -2 then let command = 'cmd /c onpload.exe ' || args; system (command); return 0; end if return rtnisam; end exception let command = 'cmd /c %INFORMIXDIR%\bin\onpload.exe ' || args; system (command); return 0; end procedure; grant execute on informix.start_onpload to public; {==================================================================} For the stored procedure being executed on remote IDS instances, follow the same steps to enable normal execution of the procedure. If the above steps are not carried out, an error will be logged in the server message log file. High-Performance Loader Configuration ------------------------------------- In the HPL configuration file specified by environment variable PLCONFIG: AIOBUFFERS - (Different from documentation in "Guide to the High-Performance Loader") 'default value' Maximum of(8,CONVERTTHREADS) 'recommended value Maximum of(8,2*CONVERTTHREADS) 'range of values' Integer value >= 8 Functionality ------------- Pipes are not supported in this release. This includes the following usage: onpload -fp and onpload -fa (where the device array includes device type "PIPE") Custom drivers -------------- Custom drivers are not supported in this release. Information Related to Enterprise Replication ============================================= REGCDRCL.EXE Utility for Writing Command Line utilities using CDRAPI -------------------------------------------------------------------- This command-line interface registers the environment required for running the command-line utilities developed using the CDRAPI. This utility sets up the environment variable in the section HKEY_CURRENT_USER on Local Machine, under \Software\Informix key. This utility creates \Environment and \netrc sub keys. It offers three modes to register the environments. a) File Mode. Description: Use plain text file in the following format. = Syntax: regcdrcl -f b) One Set Mode. Description: Sets one environment specified on the command line. Syntax: regcdrcl -i c) Silent Mode: Description: Sets only minimum environment variables required for running the command-line utilities developed using CDRAPI. Syntax: regcdrcl -s Information Related to Ontape ============================= Specifying LTAPEDEV and TAPEDEV When Using Ontape ------------------------------------------------- ON-Bar, which is functionally richer than ontape, is the primary archive and restore tool for Informix Dynamic Server 7.3. Because ON-Bar does not use TAPEDEV or LTAPEDEV parameters in ONCONFIG, there is no GUI interface to set values for these parameters. Users who still wish to use ontape should manually change these values after installation. Terminating Ontape ------------------ If you use the ontape utility for a continuous logical-log backup, you can use Control-C to stop the backup. If ontape does not terminate after displaying "Interrupt Received", run "onmode -l" and wait for a few seconds. Ontape Backups to Compressed Files on NTFS Drives ---------------------------------------------------- The Problem: A restore from an ontape backup file fails to start the engine when the backup tape file (pointed to by the TAPEDEV parameter) resides on a compressed NTFS file system. This problem occurs only if the file has more than 4 GB of data. Workaround: Use tape drives to back up a large amount of compressed data. If you use ontape to back up data to files, use uncompressed files only. Information Related to Optical Libraries ======================================== Clash of Optical Library DLL with Engine's Shared Memory -------------------------------------------------------- Informix Dynamic Server might fail to initialize the shared memory with the following error in the database server log file: 15:34:29 shmat: [EINVAL][22]: shared memory base address illegal 15:34:29 using 0xc000000, needs 0x10020000 15:34:29 mt_shm_init: can't create resident segment This error can happen if the STAGEBLOB and OPTICAL_LIB_PATH are set. This error occurs because Windows NT loads the optical DLL in the server address space which clashes with the shared memory address. You can rebase the DLL using the "rebase" utility supplied with the Microsoft Platform SDK. The preferred address to rebase the DLL is between 0x02000000 and 0x03000000. Alternatively, you can change the SHMBASE to a higher value, but this might reduce the size of the shared memory that the server uses. You can rebase any DLL that might clash with the shared memory address space as well as the optical DLL. Information Related to Microsoft Clusters ========================================= Informix Storage Manager and Microsoft Clusters ------------------------------------------------ After the Informix Dynamic Server fails over from node1 to node2, users cannot restore from the backup made on node1, and vice versa. In summary, backups made using On-Bar and Informix Storage Manager on any node can be used to restore only on the same node. Viewing Error Messages from Cluster Service ------------------------------------------- Informix Database Server Cluster Resource logs error messages in the default cluster debugging log file. To enable the cluster debugging log: * Set the CLUSTERLOG environment variable to a complete path identifying the location of the log file. The default name for the log file is cluster.log and the default location is the cluster directory. * The maximum size of the log file can be set in the ClusterLogSize entry in the cluster database under HKEY_LOCAL_MACHINE\Cluster. The size is a DWORD value that indicates the number of megabytes that the log file can hold. If this value is set to zero, logging is disabled. Use of Named Pipe Protocol on Informix Dynamic Server on a Cluster ------------------------------------------------------------------ In a cluster, the host name in the SQLHOSTS entry for the Named Pipe protocol should be the name of the computer on the node. If you use the TCP-SOCKETS protocol, use the cluster name instead as the host name in the SQLHOSTS entry. (Use setnet32 to update the host name.) X. KNOWN DEFECTS in 7.30.UC1 (UNIX) WITH WORKAROUNDS ========================================================= Feature Request --------------- 83394 DUE TO 7.3 ONLINE PRODUCT NAME CHANGE, ONSTAT'S OUTPUT WILL DIFFER. In 7.30, onstat - returns "Informix Dynamic Server." Under 7.2x, onstat - returns "INFORMIX-Online." Some scripts failed because of this database server name change. W/A: Be sure to update your scripts for on* utilities such as onstat if they use the database server name. (The 7.3 database server was renamed to Informix Dynamic Server.) Bugs which remain in Informix Dynamic Server - OnSNMP ------------------------------------------------------ 89630 ONSNMP/NT TIME ENTRIES FOR SOME MIB TABLES SHOW INCORRECT YEAR; ER GUI SHOWS "DATA NOT AVAILABLE" AS A RESULT. Invalid times in the ER Monitor are shown as "Data not available." This problem only exists on NT. W/A: No workaround available. 89461 SNMP TABLES CAN'T BE QUERIED AFTER REPLICATE/GROUPS ARE DELETED WITH ER TOOLS. Using the ER Manager to delete replicate/groups will cause the ER Monitor to time out. W/A: The server must be taken offline and then back online before the ER Monitor will work again. Bugs which remain in Informix Dynamic Server - SQL Engine Area -------------------------------------------------------------- None. Bugs which remain in Informix Dynamic Server - CONVERSION/REVERSION ------------------------------------------------------------------- None. Bugs which remain in Informix Dynamic Server - Admin Utilities -------------------------------------------------------------- 86344 ONBAR -R -N LEAVES DBSPACE DOWN AND CHUNKS INCONSISTENT IF DBSPACE WAS DROPPED. If a dbspace has been dropped, onbar -r and onbar -r -t