Informix 11.70.xC4 is available / Informix 11.70.xC4 est� dispon�vel

This article is written in English and Portuguese
Este artigo est� escrito em Ingl�s e Portugu�s

English Version:

IBM has relesed Informix 11.70.xC4 in October 25. The changes in this release, taken directly from the release notes, are (comments added):



  • Administration
    • Enhancements to the OpenAdmin Tool (OAT) for Informix
      OAT now allows the management of database users (for non-OS users) and OAT is now delivered and installable with Client SDK for Windows (32bits), Linux (32 and 64 bits) and MAC OS (64 bits)
    • Enhancements to the Informix Replication Plug-in for OAT
      The ER plugin now follows ER improvements and can handle multibyte locales.
    • Informix Health Advisor Plug-in for OAT
      A totally new plugin that can examine a great number of metrics and configuration details, warning you (email) of anything not within the recommended settings and/or defined thresholds.
      The checks can be scheduled and you can setup several different profiles. Each will run a specific (and configurable) set of metrics.
    • Dynamically change additional configuration parameters
      Several parameters can now be changed with onmode -wm/-wf. Some of them are really important (WSTATS, AUTO_REPREPARE, CKPTINTVL, DIRECTIVES, OPTCOMPIND, SHMADD) and can save you from planned downtime. Others are more or less irrelevant (some of them could be changed by editing the $ONCONFIG file), but it's important that they can be changed through SQL Admin API for client DBA tools
    • Compare date and interval values
      API extensions to compare datetime and interval values.
    • Plan responses to high severity event alarms
      Could not understand what is new. This could be done before by customizing the ALARMPROGRAM script
    • Data sampling for update statistics operations
      A new parameter (USTLOW_SAMPLE) defines if you want to sample the data for the index information gathering or not (indexes with more than 100.000 leaf pages). 11.70.xC3 did this by default. This can also be set at session level. Note that this can have a dramatic impact on the time it takes to regenerate your statistics. The "LOW" will be the slowest for large tables with indexes...
    • SQL administration API command arguments for creating sbspaces
      New options to create smart blob spaces with logging and access time recording in SQL admin API
    • Monitor client program database usage
      The client program's full path name is now available in onstat -g ses.
      Note that although you can use this to monitor and control access, this information is sent by the client side and potentially can be faked (not the average user, but an attacker could do it)
    • Progress of compression operations
      Two new columns in onstat -g dsk show the approximate percentage of the tasks already completed and the estimated time to finish
  • High availability and Enterprise Replication
    • Easier setup of faster consistency checking
      When using ifx_replcheck and an index is created on it, the CRCOLS are not necessary
    • Handle Connection Manager event alarms
      Scripts used for processing connection manager alarms now have access to two variables that identify their name (INFORMIXCMNAME) and unit name (INFORMIXCMCONUNITNAME). This facilitates the script creation
    • Easier startup of Connection Manager
      When the variable CMCONFIG is set and points to the connection manager configuration file, it can be started, stop and restarted without specifying the configuration file. Much like ONCONFIG is used for the engine
    • Prevent failover if the primary server is active
      A new parameter called SDS_LOGCHECK can specify an number of seconds while the SDS secondaries will monitor the logical logs for activity (which would be generated by the primary server). This tries to implement a safety measure to prevent an SDS server to become a primary after a "false" failure of the primary. Note that usually this is prevented by using I/O fencing, but if that is not available this can be another way to make sure you don't end up with two primaries
    • Configure secure connections for replication servers
      A new parameter called S6_USE_REMOTE_SERVER_CFG defines if the file specified by REMOTE_SERVER_CFG will also be used for client connections using the s=6 SQLHOSTS options (for replication). If this parameter is set to 1 the file will be used, otherwise it will default to the old behavior and use $INFORMIXDIR/etc/hosts.equiv
  • Security
    • Global Security Kit (GSKit) support
      A new parameter (GSKIT_VERSION) can be used to specify the Global Security Kit version you intend to use. Informix 11.70.xC4 ships with version 8, but can use version 7
    • Use a file to authenticate server connections in a secured network environment
      Already mentioned above (S6_USE_REMOTE_SERVER_CFG)
  • Time Series data
    • IBM Informix TimeSeries Plug-in for Data Studio
      This new plugin allows the interaction with TimeSeries data from Optim Data Studio and Optim Developer Studio
    • Delete a range of elements and free empty pages from a time series
      Delete improvements in TimeSeries data that should free some pages
    • Aggregate time series data across multiple rows
      Improvement in how we can aggregate TimeSeries data.
Besides bringing some new features, this release also fixes some important bugs that appeared in xC3 around the new automatic read ahead configuration. Apart from this I think it's important to notice the following points:

  • TimeSeries continues to have a great focus on the current enhancements off Informix. This is expectable and desired considering the great news around customer success stories and the recent benchmark.
  • The new OAT health plugin. I didn't have time yet to really explore it, but for sure I would have done a few things differently like re-using the alarmprogram configuration to send alarms. But this is great and being a plugin it can easily be changed if it doesn't fit your needs.
  • The inclusion of OAT inside CSDK is a good step (from my point of view). It makes it easier to get and install. I've installed it very quickly in Windows
  • The new dynamically changeable parameters are a very good step. Of course I would love to be able to change all the parameters without stopping the instance. But we're getting closer. My next favorites would be (and why):
    • LOGBUFF, PHYSBUFF
      After instance healthchecks, may times these should be changed
      I suppose this should not be to hard, since there are a set of each and they're used in a circular fashion. So on change, they could be resized.
      LOGBUFF would probably be harder due to it's role in replication (HDR)
    • TBLSPACE_STATS
      Again, it's a good practice to have this active. But having to stop the instance to fix this is not nice
    • SYSSBSPACENAME, SBSPACENAME
      Sometimes these are not set, but the usage of some new features required them. A restart is not nice...
    • CLEANERS
      Again, many times needed after a configuration check
    • SHMTOTAL
      Many customers don't set it. And sometimes you may need to reduce it or increase it (new OS are able to add/remove memory online). Of course we would not be able to lower it below current usage.
    • DD_*, DS_*, PC_*, PLCY_*, USRC_
      Again, usual candidates to change after a health check. These would be trickier to change, but if we did it for statement cache we should be able to do it for all the other caches. Also a functionality to "flush" these caches or at least remove some entries would be nice.
    • EXT_DIRECTIVES
      Some times customers find out they need it, but it's off by default... Again the restart
    • DBCREATE_PERMISSION
      This is in my view dynamic by nature


Vers�o Portuguesa:

A IBM lan�ou o Informix 11.70.xC4 no dia 25 de Outubro. Estas s�o as mudan�as nesta vers�o (retiradas directamente das release notes (coment�rios adicionados):



  • Administra��o
    • Melhorias no OpenAdmin Tool (OAT)
      O OAT permite agora a gest�o dos utilizadores de base de dados (para utilizadores n�o autenticados no sistema operativo) e � agora distribuido com o Client SDK para Windows (32bits), Linux (32 and 64 bits) e MAC OS (64 bits)
    • Melhorias no plugin de replica��o do OAT
      O plugin de ER segue as emlhorias do pr�prio ER e pode lidar com locales multibyte
    • Informix Health Advisor Plug-in para o OAT
      Um plugin totalmente novo que pode examinar um grande n�mero de m�tricas e detalhes de configura��o, avisando (por email) de algo que fuja �s recomenda��es e/ou a par�metros pr�-definidos. Podemos calendarizar verifica��es peri�dicas de acordo com v�rios perfis. Cada perfil ir� validar um conjunto de m�tricas especificas (e configur�vel)
    • Altera��o din�mica de mais par�metros
      V�rios par�metros podem agora ser mudados com o onmode -wm/-wf. Alguns s�o realmente importantes (WSTATS, AUTO_REPREPARE, CKPTINTVL, DIRECTIVES, OPTCOMPIND, SHMADD) e podem evitar paragens planeadas. Outros s�o relativamente irrelevantes (alguns j� podiam ser alterados editando o $ONCONFIG), mas � importante que possam ser alterados atrav�s da SQL Admin API, para que possam ser mudados em ferramentas cliente
    • Compara��o de datas e intervals
      Extens�o da API extensions para comparar valores dos tipos datetime e interval
    • Planear resposta a eventos de alta severidade
      N�o consegui perceber o que foi feito de novo. Isto j� podia ser feito atrav�s da configura��o/adapta��o do script configurado no par�metros ALARMPROGRAM
    • Data sampling para opera��es de UPDATE STATISTICS
      Um novo par�metro (USTLOW_SAMPLE) define se queremos efectuar sampling na recolha de dados sobre os �ndices ou n�o (�ndices com mais de 100.000 "folhas" - leaf pages). 11.70.xC3 faz�a-o por omiss�o. Isto pode ser activado ao n�vel da sess�o. Note-se que isto pode ter um impacto dram�tico no tempo que leva a refazer as estat�sticas. A op��o "LOW" � a mais lenta para tabelas grandes em muitos casos..,
    • Novos argumentos para criar smart blob spaces com a SQL administration API
      As novas op��es permitem criar os smart blob spaces com ou sem logging e mantendo ou n�o o tempo de acesso aos objectos
    • Monitoriza��o do uso das bases de dados por programa cliente
      O nome (caminho) completo do programa cliente est� dispon�vel no output do onstat -g ses
      Note-se que apesar de isto poder ser usado para monitorizar ou at� condicionar o acesso a uma base de dados, esta informa��o � enviada pelo cliente e pode potentcialmente ser alterada (n�o pelo utilizador comum, mas certamente por um atacante)
    • Consulta do progresso das opera��es de compress�o
      Duas novas colunas no output do onstat -g dsk mostras a percentagem aproximada de trabalho j� efectuado e o tempo estimado para a sua conclus�o
  • Alta disponibilidade e Enterprise Replication
    • Configura��o mais f�cil de verifica��o de consist�ncia
      Quando se usa o ifx_replcheck, e se cria um �ndice por ele, os CRCOLS n�o s�o necess�rios
    • Lidar com alarm�stica do Connection Manager
      Scripts usados para processar os alarmes do(s) connection managers t�m agora acesso a duas vari�veis que identificam o seu nome  (INFORMIXCMNAME) e nome de unidade (INFORMIXCMCONUNITNAME). Isto facilita a cria��o dos scripts
    • Arranque facilitado do Connection Manager
      Quando a vari�vel CMCONFIG est� definida e aponta para o ficheiro de configura��o do Connection Manager, este pode ser iniciado, parado e re-iniciado sem especificar o ficheiros de configura��o. Muito semelhante � utiliza��o da vari�vel ONCONFIG para o motor
    • Preven��o de failover se o servidor prim�rio ainda estiver activo
      Um novo par�metro, chamado SDS_LOGCHECK pode indicar o n�mero de segundos que os SDS secund�rios ir�o monitorizar os logical logs para detectar actividade (que a existir seria gerada pelo prim�rio). Isto tenta implementar uma medida de seguran�a para prevenir que um servidor SDS se torne prim�rio em caso de falsa falha do prim�rio. Note-se que habitualmente isto � prevenido com recurso ao I/O fencing, mas se essa funcionalidade n�o estiver dispon�vel, esta pode ser outra forma de evitar ficar com dois servidores prim�rios
    • Configura��o de seguran�a para servidores em replica��o
      Um novo par�metro, S6_USE_REMOTE_SERVER_CFG define se o ficheiro indicado pelo par�metro REMOTE_SERVER_CFG ser� tamb�m usado para conex�es que utilizem a op��o s=6 do SQLHOSTS (para replica��o). Se o par�metros estiver a 1 o referido ficheiro ser� utilizado, caso contr�rio o comportamento antigo ser� o escolhido e o ficheiro a usar ser� $INFORMIXDIR/etc/hosts.equiv
  • Seguran�a
    • Suporte ao Global Security Kit (GSKit)
      Um novo par�metros, GSKIT_VERSION, pode ser usado para definir a vers�o do Global Security Kit que se pretende usar. O Informix 11.70.xC4 inclu� a vers�o 8, mas pode trabalhar com a vers�o 7
    • Utilizac�o de um ficheiro para autenticar conex�es de servidores numa rede segura
      J� mencionado atr�s (S6_USE_REMOTE_SERVER_CFG)
  • Dados Time Series
    • IBM Informix TimeSeries Plug-in para Data Studio
      Este novo plugin permite interagir com dados TimeSeries a partir do Optim Data Studio e do Optim Developer Studio
    • Apagar um intervalo de elementos e libertar p�ginas vazias de um time series
      Melhorias nos DELETEs em dados TimeSeries que permitem libertar espa�o
    • Agregar dados time series cruzando v�rias linhas
      Melhorias na forma como podemos agregar informa��o guardada em TimeSeries
Para al�m de trazer algumas novas funcionalidades, esta vers�o tamb�m corrige alguns bugs importantes em torno da funcionalidade de read ahead autom�tico introduzido na vers�o 11.70.xC3. Fora isto, julgo que � importante salientar os seguintes pontos:


  • O TimeSeries continua a receber muito do foco das �ltimas melhorias no Informix. Isto � expect�vel e desej�vel considerando as boas not�cias sobre hist�rias de sucesso e o recente benchmark
  • O novo health plugin do OAT. N�o tive muito tempo ainda para o explorar, mas certamente faria algumas coisas de forma diferente, como por exemplo re-utilizar a configura��o do ALARMPROGRAM para o envio de alarmes. Mas a cria��o deste plugin � uma �ptima ideia e sendo um plugin pode ser alterado facilmente para se ajustar �s nossas necessidades
  • A inclus�o do OAT dentro do Client SDK � um bom passo (do meu ponto de vista). Torna ainda mais f�cil obter e instalar o OAT. J� o instalei em Windows aproveitando o upgrade de vers�o que fiz ao Client SDK
  • A possibilidade de mudar dinamicamente mais par�metros � excelente. Naturalmente que gostaria que todos os par�metros da inst�ncia tivessem esta capacidade. Mas estamos cada vez mais perto. Os meus pr�ximos favoritos seriam (e porqu�):
    • LOGBUFF, PHYSBUFF
      Depois de uma an�lise a uma inst�ncia, muitas vezes estes devem ser mudados.
      Imagino que torn�-los din�micos n�o fosse muito dif�cil, pois existem v�rios buffers que s�o usados de forma circular. Assim, ap�s um pedido de mudan�a, quando passa de um para outro podia aproveitar-se para fazer a altera��o. O LOGBUFF seria mais dif�cil pela import�ncia que tem na replica��o (HDR)
    • TBLSPACE_STATS
      Tamb�m aqui � uma boa pr�ctica ter este par�metro activo. Mas se for detectado que n�o est�, ter de parar a inst�ncia para o mudar n�o � simp�tico
    • SYSSBSPACENAME, SBSPACENAME
      Muitas vezes estes n�o s�o definidos, mas a decis�o de usar novas funcionalidades torna-os necess�rios. Mais uma vez, obrigar a paragem n�o � simp�tico...
    • CLEANERS
      Muitas vezes necessita ser alterado ap�s uma an�lise � configura��o e comportamento da inst�ncia
    • SHMTOTAL
      Muitos clientes n�o o definem. E por vezes podemos ter de reduzir ou aumentar o valor (os novos sistemas operativos j� permitem adicionar/remover mem�ria dinamicamente). Naturalmente n�o seria poss�vel baixar o valor abaixo da quantidade j� em uso
    • DD_*, DS_*, PC_*, PLCY_*, USRC_
      Mais candidatos habituais a mudan�a ap�s uma an�lise de configura��o. Estes seriam possivelmente dos mais complexos de tornar din�micos, mas se j� se faz para a statement cache deveria ser poss�vel fazer para estes tamb�m. Para al�m disso, uma funcionalidade para limpar uma das caches (ou pelo menos remover alguma entrada) seria �til em determinadas situa��es
    • EXT_DIRECTIVES
      Alguns clientes descobrem que precisam de o usar, mas est� desligado por default. E uma paragem nunca � desej�vel
    • DBCREATE_PERMISSION
      Este � a meu ver din�mico por natureza