将其他数据库类型恢复到源

Backup and DR Service 的恢复操作会将备份映像恢复到来源,并覆盖其中的所有数据。

系统限制和解决方法

  • 作为逻辑卷管理器 (LVM) 快照备份到根分区上的系统数据库无法在恢复操作中使用,因为无法卸载根分区。这类数据需要从标准挂载点手动恢复到同一主机。
    如需以较短的用户停机时间恢复卷级数据库映像,请参阅装载并迁移其他类型的数据库以实现即时恢复

  • 如果多个实例共用同一卷或文件系统,则不支持恢复到源。如需恢复此类应用,请将映像挂载到主机,然后使用将单个数据库从基于卷的备份映像恢复到源代码中详述的步骤执行单个数据库恢复。

  • 如果要备份的生产卷下有嵌套的挂载点,则恢复和迁移操作会恢复到源代码失败,因为生产卷处于忙碌状态且无法卸载。

  • 如需恢复,请参阅 /backup-disaster-recovery/docs/restore-data/otherdb-restore

将数据库从卷级备份映像恢复到源

此过程使用源数据区域的物理恢复。如需恢复到来源,请按以下说明操作:

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

  2. 选择一个快照图片,然后点击恢复

  3. 选择传统,而不是“挂载并迁移”。

  4. 如果来源应用受启用了数据库日志备份的快照政策保护,并且映像中包含日志,则您可以更改前滚时间部分中的这些选项,以使用这些日志前滚到特定时间点:

    • 日期字段包含数据库可以滚动到(通过应用数据库事务日志)的所有可能日期。选择您需要将数据库滚动到哪个日期。
    • “时间”字段包含一个滑块,用于显示数据库可滚动到所选日期上的所有可能时间。如果您选择可能的最晚日期,然后将滑块移至最右侧位置,则恢复作业会应用于所有可用日志。如果您选择尽可能早的日期并将滑块移至最左侧位置,则恢复作业不会应用任何日志。
    • 您可以指定使用用户时间主机时间进行滚动。用户时间是相对于当前用户的当地时间。主机时间是相对于托管要恢复的数据的系统而言的。
  5. 启用使用恢复功能恢复以应用已恢复的日志。

  6. 点击提交

  ```sh
    ALTER DBSPACE IQ_SYSTEM_LOG RENAME /pitr_log_location
    SET OPTION PUBLIC.IQ_POINT_IN_TIME_RECOVERY_LOGGING = 'ON'
  ```

将单个数据库从基于卷的备份映像恢复到源

如需将单个 Db2 或 SAP ASE 备份映像恢复到其来源,请按以下步骤操作:

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

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

  3. 应用选项中,停用创建新的虚拟应用

  4. 映射选项中,提供挂载点位置。

    例如,使用 /mymount 会将数据库备份挂载在此位置下。日志备份挂载在 /mymount_archivelog 下。

  5. 点击提交

  6. 请查看监控 > 作业页面,了解挂载作业的完成时间。

  7. 作业完成后,以 root 身份登录数据库服务器。在服务器上,切换到 /act/custom_apps/<var>database type</var>/restore 目录。

  8. /var/act/log/UDSAgent.log 获取挂载的 JobID。 如需查找 JobID,请运行以下命令:

    grep "mount -t " /var/act/log/UDSAgent.log | grep -w "<var>mountpoint from step 4</var>"|tail -1
    

    例如:

    grep "mount -t " /var/act/log/UDSAgent.log | grep -w "/db2mnt" |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 /db2mnt 2>&1
    
  9. ARCHIVELOG_MNT<var>mountpoint provided in step 4</var>_archivelog

  10. 在目标主机命令行中以 root 身份运行脚本:

IBM Db2

脚本:act_db2_lvm_customdb_recovery.sh

脚本的参数:

SOURCE_INSTANCE = <var>Db2  Instance name</var>
DB_NAME=<var>Db2 Database name to be recovered(Single)</var>
TARGET_MNT = <var>Db2 Database image mountpoint name</var>
ARCHIVELOG_MNT= <var>Archive Log backup mount point name</var>
UNTIL_TIME = <var>Recovery Time(Format: "YYYY-MM-DD-HH.MI.SS")</var>
JOBID = <var>Database mount Job name</var>

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

db2 connect to <var>dbname</var>
db2 select db_status FROM SYSIBMADM.SNAPDB

SAP ASE

使用以下参数运行脚本 act_sybase_lvm_customdb_recovery.sh。

./act_sybase_lvm_customdb_recovery.sh OSUSER=sybase
TARGET_SYBASE_SQLD=/home/sybase/Sybase16Home/OCS-16_0 TARGET_MNT_PNT=/sngRst
TARGET_SERVER_NAME=ASE1 TARGET_DB_USER=sa STRIPEON=4 TARGET_DBUSER_PASSWD=sybase
SRC_DBNAME=CU1 LOG_BKP_MNTPT=/sngRst_archivelog UNTIL_TIME="2019-11-07 20:31:27"
BEGIN_TIME="2019-11-07 19:31:27" JOBID="Job_2677627"

脚本的参数

OSUSER = SAP Ase OS owner name
TARGET_SYBASE_SQLD = SAP ASE iSQL path on the target recovery host
TARGET_MNT_PNT = SAP ASE Instance image mountpoint name
TARGET_SERVER_NAME = SAP ASE data server name on the target recovery host
TARGET_DB_USER = SAP ASE Instance username on the target recovery host
TARGET_DBUSER_PASSWD = SAP ASE Instance user password on the target recovery host
SRC_DBNAME = SAP ASE Database name to be recovered (Single)
LOG_BKP_MNTPT = SAP ASE Log image mountpoint name
BEGIN_TIME= Backup begin time (Format: "YYYY-MM-DD HH24:MI:SS")
UNTIL_TIME = Point in time to recover the database (Format: "YYYY-MM-DD HH24:MI:SS")
JOBID = Database mount Job name

连接到 SAP ASE 数据库并验证数据。

  1. 在管理控制台中,再次访问该映像,然后卸载并删除数据库挂载点。

将基于文件的完整+增量备份映像恢复到源

此过程会覆盖源数据。如需从基于文件的备份映像恢复源数据库,请按以下步骤操作:

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

  2. 选择一个快照图片,然后点击恢复

  3. 选择传统,而不是“挂载并迁移”。

  4. 使用选择内容选择要恢复的一个或多个数据库。

  5. 启用使用恢复功能恢复以应用所有已恢复的日志。

  6. 点击提交。这会使用数据库的恢复 API 启动源数据库物理恢复。

  ALTER DBSPACE IQ_SYSTEM_LOG RENAME '/<var>pitr_log_location</var>'
  SET OPTION PUBLIC.IQ_POINT_IN_TIME_RECOVERY_LOGGING = 'ON'