将 SAP IQ 和 SAP MaxDB 数据库从基于卷的备份映像恢复到新位置 - 备份和灾难恢复 - Google Cloud

将 SAP IQ 和 SAP MaxDB 数据库从基于卷的备份映像恢复到新位置

这两种方法都需要您自定义并运行配置文件。

以下部分介绍了如何将 SAP IQ 或 SAP MaxDB 数据库基于卷的备份映像恢复到新位置。

  • 如需将 IBM Db2、MariaDB、MySQL、PostgreSQL、SAP ASE、SAP IQ 或 SAP MaxDB 数据库的卷级备份映像恢复到新目标,您还可以使用将数据库即时挂载并迁移到新目标过程。

  • 如需将 IBM Db2、PostgreSQL、SAP ASE、SAP IQ 和 SAP MaxDB 数据库的完整+增量备份映像恢复到新目标,请参阅将其他数据库的完整+增量备份映像恢复到新目标

恢复流程

如需将卷级备份映像恢复到新目标,请按以下步骤操作:

  1. App Manager Applications 列表中,右键点击受保护的数据库,然后选择 Access。您可以使用受管理的备份方案状态过滤条件,仅显示受保护的数据库。

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

  3. 在装载位置下提供目标装载点,例如 /dmpRstNew。此值用作变量 TARGET_MNT_PNT。

    数据库备份挂载在 /dmpRstNew (TARGET_MNT_PNT) 下,日志备份挂载在 /dmpRstNew_archivelog (LOG_BKP_MNTPT) 下。

  4. 以 root 用户身份登录数据库服务器。将目录更改为 /act/custom_apps/<database type>/restore

  5. 运行脚本。

    SAP IQ

    脚本名称:act_sybaseiq_lvm_customdb_recovery.sh

    脚本位置:/act/custom_apps/sybaseiq/restore

    脚本:

    /act/custom_apps/sybaseiq/restore/act_sybaseiq_lvm_customdb_recovery.sh
    TARGET_MNT
    OSUSER
    CATALOG_DB_FILE
    SRC_DB_DBA_USER
    SRC_DB_DBA_PWD
    LOG_BKP_MNTPT
    RECOVERY_TIME
    JOBID
    INCR_BKP_LOC
    

    脚本的变量:

    • TARGET_MNT:第 3 步中的挂载作业期间提供的挂载点
    • OSUSER:目标 SAP IQ 数据库的操作系统用户
    • CATALOG_DB_FILE:源数据库文件的完整路径,例如 /lv3Data/lv3DB/data/lv3DB.db
    • SRC_DB_DBA_USER:目标实用程序数据库用户
    • SRC_DB_DBA_PWD:目标实用程序数据库密码
    • LOG_BKP_MNTPT:从装载作业期间提供的装载点获取此值,后跟 _archivelog,例如 /SDBR_archivelog
    • RECOVERY_TIME:(可选)上一个已知良好数据库的时间,并记录所需的恢复时间,格式为 "YYYY-MM-DD HH:MM:SS"
    • JOBID:挂载作业 ID(在管理控制台中,依次选择“监控”>“作业”标签页),格式为 Job_1479897
    • INCR_BKP_LOC:增量备份文件路径,例如 /act/tmpdata/Job_1479897/INC_BKP.1 始终为 /act/tmpdata//INC_BKP.1

    脚本运行后,连接到 IQ 数据库,并确认数据库已恢复并处于联机状态。

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

    SAP MaxDB

    脚本名称:/var/act/scripts/ACT_MAXDB_lvmRestore_newTarget.conf

    脚本位置:/act/custom_apps/maxdb/restore

    脚本:

      /act/custom_apps/maxdb/restore/ACT_MAXDB_lvmRestore_newTarget.sh
      OSUSER
      TARGET_SERVER_NAME
      TARGET_DB_USER
      TARGET_DBUSER_PASSWD 
      SOURCE_DBSID
      MANIFEST_FILE_LOC 
      SRC_DB_VERSION
      ACT_JOBNAME
      TARGET_MNT_PNT 
      LOG_BKP_MNTPT
      UNTIL_TIME
      BEGIN_TIME
    

    脚本的变量:

    • OSUSER:目标 MaxDB 数据库的操作系统用户
    • TARGET_SERVER_NAME:目标 MaxDB 数据库的 SID
    • TARGET_DB_USER 和 TARGET_DBUSER_PASSWD:目标 MaxDB 数据库的 DBM 用户名和密码。这些值必须与源 DBM 用户名和密码相同。恢复操作完成后,您可以更改密码。
    • SOURCE_DBSID:源 MaxDB 数据库的 SID
    • MANIFEST_FILE_LOC:Manifest_File_SLD 的完整路径
    • SRC_DB_VERSION:源 MaxDB 数据库的版本号
    • ACT_JOBNAME:挂载作业 ID(从管理控制台的“监控”>“作业”标签页中获取),格式为 Job_1479897
    • TARGET_MNT_PNT:挂载作业期间提供的挂载点(在管理控制台中,依次选择“监控”>“作业”标签页)
    • LOG_BKP_MNTPT:从装载作业期间提供的装载点获取此值,后跟 _archivelog,例如 /SDBR_archivelog
    • UNTIL_TIME:希望恢复完成的时间,格式为 "YYYY-MM-DD HH:MM:SS"(来自管理控制台的已装载备份映像)
    • BEGIN_TIME:开始恢复的时间,格式为 "YYYY-MM-DD HH:MM:SS"(来自管理控制台的已装载备份映像)

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

      dbmcli -d TARGET_SERVER_NAME -u TARGET_DB_USER,TARGET_DBUSER_PASSWD db_state
    

    恢复数据库后,请创建虚构数据库备份或转储数据库备份,以便在 backup_history_list 中生成备份历史记录点,这是进行日志备份的必需条件。例如,以下方法:

    dbmcli -d >MAXDB_KEY -uUTL -c backup_start DATA AUTOIGNORE

    如果不设置此参数,未来的卷级备份将会失败,并显示错误“fail to trigger autolog backup template”(未能触发自动日志备份模板)。

  6. 卸载已挂载的快照映像。

更改密码

在某些情况下,您可能需要更改数据库密码。

SAP IQ

  1. 登录目标数据库。对于名为 TARGET_SERVER_NAME 的数据库,数据库用户为 SRC_DB_DBA_USER,密码为 SRC_DB_DBA_PWD,登录命令如下所示。

    dbisql -nogui -onerror exit -c 'uid=SRC_DB_DBA_USER;pwd=SRC_DB_DBA_PWD;dbn=TARGET_SERVER_NAME;eng=TARGET_SERVER_NAME;'
    
  2. 运行以下命令更改密码。

    ALTER USER actuser IDENTIFIED BY new_password
    
  3. 使用新密码重新登录以进行验证:

    dbisql -nogui -onerror exit -c 'uid=actuser;pwd=new_password;dbn=TARGET_SERVER_NAME;eng=TARGET_SERVER_NAME;'
    

SAP MaxDB

  1. 如需更改密码,请以 DBM 用户身份登录目标数据库:

    dbmcli -d TARGET_SERVER_NAME -u TARGET_DB_USER,TARGET_DBUSER_PASSWD
    user_changepwd dbm <new_password>
    

    例如,对于将密码从 abcdef 更改为 fedcba 的 DBM 用户,请执行以下操作:

    dbmcli -d glxn -u dbm,abcdef

  2. 运行以下命令:

    user_changepwd dbm abcdef

  3. 使用新密码重新登录:

    dbmcli -d glxn -u dbm,fedcba