yuan-er

导航

 

恢复GaussDB库/表到指定时间点

操作场景

GaussDB支持使用已有的实例级自动备份,恢复库、表数据到指定时间点。

GaussDB支持使用已有的表级自动备份,恢复表数据到指定时间点。

GaussDB支持将备份恢复到新实例、当前实例和已有实例。

注意事项

  • 恢复指定库或表仅支持V2.0-3.200及以上版本实例,暂不支持单副本实例。
  • 节点扩容,版本升级,恢复自身期间,对应时间点无法恢复。
  • 实例故障,发生CN剔除等场景无法产生归档日志,对应时间点无法恢复。
  • 如果您要将数据库备份恢复到新实例:
    • 数据库引擎、数据库大版本,与原实例相同,不可修改。
    • 数据库密码需重新设置。
  • 恢复到当前实例会在当前实例上新创库或表来恢复指定库或表的数据,恢复过程中源数据库可用,归档日志正常进行。
  • 删除实例会默认删除所有归档日志,不支持选择保留。删除实例后,重建实例或恢复实例不支持恢复任意时间点。
  • 库级恢复及同库同schema下的表级恢复不支持重名,如果待恢复的实例中有相同名称的库或表,会导致恢复失败,恢复时需要对库/表重命名。
  • 在原实例中执行ALTER DATABASE SET TABLESPACE和ALTER TABLE SET TABLESPACE时,需要等到原实例触发一次差量备份或全量备份,才能正常进行表级数据恢复。
  • 最多支持100个库或表恢复,超过阈值建议使用实例级恢复。
  • 表级恢复不支持列存表、自定义类型表、同义词、临时表(包括全局)、unlogged表、私有用户的表、账本数据库。
  • 表级恢复目前只支持恢复与表相关的堆数据、索引数据和自增列数据,与表相关联的其他如:外键信息、触发器相关等暂不支持恢复。
  • 表级恢复后行级访问控制和动态脱敏信息会丢失。
  • 库表级备份恢复不支持NAS和XBSA备份介质。
  • 库表级备份恢复不支持选择系统库(postgres,template0,template1,templatem,templatea,templatepdb)库及其下的表。
  • 库表级备份恢复不支持选择系统SCHEMA(例如public)及其下的表。
  • 单副本实例不支持库表级备份恢复。
  • 基于快照备份的PITR不支持恢复库表。
  • 恢复到已有实例,不支持选择已建立容灾关系的实例。
  • 恢复到已有实例,需要开启特性白名单“taurus_feature_supportRestoreExistingIns”,详细操作请参考《云数据库 GaussDB 维护指南(for 华为云Stack 8.5.0)》中的“运维指南 > DBS运维管理平台操作指南 > 配置管理 > 特性白名单”章节。

操作步骤

  1. 登录管理控制台
  2. “实例管理”页面,选择指定的实例,单击实例名称。
  3. 在左侧导航栏中选择“备份恢复”页签,选择实例级备份或表级备份。

     

    • 选择实例级备份,恢复到库或表,单击“恢复到指定时间点”。
    • 选择表级备份,恢复到指定表,单击“恢复到表级指定时间点”。
  4. 单击“确定”,恢复实例。

     

    当恢复数据类型选择“表”时,“备份的表”默认显示至多200个表,如果您需要的特定表未显示,可以使用右上角的“+”号添加自定义表(如果实例故障或删除场景,也可采用此方式)。

    图1 恢复到指定时间点

     

    • 恢复到新实例:
      • 数据库大版本与原实例备份时的大版本相同。例如:V2.0-3.200.x的实例仅可以恢复到V2.0-3.200.y版本的实例。
      • 存储空间大小默认和备份时实例磁盘空间相同,且必须大于或等于备份时实例存储空间大小。
      • 数据库密码需重新设置。
      • 新实例的规格默认和原实例相同,如果需要修改规格,新实例的规格必须大于或等于原实例的规格。V2.0-8.200及以上版本支持大规格恢复到小规格,最小8U32G。
      • 原实例的参数不会直接恢复到新实例上,恢复新实例页面选择目标参数模板,恢复完成后单击新实例名称,在“参数管理”页面手动修改参数值。
      • 支持实例在资源类型BMS、ECS之间做备份恢复到新实例,V2.0-8.200及以上版本支持恢复到不同的部署形态(需要DN数一致)。

      填写完新实例的基本信息后,单击“立即申请”。

    • 恢复到当前实例:
      • 恢复时的实例要与备份时实例版本号和节点配置相同。
      • 选择该选项时,会在当前实例上创建新的库或表数据,恢复过程中源数据库可用。
      • 库级(database,例如db1)恢复到当前实例后,需要等待数据库自动执行一次全量备份或差量备份,等待的时间与备份策略有关,后续其他恢复流程才能恢复出db1的实际数据。如果恢复实例到指定时间点时选择的时间点是本次库级恢复完成后至下次备份前的某个时间点,会导致db1无法恢复。
      • 建议先进行手动备份后再进行恢复操作。
    • 恢复到已有实例:
      • 选择该选项时,会在目标实例上新创库、表,恢复过程中数据库可以正常使用。
      • 建议先对目标实例进行手动备份后再进行恢复操作。
      • 恢复到已有实例需要目标实例和源实例的备份介质,实例类型,部署形态,副本一致性协议,事务一致性,CPU架构,资源规格,高可用和高可靠策略保持一致。
      • V2.0-8.200.0及以上版本恢复已有实例时支持计算资源不同、部署形态不同(DN数一致,单节点不支持)和规格不同(CPU、内存不同均可恢复)。
        NOTICE:

        从大规格恢复至小规格或小规格恢复至大规格均支持,如果从大规格恢复至小规格时目标实例规格必须大于等于8U32GB。

      • 如果源实例开启透明加密,不支持表级恢复到已有实例。
    • 如果选择实例级备份恢复到库,在“选择恢复库类型”中可选择“恢复时间点库”或“最新库”;如果选择实例级备份恢复到表,在“选择恢复表类型”中可选择“恢复时间点表”或“最新表”。
      以恢复到表的情况为例:
      • 由于历史备份时间到当前时间期间,实例可能进行过表的创建等操作,“恢复时间点表”和“最新表”中包含的表可能不同。选择“最新表”中的表尝试恢复到指定时间点,不一定能恢复成功。
        • 恢复时间点表:是查询历史备份时候存储的库表信息的结果。
        • 最新表:是查询当前实例的表的结果。
      • 如果实例进行过表的删除等操作,可能存在“恢复时间点表”和“最新表”都没有特定表的情况,如您确认特定表在生成备份的时间点时存在,支持使用右上角的“+”号添加自定义表。
      • “恢复时间点表”默认显示至多200个表,如您需要的特定表未显示,可以使用右上角的“+”号添加自定义表。

     

  5. 查看恢复结果。

     

    • 恢复到新实例

      为用户重新创建一个和该备份数据相同的实例。可看到实例由“创建中”变为“正常”,说明恢复成功。

      恢复成功的新实例是一个独立的实例,与原有实例没有关联。

    • 恢复到当前实例

      在“实例管理”页面,可查看目标实例状态为“恢复中”,恢复完成后,实例状态由“恢复中”变为“正常”。

    • 恢复到已有实例

      在“实例管理”页面,可查看目标实例状态为“恢复中”,恢复完成后,实例状态由“恢复中”变为“正常”。恢复完成后系统会自动进行一次实例级全量备份。

     

 
posted on 2025-03-21 15:02  数据库笔记  阅读(1)  评论(0)    收藏  举报