Compatibility Mode And Native Mode

Informix Version 15.0.0 supports larger tables, chunks, and pages. This support is dependent on the enablement of a new infrastructure that makes low-level disk changes. These changes are so fundamental and extensive that reverting them in-place is not practical. In order to satisfy the potential need for reversion following a migration from an older version, Informix 15.0.0 requires explicit enablement of the new infrastructure by the administrator.

Immediately after the successful completion of an in-place migration from an older Informix server version, an Informix 15.0.0 instance is in compatibility mode. While in this mode the legacy infrastructure, referred to as Infrastructure Version 0, is in effect. The purpose of compatibility mode is to allow the testing of applications against the Version 15.0.0 server while still supporting reversion if necessary. The drawback of compatibility mode is that many Version 15.0.0 features are disabled.

Enabling all Version 15.0.0 features requires switching your instance from compatibility mode to native mode. Once an instance is in native mode it cannot be reverted in-place to an older Informix version. Nor can it be returned to compatibility mode without the physical restoration of an archive. In this case no logical restore may be performed, otherwise the recovered instance will be switched to native mode by a record in the logical logs.

Methods of determining the current mode

Using onstat command
  • This onstat output indicates the instance is in compatibility mode.
    newmodes_1
  • This onstat output indicates the instance is in native mode.
    onstat -
    
    IBM Informix Dynamic Server Version 15.0.0.0 -- On-Line -- Up 00:00:44 -- 2998160 Kbytes
    2024-11-27 10:23:57 -- Infrastructure Version: 1 
    
Using oncheck command
  • This oncheck -pr output indicates the instance is in compatibility mode.
    
    oncheck -pr
    
    Validating IBM Informix Dynamic Server reserved pages  
    
        Validating PAGE_PZERO...
    
        Identity                       IBM Informix Dynamic Ser
                                       ver Copyright 2001, 2024
                                         IBM Corporation
        Database system state          0
        Database system flags          0x9
            64-bit server                 
            BigChunk page flags are not in use
            Version 1 infrastructure has not been enabled
        Page Size                      2048 (b)
        Date/Time created              11/27/2024 10:11:27
        Version number of creator      50
        UID of rootdbs creator         200
        Index Page Logging             OFF
        HA Disk Owner                  <null>
    …
    …
    
  • This oncheck -pr output indicates the instance is in native mode. Instead of “Version 1 infrastructure enabled” oncheck -pr will display “Version 1 infrastructure only” for an instance that was initialized from scratch in Version 15.0.0, as opposed to migrated from an earlier version.
    oncheck -pr
    
    Validating IBM Informix Dynamic Server reserved pages  
    
        Validating PAGE_PZERO...
    
        Identity                       IBM Informix Dynamic Ser
                                       ver Copyright 2001, 2024
                                         IBM Corporation
        Database system state          0
        Database system flags          0x309
            64-bit server                 
            BigChunk page flags are not in use
            Version 1 infrastructure enabled
        Page Size                      2048 (b)
        Date/Time created              11/27/2024 10:23:22
        Version number of creator      50
        UID of rootdbs creator         200
        Index Page Logging             OFF
        HA Disk Owner                  <null>
    
    
Using SQL
  • When in compatibility mode, this flag value will not contain 0x1000000.
    dbaccess sysmaster -<<END
    select hex(value) from sysshmhdr where name = "sysflags";
    END
    
    Database selected.
    
    (expression)         
    
    0x0000000000001041  
    
    1 row(s) retrieved.
    
    Database closed.
    
  • When in native mode, this sysflags value will contain 0x1000000.
    dbaccess sysmaster -<<END
    select hex(value) from sysshmhdr where name = "sysflags";
    END
    
    Database selected.
    
    (expression)         
    
    0x0000000001001041  
    
    1 row(s) retrieved.
    
    Database closed.
    
Using Message log
When in compatibility mode, the online log will contain messages like this:
…
…
10:11:28  On-Line Mode
10:11:28  (Compatibility mode)
…
…
10:17:37  Quiescent Mode
10:17:37  (Compatibility mode)