IBM Data Server Manager – Beta

Just signed up for IBM Data Server Manager Beta

DB2 EOS dates.

DB2 EOS dates are:

Informix 12 new features.

Starting with Informix vesion 12.10.xC2, you can restore the critical files that you backed up with onbar utility. Onbar cold restore has an option now to restore these files or you can only restore these file without perform the storate space restore.

Use ‘onbar -r -cf yes’ to restore critical file during cold restore. Alternatively, you can use ‘onbar -r -cf only’ to extract critical files while Informix server is offline.

Two new onstat commands introduced in 12.10.xC2 to view the dependencies between blocking and waiting threads.

Now, you can use the ‘onstat -g bth’ command to display the dependencies between blocking and waiting threads. Next, use the ‘onstat -g BTH’ command to display session and stack information for the blocking threads.

A newer costing functionality was added in 11.70.FC3 and higher in the 11.70 family. This functionality was added to account for the seek time required to traverse an index (especially large indexes). There were situations where queries using an index would take longer to return than a sequential scan because of all the I/O involved.

You can control the new costing functionality using the OPT_SEEK_FACTOR configuration parameter. This parameter allows to set the “weight” of an I/O seek cost. The range is 0 to 25 and default is 6. Making it lower causes the seek cost to be lower which lowers the estimated cost of using an index path.

You can revert to the old costing method by setting OPT_SEEK_FACTOR to 0 in the ONCONFIG file.

Traditionally, hostname and service name resolution were performed by functions such as gethostbyname(), getservbyname() etc. These traditional lookup functions are still available, however those are not forward compatible to IPv6. Instead, the IPv6 socket API provides new lookup functions that consolidate the functionality of several traditional functions. These new lookup functions are also backward compatible with IPv4, so a programmer can use the same translation algorithm in an application for both the IPv4 and Ipv6. The getaddrinfo() is the new primary lookup function and a connection request from the dbaccess ultimately calls this socket API. You can pass several parameters to the getaddrinfo(), one of those parameter is addrinfo structure. By default, dbaccess passes value “AF_INET6” for addrinfo.ai_family. The ai_family field indicates the protocol family associated with the request, and will be PF_INET6 for IPv6 or PF_INET for IPv4.

If the ai_family set to AF_INET6 (IPv6) the getaddrinfo() will search the DNS everytime. If the ai_family set to AF_INET, then it don’t query the DNS server. You can consult the ‘man’ page for getaddrinfo() for detailed information.

Beginning with Informix 10.00.xC4 and Client SDK 2.90.xC4, the database server checks, on startup, whether IPv6 is supported in the underlying operating system. If IPv6 is supported it is used. If the underlying operating system does not support IPv6, the IPv4 address is used.

In case of a problem with DNS lookup and encountering slow connection to databse, you may use the environment variable IFX_DISABLE_IPV6 (IFX_DISABLE_IPV6=1) to disable Ipv6 and this will set the ai_family to AF_INET only and will not do subsiquent query to the DNS server.


Informix 12.10 Extending a physical log.

Saw this in the online.log:

15:43:52 Performance Advisory: The physical log size is smaller than the recommended size for a
server configured with RTO_SERVER_RESTART.
15:43:52 Results: Fast recovery performance might not be optimal.
15:43:52 Action: For best fast recovery performance when RTO_SERVER_RESTART is enabled,
increase the physical log size to at least 90536 KB. For servers
configured with a large buffer pool, this might not be necessary.

Well my play server does not have a large bufferpool so:

onstat -l – get chunk from phybegin.

onstat -d – make sure chunk is extendable – flag at position 5 = E

Now extend the chunk:

echo ‘execute function task(“modify chunk extend”,”2″,”25000″)’ | dbaccess sysadmin
Your evaluation license will expire on 2014-11-16 00:00:00

Database selected.

(expression) Chunk 2 has been extended 25000Kb.

1 row(s) retrieved.

You must be in the sysadmin database to use the task() function!

Now extend the physical log:

onparams -p -s 90536
Your evaluation license will expire on 2014-11-16 00:00:00
Do you really want to change the physical log? (y/n)y
Log operation started. To monitor progress, use the onstat -l command.
** WARNING ** Because the physical log has been modified, a level 0 archive
must be taken of the following space before an incremental archive will be
permitted for it: plog
(see Dynamic Server Administrator’s manual)

Informix 12.10 and enabling JSON

Informix roadmap blog entry.

Informix and PAM

Informix and PAM –

Cardiff User Group Talk June 24 2014 Speaking Questions

Answer to Questions for Cardiff User Group Talk Jun 24 2014.

1. Backup Encryption in 2014 – Is this an Enterprise only feature?

SQL Server Express and SQL Server Web do not support encryption during backup. However restoring from an encrypted backup to an instance of SQL Server Express or SQL Server Web is supported.

2. SSD Buffer Pool Extension – 32x vs 4x how much addition memory is used inside SQL Server?

There a 2 structures per page in the bufferpool, 1 ‘BUF’ header (~100 bytes,corresponds to sys.dm_os_buffer_descriptors which is a list of BUF structures for all hashed buffers). and the actual page itself.

For pages in the bufferpool extension file they only need a ‘BUF’ structure in memory which contains file_id,page_id and is_in_bpool_extension =1. This points to the actual page in the BPE file!

Therefore only additonal small ‘BUF’ header structures are needed for a large bufferpool file.

NOTE: Bufferpool memory can also be seen via sys.dm_os_memory_clerks type=’MEMORYCLERK_SQLBUFFERPOOL’.

select type,sum(pages_kb) pages_kb

from sys.dm_os_memory_clerks

group by type


order by type

3. SSD or fast disk?

SSD may well be quicker even than fast disk as it can be larger then the cache on a disk array.

Fast Disks will help with writes which SSDs do not.