Full System Recovery: Restoring the SAP MaxDB Database from the SAP Command Line

Updated

Use this procedure when there is a disaster and you want to restore the SAP MaxDB database to a new client by using the SAP MaxDB command line interface.

The examples in this procedure use the following pipe mediums:

  • two for the full data backup (backdata2)

  • two for the incremental data backup (backpages2)

  • one for the log backup (backLog)

Procedure

Warm Database (online)

  1. Perform a full data backup operation.

    1. Place the database in warm mode, and then perform the backup operation. On the command line, type the following commands:

      dbmcli -d DB1 -u dbm,dbm db_warm dbmcli -d DB1 -u dbm,dbm -uUTL -c backup_start backdata2

      The software generates an EBID for the job, for example, XBC5DDF5_6006ECE.

    2. Verify that the dbm.ebf file displays the EBID with the backup pipes.

      Example

      DB1 XBC5DDF5_6006ECE \\.\pipe\pipe_mem1DB1 XBC5DDF5_6006ECE \\.\pipe\pipe_mem2

  2. Perform an incremental data backup operation with the database in warm mode.

    1. Perform the backup operation. On the command line, type the following command:

      dbmcli -d testdb -u dbm,dbm -uUTL -c backup_start backpages2

      The software generates an EBID for the job, for example, : XBC5DDF5_6006ECF.

    2. Verify that the dbm.ebf file displays the EBID with the backup pipes.

      Example

      DB1 : XBC5DDF5_6006ECF \\.\pipe\pipe_mem3DB1 : XBC5DDF5_6006ECF \\.\pipe\pipe_mem4

  3. Perform a log backup operation with the database in warm mode.

    1. Perform the backup operation. On the command line, type the following command:

      dbmcli -d testdb -u dbm,dbm -uUTL -c backup_start backlog

      The software generates a EBID for the job, for example, XBC5DDF5_6006ED8.

    2. Verify that the dbm.ebf file displays the EBID with the backup pipes.

      Example

      DB1 XBC5DDF5_6006ED8 \\.\pipe\pipe_mem5

  4. Restore the catalog history and the kernel file (dbm.ebf and dbm.knl) because the files are lost after a disaster occurs.

    1. On the command line, type the following commands:

      UNIX

      root@machine01 Base]# cd /opt/commvault/Base [root@machine01 Base]# export BI_CALLER=BACKINT_MAXDB

      Windows

      C:\Users\Administrator>cd C:\Program Files\CommVault\ContentStore\Base C:\Program Files\CommVault\ContentStore\Base>set BI_CALLER=BACKINT_MAXDB

    2. Restore the catalog history file and the kernel file (dbm.ebf and dbm.knl). For more information, see Restoring to a Different Client.

      Note

      You do not need to set the srcCrossClient and srcCrossDbName parameters in the param file because the source and destination server names are the same for a disaster recovery operation.

  5. Restore the full data backup.

    1. Place the database in admin mode. On the command line, type the following command:

      dbmcli -d DB1 -u dbm,dbm db_admin
          
      
    2. Log in to the first dbmcli session with the utility connect and continue until the database is online. On the command line, type the following commands:

      dbmcli -d DB1 -u dbm,dbm -uUTL dbmcli on DB1>db_activate recover backdata2 externalbackupid “<EBID of FULL online DATA>”

      Example

      dbmcli -d DB1 -u dbm,dbm -uUTL
      dbmcli on DB1>db_activate recover backdata2 externalbackupid "DB1 XBC5DDF5_6006ECE \\.\pipe\pipe_mem1,DB1 XBC5DDF5_6006ECE \\.\pipe\pipe_mem2"
          
      
  6. Restore the incremental data backup. On the command line, type the following command:

    recover_start backpages2 externalbackupid “<EBID of INCREMENTAL online data>”

    Example

    dbmcli on DB1>recover_start backpages2 externalbackupid "DB1 XBC5DDF5_6006ECF \\.\pipe\pipe_mem3,DB1 XBC5DDF5_6006ECF \\.\pipe\pipe_mem4"
        
    
  7. Restore the log backup. On the command line, type the following command:

    recover_start backlog externalbackupid “<EBID of LOG>”

    Example

    dbmcli on DB1>recover_start backlog externalbackupid "DB1 XBC5DDF5_6006ED8 \\.\pipe\pipe_mem5"
        
    
  8. Bring the database back online. On the command line, type the following commands:

    dbmcli on DB1>recover_ignore OK Returncode 0 Date 20180717 Time 00190755 Server winls1.example.loc Database DB1 Kernel Version Kernel 7.9.09 Build 008-123-261-855 Pages Transferred 32440 Pages Left 0 Volumes 1 Medianame BackLog Location \\.\pipe\pipe_mem5 Errortext Label LOG_000000001 Is Consistent First LOG Page 0 Last LOG Page 32694 DB Stamp 1 Date 20180716 DB Stamp 1 Time 00151147 DB Stamp 2 Date 20180716 DB Stamp 2 Time 00151423 Page Count 32422 Devices Used 1 Database ID winls1.example.loc:DB1_20180716_151159 Max Used Data Page Converter Page Count --- dbmcli on DB1>db_state OK State ONLINE

Cold Database (offline)

  1. Put the database in cold (offline) mode and perform a full data backup operation.

    1. Perform the backup operation. On the command line, type the following commands:

      dbmcli -d DB1 -u dbm,dbm db_cold ddbmcli -d DB1 -u dbm,dbm -uUTL -c backup_start backdata2

      The software generates an EBID for the job, for example, XBC5DDF5_6006ECA.

    2. Verify that the dbm.ebf file displays the EBID with the backup pipes.

      Example

      DB1 XBC5DDF5_6006ECA \\.\pipe\pipe_mem1DB1 XBC5DDF5_6006ECA \\.\pipe\pipe_mem2

  2. Perform an incremental data backup operation with the database in cold mode.

    1. Perform the backup operation. On the command line, type the following command:

      dbmcli -d testdb -u dbm,dbm -uUTL -c backup_start backpages2

      The software generates an EBID for the job, for example, XBC5DDF5_6006ECB.

    2. Verify that the dbm.ebf file displays the EBID with the backup pipes.

      Example

      DB1 XBC5DDF5_6006ECB \\.\pipe\pipe_mem3DB1 XBC5DDF5_6006ECB \\.\pipe\pipe_mem4

  3. Restore the catalog history file and the kernel file (dbm.ebf and dbm.knl), because the files are lost after a disaster occurs.

    1. On the command line, type the following commands:

      UNIX

      [root@machine01 Base]# cd /opt/commvault/Base [root@machine01 Base]# export BI_CALLER=BACKINT_MAXDB

      Windows

      C:\Users\Administrator>cd C:\Program Files\CommVault\ContentStore\Base C:\Program Files\CommVault\ContentStore\Base>set BI_CALLER=BACKINT_MAXDB

    2. Restore the catalog history file and the kernel file (dbm.ebf and dbm.knl). For more information, see Restoring to a Different Client.

      Note

      You do not need to set the srcCrossClient and srcCrossDbName parameters in the param file because the source and destination server names are the same for a disaster recovery operation.

  4. Restore the full data backup.

    1. Place the database in cold mode. On the command line, type the following command:

      dbmcli -d DB1 -u dbm,dbm db_cold
          
      
    2. Refresh the data and the log volumes: On the command line, type the following command:

      dbmcli -d DB1 -u dbm,dbm db_activate
          
      
    3. Place the database in cold mode. On the command line, type the following command:

      dbmcli -d DB1 -u dbm,dbm db_cold
          
      
    4. Log in to the first dbmcli session with the utility connect and continue until the database is online. On the command line, type the following commands:

      dbmcli -d DB1 -u dbm,dbm -uUTL dbmcli on DB1>recover_start backdata2 externalbackupid “<EBID of FULL offline DATA>”

      Example

      dbmcli -d DB1 -u dbm,dbm -uUTL
      dbmcli on DB1>recover_start backdata2 externalbackupid "DB1 XBC5DDF5_6006ECA \\.\pipe\pipe_mem1,DB1 XBC5DDF5_6006ECA \\.\pipe\pipe_mem2"
          
      
  5. Restore the incremental data backup. On the command line, type the following commands:

    dbmcli on DB1>recover_start backpages2 externalbackupid “<EBID of INCRMENTAL offline data>”

    Example

    recover_start backpages2 externalbackupid "DB1 XBC5DDF5_6006ECB \\.\pipe\pipe_mem3,DB1 XBC5DDF5_6006ECB \\.\pipe\pipe_mem4"
        
    
  6. Bring the database online. On the command line, type the following commands:

    dbmcli on DB1>db_execute clear log
    OK
    ---
    dbmcli on DB1>db_online
    OK