Highlights: Informix Licensing Modernization
Welcome to the International Informix Users Group (IIUG) Insider! Designed for IIUG members and Informix user group leaders, this publication contains timely and relevant information for the Informix community.
Table of Contents
Editorial
Once more you can rely on the Insider for technical content and new feature requests, Informix forum threads and the Informix YouTube Tech Talks. We are also working with IBM and HCL to supply up to date news and information. We thank all our readers who are reaching to us supplying content and feedback.
Remember the Insider is, and always has been, a two way street.
Gary Ben-Israel
IIUG Insider Editor
IIUG Board of Directors
gary@iiug.org
Highlights
Informix Licensing Modernization
Many organizations still using IBM Informix legacy socket-based licensing have modernized their infrastructure over the years by moving to newer hardware platforms with significantly higher core densities and virtualized environments. In many cases, the original licensing assumptions were never re-evaluated against current deployment realities. This can create potential compliance and audit exposure if actual compute capacity no longer aligns with historical socket-based entitlements. As highlighted in the article, proactively reviewing these environments can help customers better align licensing with modern infrastructure while reducing compliance risk and avoiding unexpected licensing gaps during audits.
For more information, read the blog posted on the community pages titled “From Sockets to VPCs: Modernizing Informix Licensing for Today’s Infrastructure”:
Anup Nair
Principal Technical Product Manager, IBM-Informix
Conference Corner
IBM TechXchange Conference 2026
October 26 – 29, 2026
Atlanta, Georgia, USA
NOTE: You will be taken to the IBM sign in page to register and submit your session for this event. You must have an IBM account for this event. There is a link on the page to create your IBM account.
Stay tuned for future updates!
Invite colleagues to join us at IBM TechXchange 2026!
#IIUG #IBMTechXchange #Informix
Rhonda Hackenburg
IIUG Board
Informix Corner
ONCONFIG – STRING_TRUNCATE_ERROR
A new ONCONFIG parameter was introduced in version 15.0.1.0. This parameter returns an error if an attempt is made to insert a character string into a field of type CHAR, VARCHAR, or LVARCHAR where the content would be truncated during the insertion.
(Note: Previously insert/update truncation could be detected only in host language code using an indicator variable.)
Truncation without warning or notification is particularly critical when it occurs in an encrypted column. Once the data has been truncated, the record becomes so “securely encrypted” that even users possessing the correct key can no longer read it:
Example:
create table users_passwd (
who char(18),
passwd char(24)
;
SET ENCRYPTION PASSWORD ‘Test_in_V15.0.1’;
insert into users_passwd values (‘kalu’,encrypt_aes(‘informix42’));
select who, passwd, decrypt_char(passwd) as password
from users_passwd;
who passwd password
26012: The internal base64 decoding function failed.
Error in line 24
Near character position 15
If the environment variable is set to prevent truncation, the command looks like this:
onmode -wf STRING_TRUNCATE_ERROR=1
Value for STRING_TRUNCATE_ERROR (1) was saved in config file.
Value of STRING_TRUNCATE_ERROR has been changed to 1.
insert into users_passwd values (‘kalu’,encrypt_aes(‘informix42’));
1279: Value exceeds string column length.
Comparing the content with and without truncation makes it clear where the error lies:
select encrypt_aes(‘informix42’), encrypt_aes(‘informix42’)::char(24)
from systables where tabid = 1; (constant) (constant)
0Mc7/AAAAEAKaFxXN1pCc9LjS+93UxhStgiZXk/Jl5+ 0LtH/AAAAEAVmAsrI4CP4hq+
Note:
Currently, this check applies only to CHAR, VARCHAR, NCHAR, and NVARCHAR. For the LVARCHAR data type, no error is currently reported. This defect will be resolved in a future release. (The omission is still present in version 15.0.1.7.)
Tech Tip: Environment – STRING_TRUNCATE_ERROR
The STRING_TRUNCATE_ERROR parameter can also be set as a session environment variable. However, the values 0 and 1—as used in the $ONCONFIG file—are not valid here; instead, use the following:
To enable:
set environment STRING_TRUNCATE_ERROR ‘error’;
To disable:
set environment STRING_TRUNCATE_ERROR ‘ignore’;
Thanks to Gerd Kaluzinski for sharing articles with the Insider.
Art S. Kagel, President and Principal Consultant
ASK Database Management
www.askdbmgt.com
Blog: http://informix-myview.blogspot.com/
Disclaimer: Please keep in mind that my own opinions are my own opinions and do not reflect on the IIUG, nor any other organization with which I am associated either explicitly, implicitly, or by inference. Neither do those opinions reflect those of other individuals affiliated with any entity with which I am affiliated nor those of the entities themselves.
DBA Trick: Parsing the Log File
One of the first steps in troubleshooting a problem in Informix (and any database/system, really) is to look at the log files. The problem with Informix’s online.log file (specified in ${ONCONFIG} by the MSGPATH parameter) is that it’s a very “chatty” log. The overwhelming bulk of what goes in there is usually not interesting or helpful in a troubleshooting scenario.
To overcome this, I’ve written a script to strip out the mundane stuff and leave behind only the parts that are unusual and therefore interesting from a troubleshooting perspective.
Behold!
# showidslog.sh: Show us just the interesting parts of the Informix message log file
#
# usage: showidslog.sh [ path-to-log ]
#
# Defaults to MSGPATH in current logfile if not specified
#
if [ ${#} -gt 1 ]
then
echo “${0}: incorrect number of arguments (${#})” 1>&2
echo “usage: ${0} [ path-to-log ]” 1>&2
exit 1
fi
# If log file is specified, use that; otherwise, get MSGPATH from onstat -c
if [ ! -z “${1}” ]
then
export LOGFILE=${1}
else
ONCONFIG_LOGFILE=$(onstat -c | grep “^MSGPATH”)
LOGFILE=$(echo “${ONCONFIG_LOGFILE}” | awk ‘{print $2}’)
fi
if [ ! -f ${LOGFILE} ]
then
echo “${0}: Log file ${LOGFILE} not found.” 1>&2
echo “usage: ${0} [ path-to-log ]” 1>&2
exit 1
fi
# Screen out:
# Empty lines, or lines containing only periods
# Checkpoints under 10 seconds
# Logical Log complete/backed up
# Automatic storage optimization estimation jobs
# Archive starts / successful completions
# Interval fragmentation purges
egrep -v “^\.*$| was [0-9] sec|Maximum server conn|Checkpoint
Statistics|Logical Log [1-9][0-9]* | – loguniq |SCHAPI Estimate |Level
[012] Archive started|Archive on .* Completed|admin_fragment_command.*
succeeded” ${LOGFILE}
This script is written to either take the full path to the online.log file as a parameter or, if you don’t specify it, get its path from onstat -c (it assumes your environment is configured to run onstat).
If you look in detail, you’ll notice that most of the script is ease-of-use window dressing. It’s the egrep on the last line that’s doing all the heavy lifting. You’ll note from the comments that there are certain not-interesting-to-me things I’m stripping out, but you can customize this based on what’s interesting/unusual for your environment. In a previous environment, for example, we had a job that ran every hour to kill long-running sessions using onmode -z, so the messages associated with that weren’t interesting most of the time; I stripped those out, too. You’ll also note that I’m stripping out checkpoints that are 9 seconds or less; your tolerance may be tighter than that, so you can change that “was [0-9] ” to, say, “was [0-3] ” to show checkpoints 4 seconds and longer.
Final note: This script will display the entire contents of the log file, which may still be more history than you want to see if you’ve been running for a long time. I’ll often run this as something like showidslog.sh | tail -100 just to get the latest “interesting” entries. A more skilled / less lazy DBA could modify the script to include something like that as an optional argument, as well as add options to screen out (or not) the various types of routine messages, parameterize the checkpoint tolerance, etc.. Please let me know if you do!
Happy troubleshooting!
Tom Girsch
IIUG Board
CDC add configurable parameter max_recs
Delivered -> INFX-I-685 – CDC add configurable parameter max_recs in library ifx-changestream-client
Problem:
The ifx-changestream-client library had a limitation where the MAX_RECS parameter was hardcoded to 1. This caused the CDC API to fetch only one record per database round trip, resulting in very poor performance due to excessive network communication. As a result, the application processed CDC records much slower than possible, making it unsuitable for production environments with high data change volumes.
Solution:
The client has been enhanced to allow users to configure the maximum number of CDC records (MAX_RECS) to retrieve per call.
If not specified, the default is now set to 64 (previously 1).
The updated logic efficiently processes all records present in the buffer, enabling the application to handle multiple records in a single operation.
This change significantly improves CDC record processing performance, reduces network overhead, and enables the application to handle a much higher volume of CDC records per second, making it suitable for production use and high-throughput environments.
Fix available in:
- JDBC 15.0.1.2 and subsequent releases
- ifx-changestream-client-1.1.5 and subsequent releases
Benjwal Anurag
Informix Senior Software Engineer
Informix Tech Talks on YouTube
Upcoming Informix Tech Talks
There is no Tech Talks this month
Rhonda Hackenburg
IIUG Board
Last Informix Tech Talks Replay
Replay of the Last Informix Tech Talks: May 2026 – How to do clever crap with tools from Oninit – by Paul Watson, Oninit, LLC
Informix Tech Talks YouTube Channel
Our YouTube Channel now has:
- 597 subscribers (3 new subscribers)
- 122 videos (1 new video)
- 27,575 views (339 additional views)
Informix Tech Talks YouTube Channel Videos
Past Informix Tech Talks Replays
In Search of Tech Talks Speakers
We are looking for passionate voices to present at our monthly Tech Talks for 2026! Whether you are a seasoned expert or a fresh voice in the community, your insights can spark the next big breakthrough.
Why Join Us?
-
Connect: Engage with a global community of Informix peers.
-
Support: Help others solve challenges by sharing what you know well.
-
Grow: Build your professional brand with the IIUG and Informix ecosystem.
Presentations need only be 15 – 45 minutes. You won’t need to do this alone; the board will assist you with preparing you presentation.
Tech Talks are normally the third Thursday of the month around 1:00 pm ET. However, we are willing to adjust the timing to meet your needs. The IIUG promotes the event and will set up the registration for the event.
All presentations are recorded and will be offered as replays on our YouTube Tech Talks channel page.
Maybe you are too shy to be a presenter. If you have a topic you would like to see as a presentation, you can submit the topic to us and we will try to find a presenter.
You don’t have to be an IIUG member to present or attend the Tech Talks. If you are interested, please contact either Art Kagel or Bruce Simms for additional information.
Rhonda Hackenburg
IIUG Board
Informix Training
Free Informix Tutorials Videos – a step-by-step approach to using Informix Database Servers is available at https://advancedatatools.com/tech-info/informix-tutorials/
RFE Corner
IBM has an RFE – Request For Enhancements website.
Please visit the RFE site to vote for your favorite enhancements and place new requests. It is friendly and has a nice look and feel.
Recent
There were no new submissions.
Popular
Informix should be able to change owner on tables and any other objects (110 votes)
Backup Individual database, not entire instance (95 votes)
IBM Informix Forum Corner
Join and visit the IBM Informix Community Forum
Recent Posts:
Informix v15 Developer Edition
Created raw table in Perl program but it vanished when I exit program
Took a while … ifx_checksum against remote table with TEXT column
Quickie question: Release 12.10: What is max size of physical log?
Gary Ben-Israel
IIUG Board
Informix Resources
IIUG Website
Not a member? Become an IIUG member and keep updated on all things Informix. It’s free.
IBM Informix Community
Not a member, join the IBM Informix community and connect with other Informix data experts.
Blogs / Newsletters
Art Kagel – https://informix-myview.blogspot.com/
Mary Schulte – ACTIAN https://www.actian.com/blog/databases/user-friendly-external-smartblobs-using-a-shadow-directory/
Gerd Kaluzinski – German Informix Newsletter
IBM Informix RFE
IBM Informix RFE – Informix Requests for Enhancements.
Technical Articles
Oninit Group
WAIUG (Washington Area Informix User Group) Tech Tips
Over 10 Years of Informix Webcast Replays
Over 30 Years of Informix Blog Posts
Social Media
| YouTube | X |
IIUG’s own Art Kagel was recently features on the Tech Sharmit Podcast to talk about his life and involvement with Informix and database systems.
Catch the podcast here (https://www.youtube.com/watch?v=l81pLa7i-J0)
Forums, Groups, Videos, and Magazines
Informix Marketing channel on YouTube http://www.youtube.com/user/informixmarketing?feature=results_main
Closing and Credits
The International Informix Users Group (IIUG) is an organization designed to enhance communications between its worldwide user community and IBM. The IIUG’s membership database exceeds 25,000 entries and enjoys the support and commitment of IBM’s Information Management division. Key programs include local user groups and special interest groups, which we promote and assist from launch through growth.
Sources: IIUG Board of Directors
IBM Corp.
Editors: Gary Ben-Israel, Rhonda Hackenburg
For comments, please send an email to gary@iiug.org or rhonda@iiug.org
