Problem(Abstract)

db2iupdt on existing instance fails with DBI1122E on cleanly brought down instance.

Symptom

DBI1122E Instance db2inst1 cannot be updated or upgraded.

Cause

An attempt was made to either update or upgrade an instance. The error message is indicating an incorrect version. This is caused by the .instuse file being corrupted.

/db2inst1/sqllib/ctrl/.instuse

 

Diagnosing the problem

 

  • Run db2iupdt with debug option -d.
    db2iupdt -d db2inst1Check if output contains db2version as 199 just before DBI1122E is received.
    ## exit function query_instuse_string
    ## INSTUSE_VALUE for INSTVER is 0
    ## db2version=199 <======
    ## db2proddir=UNKNOWN
    ## exit function chk_version
    DBI1122E Instance db2inst1 cannot be updated or upgraded.
  • Check the content of <instance home directory>/sqllib/ctrl/.instusecat /home/db2inst1/sqllib/ctrl/.instuse
  • If the file contains following, then .instuse file is corrupted
        BitWidth=64
      RealBitWidth=64

Resolving the problem

To resolve the issue, perform the following steps.

1. Login as instance owner

2. Manually edit the .instuse file to enter following fields:

      BitWidth=64
      RealBitWidth=64
      DB2DIR=<db2 installation directory>
      InstanceType=1
      InstallerID=0
      INSTVER=97
      V=9
      R=7
      M=0
      F=1
      I=0
      S=3
      SpecialBuild=
    Once, step 4 is run, above will be corrected depending on the latest fixpack user installed.

3. Login as root
4. Run db2iupdt again.

 

Related information

db2iupdt
DBI1122E