It's been too long and I have a lot of catch up to do... Let's start with the latest version of IBM Informix Dynamic Server. It's 11.50.xC5, the latest fixpack in the 11.50 family, available since the end of July 2009.
Keeping up with what can now be considered as usual, this fixpack brings important features. Let's list them:
- High availability
- Configuring RS Secondary Server Latency for Disaster Recovery
This allows the system administrator to configure a delay of time between the primary server and a RSS (remote secondary server). This means that the secondary server will lag behind the primary server for the specified amount of time.
Associated to this we have the ability to stop and restart the roll forward of the logical logs on the secondary server.
Note that for integrity purposes the primary will still send the logical logs as soon as possible. It's up to the secondary to hold the logs without applying them. This means that if your primary server disappears you're still able to recover up to the most current image of the primary server.
The configuration of this feature involves three new parameters: DELAY_APPLY, STOP_APPLY and LOG_STAGING_DIR.
DELAY_APPLY can be used to configure a delay between primary and secondary.
STOP_APPLY can be used to specify a specific time to stop applying logs
LOG_STAGING_DIR is a secondary locally writable directory where the server will keep the logs before applying them.
All this can be dinamically changed with onmode -wf/-wm command
- Forcing the Database Server to Shut Down
Two new utilities were made available to handle situations where things went wrong... If for example your IDS server is hang, or when it was not shutdwon properly, you may have trouble to stop it and/or restart it (it can leave shared memory segments behind for example).
The new utilities are onclean and onshutdown. Onclean can be used to force the IDS server down (it can kill the engine processes) and it will try to clean all the shared memory segments that were left behind. Without options it's use is to remove the sahred memory segments of a server that was already stopped. With "-k" it will kill the server and then make sure the shared memory is freed.
Onshutdown is used to attempt to kill the server using the normal "onmode -ky", but if it fails it calls onclean.
This is not a big feature, but it can be handy for scripting and for new users.
- Enhanced Support for Multibyte Character Strings
By using a new environment variable, SQL_LOGICAL_CHAR, the server will interpret the size of character fields in terms of characters instead of bytes as usual
- New default for the INFORMIXTERM environment variable for terminal set up on UNIX
Simply a new default for INFORMIXTERM variable
- onconfig Portal: Configuration Parameters Listed by Functional Categories
- onstat Portal: onstat Commands Listed by Functional Categories
These two are important documentation enhancements available at IDS Infocenter
- Enhancements to the Enterprise Replication plug-in for the OpenAdmin Tool for IDS
Open Admin Tool keeps being expanded and improved. And free...
- Enterprise Replication
- Enterprise Replication Stops if Memory Allocation Fails
Better handling of low memory conditions. Replication will stop and raise an alarm. After solving the memory issues just run cdr start
- Notification of an Incorrect Log Position When Enterprise Replication Restarts
A new alarm is fired if the replay position is invalid (too old or later than current log position)
- Workaround: Reclaiming Space from Enterprise Replication Paging Smart Large Objects
Later versions could allocate space for replication of SLOBs that was not necessary. This space can now be reclaim.
- Improving the Performance of Consistency Checking with an Index
A new shadow column can be added to replicated tables. This column (ifx_replcheck) can be used in a composite index with the primary key in order to speed up the checking of replicates.
- Specifying the Range of Data Sync Threads to Apply Replicated Transactions
An ONCONFIG parameter can control the number of replication threads
These features are presented in the Warehousing category, but I personally think they can be used in any kind of environment
- Loading Data into a Warehouse with the MERGE Statement
This IDS version introduces support for the MERGE sql statement. We specify a destination table, a source table/query and a match condition. If the match condition is true than the row in the destination table is UPDATEd with the data from the source table/query. If the match condition is false a new row is inserted in the destination table
- Retrieving Data by Using Hierarchical Queries
Introduces support for the CONNECT BY sql construct. This allows the use of the so called hierarchical queries. Please note that the most efficient way to handle this would be using the node datablade. But for compatibility reasons IBM decided to introduce this feature. It's a nice feature for application portability