Fixing FATAL ERROR :DBD::SQLAnywhere initialisation failed: DBD::SQLAnywhere->driver didn't return a handle when run db related commands on NPS

  • KM03042281
  • 11-Dec-2017
  • 11-Dec-2017

This document has not been formally reviewed for accuracy and is provided "as is" for your convenience.

Summary

Possible fix for DBD::SQLAnywhere->driver didn't return a handle FATAL error when running db related command like dbCheckIndexes.ovpl, incremental backup using backup.ovpl,..

Error

FATAL: DBD::SQLAnywhere initialisation failed: DBD::SQLAnywhere->driver didn't return a handle at /opt/OV/NNMPerformanceSPI/bin/backup.ovpl line 380.
DBD::SQLAnywhere->driver didn't return a handle ...propagated at /opt/OV/nonOV/perl/a/lib/site_perl/NPS/npslog.pm line 210.

Cause

Possible caused by IQ memory is not upgraded properly

Nov 29, 2017 12:00:57 AM [PID:71526] WARN /opt/OV/nonOV/perl/a/bin/../lib/site_perl/NPS/npsDB.pm[923] ETL.Interface_Health Error running dbisql: 0 row(s) deletedCould not execute statement.  All IQ large memory has been used, allocation canceled [size: 67108927]  -- (slib/s_llhtable.cxx 193)  SQLCODE=-1013130, ODBC 3 State="HY000" 

 

Fix

  1. Stop etl and db services.   à run the command stopALL.ovpl
    2) take backup of $NPSDataDir/database/perfspi.cfg file 
    3) In perfspi.cfg, modify value -gd to DBA (from all) and -gm to 1 (from 100).  

    4) Start db services. –> startDB.ovpl
    5) connect to dbisql using 'dbisql -c "DSN=PerfSPIDSN" -nogui' command

6) execute the command #alter database upgrade

 

  1. You can cross verify from the attached readme.txt of the PL35
    https://patch-central.corp.hpecorp.net/crypt-web/protected/viewContentText.do?patchId=IQ16SP8PATCH_PL35_LINUX&fileName=readme_sp8pl35Linux.txt
  2. Once it is done… revert back the changes done in the perfspi.cfg file to the earlier values for –gd and –gm
    stop and start all the services for NPS.

 

After the steps are done, kindly run the below command to reindex the db:

- dbCheckIndexes.ovpl -r -p <ExtensionPack>

 

Replace <ExtensionPack> with the following value:

 

        Component_Health

        PerfSPI_Diagnostics

        AtmPvc_Health

        FrameRelayPvc_Health

        Interface_Health

 

If successful then go ahead and re-run the command to take backup and then the incremental backup and other db related commands