将 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/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
    

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

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

    SAP MaxDB

      /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
    

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

      dbmcli -d TARGET_SERVER_NAME -u TARGET_DB_USER,TARGET_DBUSER_PASSWD db_state
    

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

       dbmcli -d DB -u DBM_USER,DBM_PASSWORD -c backup_start TEMPLATE_NAME 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_DB_NAME;eng=TARGET_SERVER_NAME;
    
  2. 运行以下命令更改密码。

    ALTER USER SRC_DB_DBA_USER IDENTIFIED BY NEW_PASSWORD
    
  3. 使用新密码重新登录,以验证:

    dbisql -nogui -onerror exit -c 'uid=SRC_DB_DBA_USER;pwd=NEW_PASSWORD;dbn=TARGET_DB_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
    

    例如,如果 DBM 用户要将密码从 abcdef 更改为 fedcba,请按以下步骤登录:

    dbmcli -d glxn -u dbm,abcdef

  2. 运行以下命令:

    user_changepwd dbm abcdef

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

    dbmcli -d glxn -u dbm,fedcba