Highlights: Informix 12.10.FC9 has been released
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 IBM Informix community.
Finally we have a new fix pack for Informix. So it seems we are back on track. Informix switched to a continuous development model. I hope we will continue to see more new features and bug fixes.
I am planning to move to FC9 in the near future. In the next issue I will let you know how it went.
Glad to see HCL has picked up development and hope marketing will soon follow.
IIUG Insider Editor
IIUG Board of Directors
What’s new in IBM Informix version 12.10.xC9
Smart Triggers for pushing data to clients
In a relational database environment, client applications are constantly monitoring and triggering other complex jobs, based on changes happening in the database. Applications need to be able to detect events in the database as they happen, without adding overhead to the database server.
With the release of Informix 12.10.xC9, clients can now create JDBC Smart Triggers to register changes in a dataset, using SELECT statements and WHERE clauses, and push data from the server to the client. Scaling is achieved by clients not having to poll for data, while the database server’s parallel architecture can feed the data to all clients by asynchronously reading logical log file changes. This design lets client applications scale linearly without adding significant overhead to the database server or any OLTP applications making changes to the database.
Data returned to the client is in a developer-friendly JSON format.
This feature is documented in the IBM Informix Enterprise Replication Guide.
Track moving objects
You can track a moving object, such as a vehicle, by capturing location information for the object at regular time intervals. You can use the new spatiotemporal search extension to index the data and then query on either time or on location to determine the relationship of one to the other. You can query when an object was at a specified location, or where an object was at a specified time. You can also find the trajectory of a moving object over a range of time.
The spatiotemporal search extension depends on the TimeSeries and spatial extensions. You store the spatiotemporal data in a TimeSeries data type with columns for longitude and latitude. You index and query the spatiotemporal data with the new spatiotemporal search functions. You can also query spatiotemporal data with time series and spatial routines.
A greater frequency for tracking moving or stationary objects is available. Time can now be entered as a string or a number.
This feature is documented in the IBM Informix Spatiotemporal Search for Moving Objects User’s Guide.
The Release Notes can be found here.
Just in case you are not aware, some time ago IBM created a public website to collect the requests for new features directly from users. The RFE (Requests For Enhancements) website is included in developerWorks. You can access it here.
Once you logged in with your usual IBM ID, choose “Information Management” in the Brand dropdown box and “Informix Servers” or “Client Products” in the Products dropdown box.
The interesting thing is that any request, including your request, if you place one, is submitted to be voted on. This means the RFEs that receive more votes have a greater chance to be considered by the architecture and development teams for further consideration. In other words, this IS your opportunity to provide enhancement ideas even if you are not the biggest IBM customer on the planet earth.
Some RFEs will be of great interest, others will not seem useful to you. This is why your opinion is important. Do not hesitate to vote and place comments!
The idea of the RFE corner is to provide a digest on new Informix RFEs and make those RFEs more visible and accessible for the community, so that you can vote for them in a faster and easier way. By participating actively in this website, IBM will have solid and useful elements from the customer base to introduce new functionality to Informix product.
Also in the area of IBM website, a new functionality has been released: MyNotifications. You will want to register this webpage in order to receive the notifications of your choice (new product defects, new patch release, new versions etc…, on the frequency of your choice (daily, weekly). I have registered and will definitely remain registered, due to the value of the information delivered.
New RFEs for July 2017
Customers keep wanted new features or enhance existing functionality. Let’s check what is in the air this month
Informix : Re-introduce the -w parameter for dbschema
Request Re-introduce the -w parameter for dbschema so a remote dbschema can be done Votes: 3
Ability to sync tables to HDR & RSS secondaries when converting from RAW to STANDARD mode.
It is significantly faster to load a table in TYPE(RAW) mode than TYPE(STANDARD) mode. However, this option is not practical for sites using HDR and/or RSS secondary servers for replication as RAW mode tables do not replicate forcing the site to break and reestablish replication from scratch.
Request to add an option to ALTER TABLE that would copy the data to the secondaries in the background after altering the primary copy of the table to standard. Votes: 12
Integrate user authentication among IDS/JSON/REST
Presently, the only way to authenticate users to the REST listener is by setting up mapped users and using PAM, which limits things to the Mongo 2.6 API and earlier.
Request to implement a solution so that users would be able to connect via the wire listener under their own IDs and have the same permissions they would have if they were connecting to the database via traditional means.
Secure the Wire Listener: Stop requiring clear text passwords
Currently, the only way to secure the wire listener is to put clear text passwords in the jsonListener.properties file.
Request to implementation a solution to keep those clear-text passwords out of that file, using stashed passwords for SSL and/or onpassword for the JDBC connection.
TOP 14 RFE’s
|Backup from RSS or HDR Secondaries using ontape, onunload, onbar, dbexport||Under Consideration||55||+1|
ALTER owner of database objects after creation
This new list gives visibility on hot RFE’s that are not yet in the Top 14 nor in the new RFE’s
|Planned for future release||8|
Do not forget to vote for one or several of those RFE’s if they fit your requirements.
You can access each RFE by clicking on the above links. At the bottom of each RFE page you will find a hyperlink to vote for it. You will see the Request stats, including number of votes for this request, on the right side of the request page. The more votes, the greater the chance an enhancement will be addressed by the Development Team, taking into consideration the general interest.
Take some time to examine the full list and vote for the enhancement you would like to see implemented.
In this section I will write about things that help me in my day to day work. Most DBAs probably have their own ways to perform these tasks which may be different than the way I do them. So, if you find an error or can think of a better way, please let me know. If not feel, free to use these tips as is or modify them to fit your needs.
Finding the dbspaces for non-fragmented tables including clob/blob columns can be done via dbschema but sometimes we want to retrieve this information using SQL. We use the following view.
create view dbspaces_view ( tabname, tab_space, colname, type, col_space )
select a.tabname, get_table_space(a.tabname)::char(16),
“—“, “—“, “—”
from systables a where tabid > 99 and tabtype = “T”
select a.tabname[1,32], get_table_space(a.tabname)::char(16),
b.colname[1,16], d.name[1,8], c.sbspace[1,8]
from systables a, syscolumns b, syscolattribs c, sysxtdtypes d
where a.tabid = b.tabid
and a.tabid = c.tabid
and b.colno = c.colno
and b.extended_id = d.extended_id
and a.tabid >99
select b.tabname[1,32], get_table_space(b.tabname)::char(16),
when ( c.coltype = 11 or (c.coltype – 256) = 11 ) then “byte”
when (c.coltype – 256) = 12 then “text”
from sysblobs a, systables b, syscolumns c
where a.tabid = b.tabid
and a.tabid = c.tabid
and a.colno = c.colno
and a.tabid >99;
Customize Saving SQLTRACE Data – Long running SQL’s
Here is a way to save SQLTRACE information, but to only save SQL statement that run greater than “X” number of seconds.
This way you can look at your slowest SQL to look at tuning it.
You will be implementing a task in the SYSADMIN database and creating the table in that database also.
Below is create table statement, you can size the column “sql_statement” to what you think is the largest SQL you will have.
create raw table “informix”.save_sqltrace
date_time datetime year to second,
) in sqltrace extent size 99996 next size 99996 lock mode row;
create index “informix”.idx_savesql1 on “informix”.save_sqltrace (date_time) using btree in sqltrace;
create index “informix”.idx_savesql2 on “informix”.save_sqltrace (sql_runtime) using btree in sqltrace;
create index “informix”.idx_savesql3 on “informix”.save_sqltrace (sql_id) using btree in sqltrace;
NOTE: Create a new dbspace so that if the table fills up the dbspace it does not affect any other process.
Then insert the row below into the “ph_task” table. This will run the task every minute.
0|save_trace|Saves SQL Trace when run time greater than set value.|TASK|9251|||sysadmin|insert into save_sqltrace select current, sql_id, sql_runtime, sql_finishtime, sql_sid, sql_uid, sql_statement, sql_database from sysmaster:syssqltrace where (sql_runtime > 5 and (sql_finishtime > (select max(sql_finishtime) from save_sqltrace)) or (sql_runtime > 5 and ((select count(*) from save_sqltrace) = 0)))| 30 00:00:00|00:00:00|| 0 00:01:00|2017-07-18 14:54:17|9237|0|t|t|t|t|t|t|t|400|PERFORMANCE|t|0|
August – 2017
|1||Tampa – Informix 12 technical Roadshow||Tampa, FL, USA|
|8||Washington DC – WAIUG Meeting||Washington DC, USA|
September – 2017
|18||Brazil – Informix Roadshow||Sao Paulo, Brazil|
Blogs and Wikis that have been updated during the last month
- Blogs, Videos, News and more at http://planetids.com *** Up to date feeds from many blogs ***
- Eric Vercelletto http://www.levillageinformix.blogspot.com/ (In French)
More Blogs and Wikis
- The Lenexa view at: https://www.ibm.com/developerworks/community/blogs/smoe?lang=en
- Fernando Nunes at http://informix-technology.blogspot.com/
- Ben Thompson’s blog at: https://informixdba.wordpress.com/
- Art Kagel http://informix-myview.blogspot.co.il/
- Informix Experts at: https://www.ibm.com/developerworks/community/blogs/idsteam?lang=en
- The IIUG forums at /forums/technical.php
- Informix Marketing channel on YouTube http://www.youtube.com/user/informixmarketing?feature=results_main
- IBM DATABASE MAGAZINE at http://www.ibmdatabasemag.com
- Credentials, the IBM Certification Newsletter at
- The Informix Zone at http://www.informix-zone.com
- There is now an Informix group on LinkedIn. The group is called “Informix Supporter”, so anyone loving Informix can join, from current IBM employees, former Informix employees, to users. It will also be a good occasion to get in touch with others or long-time-no-seen friends. If you fancy showing the Informix logo on your profile, join. To join, simply go to:
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 now 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
Editor: Gary Ben-Israel
For comments, please send an email to email@example.com