IBM Support

Failed to insert disk details in database on VM Recovery Manager DR configuration with dr_put_storage_db: rc = 69

Troubleshooting


Problem

Failed to insert disk details in database

Symptom

KSYS Logs:
Job execution on HMC failed with status <COMPLETED_WITH_ERROR>.
<ErrInfo><Exception status="86" message="Error occurred while saving storage information in database."/>
         <Exception status="97" message="Unable to insert record."/></ErrInfo>
 

Cause

In 3.1.1.21 "managed_disk" column was added to table "disk" of DR DB. During Virtual IO Server update from previous version to 3.1.1.21 "post_u" script should have executed which will re-create db with new definitions.

Environment

Virtual IO Server 3.1.1.25 

Diagnosing The Problem

Details from Virtual IO Server vsmig.log
 
0 20316472 57016765 03/22/22-01:14:33.811 dr_util.c 1.37 153]:57016765--violibDB.c vioProcessSQLError 1.132.2.540 301   
**(Calling Function: modifyDB, Line: 2147)** SQL Native Error = 1, iSQL State = 42703, error message = ERROR: column "managed_disk" of relation "disk" does not exist;
Error while executing the query
[0 20316472 57016765 03/22/22-01:14:33.812 dr_util.c 1.37 153]:57016765--violibDBerr.c getPGDBErrorRC 1.7 260 FINISH rc = 0, vio_db_rc = 6001, sqlState = 42703, db_err_code = 3432373033
[0 20316472 57016765 03/22/22-01:14:33.812 dr_util.c 1.37 153]:57016765--violibDB.c vioInsertUniqueID 1.132.2.540 4602 Lost Access to Data Base 6001
[0 20316472 57016765 03/22/22-01:14:33.812 dr_put.c 1.23 843] Failed to insert disk details in database, rc=-1
[0 20316472 57016765 03/22/22-01:14:33.812 dr_put.c 1.23 864] dr_put_storage_db: rc = 69.

Resolving The Problem

a. Upgrade to Virtual IO Server 3.1.1.30 or higher (resolved also through APAR number IJ25756 in such case)
b. Request fix for 3.1.1.25
c. Work around to populate CMDB with correct table columns.
    Re-create the Configuration Manager Database.

   1) Stop the vio_daemon with stopsrc command
      $ oem_setup_env
      # /usr/bin/stopsrc -s vio_daemon
   
   2) Wait 300 seconds or until vio_daemon stops.
        Check whether the vio_daemon is no longer running or active
        # lssrc -a |grep vio_daemon
        # ps -eaf |grep vio_chgmgt (check that this process does not exist)
       Either
       # /usr/sbin/slibclean
       # rm -rf /home/ios/CM
   
   3) Start the vio_daemon with startsrc command
       # /usr/bin/startsrc -s vio_daemon -a '-d 4'
   
   4) Make sure that vio_chgmgt is also started
      # kill -1 <PID of vio_daemon>
   5) Wait for 5 minutes, make sure that the postgres process exists.
      # sleep 300; ps -eaf | grep post
 Rajendra 
 

Document Location

Worldwide

[{"Type":"MASTER","Line of Business":{"code":"LOB57","label":"Power"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSPHKW","label":"PowerVM Virtual I\/O Server"},"ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"},{"Type":"MASTER","Line of Business":{"code":"LOB57","label":"Power"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSPHKW","label":"PowerVM Virtual I\/O Server"},"ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]

Document Information

Modified date:
08 August 2023

UID

ibm16565445