Database backup errors regarding compver table

Technote (troubleshooting)


Problem(Abstract)

During regularly scheduled backups the command performs an oncheck and the compver table error can be detected while performing the oncheck call when using IBM Rational Synergy.

Symptom

Checking Informix Database "xxxxdb"...

Checking Table Space data ...
Checking Catalogs and Indexes ...

WARNING:No syssyntable records found.

Validating indexes for xxxxdb:informix.syserrors...

ERROR: Keys in node 0x4 are not in order.

ERROR: Index cv_name for xxxxdb:ccm_root.compver is bad.

Corruption found in Informix database /ccmdb/xxxxdb/db.

Checking Number of Extents ...

WARNING: summary of INFORMIX oncheck output has been saved in

        '/tmp/ccmdb_check_inf_16590'

Contents of '/tmp/ccmdb_check_inf_16590' :

Validating indexes for xxxxdb:ccm_root.compver...

 Index cv_id

   Index  fragment partition ccm in DBspace ccm

 Index cv_name

   Index  fragment partition ccm in DBspace ccm

ERROR: Keys in node 0x4 are not in order.

ERROR: Index cv_name for xxxxdb:ccm_root.compver is bad.

 Index cv_cvtype

   Index  fragment partition ccm in DBspace ccm

Please Drop and ReCreate Index cv_name for xxxxdb:ccm_root.compver.


Cause

This error is caused by multiple records in the compver table that have the same name, version, cvtype, and subsystem.

Environment

Informix Synergy Server environment.

Diagnosing the problem

Running backups and seeing the errors noted above.

Resolving the problem





  1. Log in to the server as user ccm_root and set the environment variables.

    (bourne shell example):

    CCM_HOME=<install area path>; export CCM_HOME
       INFORMIXDIR=$CCM_HOME/informix; export INFORMIXDIR
       ONCONFIG=<SERVERNAME>; export ONCONFIG
       INFORMIXSERVER=<SERVERNAME>; export INFORMIXSERVER
       PATH=$CCM_HOME/bin:$INFORMIXDIR/bin:$PATH; export PATH


    Note: replace the values between the angled brackets < >, omitting these brackets.


  2. Run the command:

    echo "unload to 'xxxxdb.compver' select
    id,name,version,cvtype,subsystem from compver" | dbaccess xxxxdb-


    This creates the file xxxxdb.compver. This file has 5 fields delimited by "|". The goal is to find the two rows whose last four fields are identical. (The first field is a unique row identifier).
  3. Delete all but one of each duplicate. To delete an object from the database using SQL (Informix), set the above environment variables as user ccm_root and use these commands:

    echo 'DELETE FROM compver where id=NNNNN;
    DELETE FROM attrib WHERE is_attr_of=NNNNN;
    DELETE FROM bind WHERE has_child=NNNNN;
    DELETE FROM relate WHERE from_cv=NNNNN OR to_cv=NNNNN;' | dbaccess xxxxdb -


Rate this page:

(0 users)Average rating

Document information


More support for:

Rational Synergy
Informix Dyn Srvr V10.0 for Synergy

Software version:

6.5a, 6.5, 6.6a, 7.0, 7.1a, 7.1, 7.1.0.1, 7.1.0.2, 7.1.0.3, 7.1.0.4, 7.1.0.5, 7.1.0.6, 7.2, 7.2.0.1, 7.2.0.2

Operating system(s):

AIX, HP-UX, Linux, Solaris, Windows

Reference #:

1600852

Modified date:

2013-01-30

Translate my page

Machine Translation

Content navigation