Skip to Content

While installing Solution Manager with MAXDB, installation was completed successfully but SAP failed to startup.  In the MMC, the strdb.cmd never terminated and remained yellow.  Further investigation showed that the MAXDB data area was full and DB was in some kind of suspended state.

 SDN and a few other resources pointed to using dbmcli and db_addvolume as the solution.  However when db_addvolume was used we consistently had the error “-104: DBM command impossible at this time”!  So MAXDB was not starting up fully but db_addvolume was also failing.  Also db_addvolume should be done when db is online.  Surprisingly in SAP Notes or in other places that google searched, there were no hints on this problem and how to solve it (hence the motivation for this blog) 

Here are the steps that we followed to overcome the deadlock on MAXDB v7.6.x, hope its useful for some NW consultant out there 🙂

c:\sapdb\programs\pgm> dbmcli -u user,pwd -d dbname
dbmcli on ISL> db_offline

dbmcli on ISL> param_getvolsall
OK
LOG_MIRRORED                     NO
MAXLOGVOLUMES                    2
MAXDATAVOLUMES                   11
LOG_VOLUME_NAME_001              819200     F  C:\sapdb\ISL\saplog\DISKL001
DATA_VOLUME_NAME_0001            665600     F  C:\sapdb\ISL\sapdata\DISKD0001
DATA_VOLUME_NAME_0002            665600     F  C:\sapdb\ISL\sapdata\DISKD0002
DATA_VOLUME_NAME_0003            665600     F  C:\sapdb\ISL\sapdata\DISKD0003
DATA_VOLUME_NAME_0004            665600     F  C:\sapdb\ISL\sapdata\DISKD0004
DATA_VOLUME_NAME_0005            665600     F  C:\sapdb\ISL\sapdata\DISKD0005
DATA_VOLUME_NAME_0006            665600     F  C:\sapdb\ISL\sapdata\DISKD0006
DATA_VOLUME_NAME_0007            665600     F  C:\sapdb\ISL\sapdata\DISKD0007

dbmcli on ISL>param_addvolume 8 DATA C:\sapdb\ISL\sapdata\DISKD0008 F 665600
Note: What this command does is only to add an entry to the configuration, volume is not created yet

dbmcli on ISL>db_admin

dbmcli on ISL>util_execute ADD DATA VOLUME ‘C:\sapdb\ISL\sapdata\DISKD0008’ PAGES 665600 DEVICE 8
Note: This adds the physical volume to the data area

Now you should be able to start the database.

We faced one further difficulty, the util_execute command failed with error “Cannot find the volume … to add”.  The workaround that worked for us (iam not sure if it will work for all but worth trying):

c:\sapdb\programs\pgm> dbmcli -u user,pwd -d dbname
dbmcli on ISL> db_online

Now wait for the MAXDB entry status to turn to Started in the Windows -> Administrative Tools -> Services.

The dbmcli window would still be “hanging” with db_online not completing.  Press Ctrl + C to abort and relogin to dbmcli and execute the following command.

dbmcli on ISL>db_offline
OK

Now execute the steps described above, they worked and the new volume was added.

Note:  db_addvolume is the preferred method to add data area. This method is to be used only if the command fails resulting in a deadlock, typically happens when data area is already full.

A way to avoid this is to turn auto_extend on 70 so that MAXDB auto extends the data volume when it is 70% full.

To report this post you need to login first.

3 Comments

You must be Logged on to comment or reply to a post.

  1. Lars Breddemann
    Obviously there are two problems here:
    1. The initial database size had been chosen to small before the data load started.  Would be a good idea to check how the size estimation went wrong.

    2. This behaviour is obviously a MaxDB bug and it’s already fixed with the upcoming next released build (see PTS 1157715 http://maxdb.sap.com/webpts?wptsdetail=yes&ErrorType=0&ErrorID=1157715 for details)

    Problems like the described one really should be approached by opening a support message on BC-DB-SDB-INS.

    regards,
    Lars

    (0) 
    1. Srinivasan Subramanian Post author
      Hi Lars

      Absolutely right .. the best method will be to wait for the official fix.  This method is for people like me who cannot wait to keep their systems down until the solution is available.  BTW, usage of the commands described is not incorrect (as db_addvolume does something similar), its just not the recommended way.

      As for why the problem occured, it was a default/typical SolMan install and the auto_extend on was forgotten!

      Finally, your link to maxdb problem ticket is a little confusing as the solution says “Rejected by DM (error situation very unlikely)” so not sure if we will really get a build ?

      Regards
      Srini

      (0) 
      1. Lars Breddemann
        Hi Srini,

        the point about the PTS message really is, that the problem discussed there IS very unlikely to occur.
        Looking back to the problem description in your blog I’m not sure if you really hit the problem at all. Basically it may have been a different issue at all.
        Nevertheless, even if it had been a (new) bug in your case, it would had been better to call support, as we can most often help you even without a coding fix.
        Direct manipulation of database parameters etc. especially for adding volumes caused many problems in the past – so bad ones, that the db did not even start up afterwards.

        regards,
        Lars

        (0) 

Leave a Reply