在设备管理控制台中将其他 SAP 数据库的完整备份和增量备份恢复到新目标

以下部分包含有关将 SAP ASE、SAP IQ 和 SAP MaxDB 数据库从完整备份+增量备份恢复到新目标的信息。

过程

如需将基于文件的备份恢复到新目标,请按照以下说明操作:

  1. App Manager Applications 列表中,右键点击受保护的数据库,然后选择访问

  2. 选择要恢复的最新快照,然后点击装载

  3. 在装载位置下提供装载点,例如:/mymountpoint

    数据库备份装载在 /mymountpoint 下,日志备份装载在 /mymountpoint_archivelog 下。

  4. 运行以下命令,从 /var/act/log/UDSAgent.log 中检索装载的 JobID

    grep "mount -t " /var/act/log/UDSAgent.log | grep -w "(mountPoint provided in step 3)"|tail -1
    

    例如:

    # grep "mount -t " /var/act/log/UDSAgent.log| grep -w "/db2mnp" |tail -1
    2019-11-18 23:59:19.740 GEN-INFO 22488 Job_0404207 Spawning cmd: mount -t ext4 /dev/act403764_DBDump_1574101677612/act_staging_vol /db2mnp 2>&1
    
  5. ARCHIVELOG_MNT 等于 _archivelog。请参阅第 3 步。

  6. 以根用户身份登录数据库服务器。在服务器上,将目录更改为以下内容:

    cd /act/custom_apps/(database type)/dump
    
  7. 以根用户身份从命令行运行脚本。

  8. 卸载已挂载的 dump 备份。

必需的脚本

在将数据库装载到新目标之前,您必须准备一个脚本。

SAP ASE

  /act/custom_apps/sybase/dump/ACT_SYBASE_dumprestore_newTarget.sh
  SYBOSUSER
  SRC_SYBASE_SQLD
  TARGET_DB_USER
  TARGET_DBUSER_PASSWD
  ACT_NAME
  TARGET_MNT_PNT
  SRC_DBNAME
  UNTIL_TIME
  BEGIN_TIME
  LOG_BKP_MNTPT
  SRC_PAGE_SIZE

连接到 SAP ASE 实例,并确认数据库已恢复且处于在线状态。

    isql -U<username> -P<password> -S<SAP ASE server name>
    sp_helpdb
    go

SAP IQ

  /act/custom_apps/sybase/dump/ACT_SYBASE_dumprestore_newTarget.sh
  OSUSER
  TARGET_MNT
  SRC_DB_DBA_USER
  SRC_DB_DBA_PWD
  SYBIQ_HOME
  VERSION
  ACT_NAME
  CATALOG_DB_FILE
  LOG_BKP_MNTPT

连接到 IQ 数据库,并确认数据库已恢复且处于在线状态。

    dbisql -c "uid=<username>;pwd=<password>;eng=<engine name>;dbn=<database name>;" -nogui

SAP MaxDB

  /act/custom_apps/maxdb/dump/ACT_Maxdb_dumpRestore_newTarget.conf
  OSUSER
  SRC_DBSID
  TARGET_DB_USER
  TARGET_DBUSER_PASSWD
  TARGET_SERVER_NAME
  DUMPBKPLOC
  DBADMIN_PWD
  UNTIL_TIME
  LOG_MNT_PNT
  DATA_MNT_PNT
  JobID
  MANIFEST_FILE_LOC
  LOG_BKP_MNTPT
  BEGIN_TIME
  SRC_DB_VERSION

您可以通过运行以下命令获取这些值:

  • DUMPBKPLOC:

    df -h | grep <DUMPBKPLOC> | awk '{print $NF}'
    cat /var/act/log/UDSAgent.log | grep -w <DUMPBKPLOC> | tail -1 | cut -d']' -f2 | cut -d' ' -f2
    
  • JobID:

    cat /var/act/log/UDSAgent.log | grep <JOBID> | awk -F"disk at " '{print $2}'
    
  • MANIFEST_FILE_LOC:

    cat /var/act/log/UDSAgent.log | grep -i "Manifest_File_" | awk -F"disk at " '{print $2}'
    
  • LOG_BKP_MNTPT:

    df -h | grep "_archivelog" | awk '{print $NF}'
    
  • BEGIN_TIME:

    cat /var/act/log/UDSAgent.log | grep "BEGIN_TIME" | awk -F"BEGIN_TIME=" '{ print $2 }' | cut -d' ' -f1-2 | cut -d'"' -f2
    
  • SRC_DB_VERSION:

    dbmcli -d <SRC_DBSID> dbm_version | grep "VERSION" | awk -F"= " '{print $2}'
    

连接到 MaxDB 实例,并确认数据库已恢复且处于在线状态:

    dbmcli -d <TARGET_SERVER_NAME> -u
    <TARGET_DB_USER>,<TARGET_DBUSER_PASSWD>
    db_state