Skip to Content
avatar image
Former Member

dbmcli does not support external commands anymore

My backup script doesn't work with dbmcli version

If you store your MaxDB data sets on NetApp-Filer volumes you can use NetApp-Snapshots to backup them. Since MaxDB version 7.8 this is supported by MaxDB with device type EXTERNAL.

After creating an new backup template (e.g. NETAPP) with device type EXTERNAL you can use the dbmcli commands

"backup_start NETAPP DATA"


"backup_finish NETAPP ExternalBackupID $SNAPSHOT"

The first command "backup_start NETAPP DATA" tells maxdb to do a savepoint and take a temporay MaxDB snapshot. Now you can backup the database with operating system tools e.g. draw a NetApp-Filer snapshot. The second dbmcli command registers the backup in the backup history list and deletes the temporay MaxDB snapshot.

Unfortunatly you have to submit the two dbmcli commands within the same database session. This is no problem if you do the backup of your MaxDBs in dialog mode. But if you want to script the backup you need to sumbit the NetApp snapshot command from within one dbmcli session between backup_start and backup_finish. I have done it until now with a HERE script:

dbmli -Uc -d <SID> >/dev/null 2>&1 <-HERE


backup_start NETAPP DATA

!ssh sapfiler snap create dbvol $SNAPSHOT

backup_finish NETAPP ExternalBackupID $SNAPSHOT




Earlier versions of MaxDB knew the statement "exec_command". This is long gone. But the undocumented feature "!" to start os commands survived in dbmcli until Now they declared this bitter needed feature to a security risk. Since you get an error (unkown command).

Searching for a solution I tried the "background_server" commands. But they only usable in dialog mode.

Any suggestions?


Günter Hoeth

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • avatar image
    Former Member
    Jul 10, 2013 at 12:37 PM

    Hi G√ľnter,

    you are right - MaxDB does not support executation of external commands via DBMCLI ! anymore because of security reasons.

    Regards, Christiane

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Dec 17, 2013 at 01:38 PM

    A workaround is to copy an older version of the dbmcli executable from another installation. A file works fine with a installation for example. The executable is located in /sapdb/clients/<SID>/bin (linux).

    Add comment
    10|10000 characters needed characters exceeded