yuan-er

导航

 

GaussDB-通过备份文件恢复GaussDB库/表

操作场景

GaussDB支持使用已有的实例级自动备份和手动备份,将指定库、表数据恢复到备份被创建时的状态。该操作恢复的是指定库或指定表的数据。

GaussDB支持使用已有的表级自动备份和手动备份,将指定表数据恢复到备份被创建时的状态。该操作恢复的是指定表的数据。

当前支持恢复到新实例、已有实例和当前实例。

限制条件

  • 恢复指定库、表仅支持V2.0-3.200及以上版本实例。
  • 恢复时目标实例异常、实例磁盘满将会导致恢复失败。
  • 不支持跨大版本恢复。例如:V2.0-3.200.x的实例仅可以恢复到V2.0-3.200.y版本的实例。
  • 最多支持100个库或表同时恢复,超过阈值建议使用实例级恢复。
  • 库级恢复及同库同SCHEMA下的表级恢复不支持重名,如果需要恢复需要对恢复后的库或表重命名。
  • 表级恢复不支持列存表、自定义类型表、同义词、临时表(包括全局)、unlogged表、私有用户的表、账本数据库。
  • 表级恢复目前只支持恢复与表相关的堆数据,索引数据和自增列数据,与表相关联的其他如:外键信息、触发器相关等暂不支持恢复。
  • 表级恢复后行级访问控制和动态脱敏信息会丢失。
  • 库表级备份恢复不支持NAS和XBSA备份介质。
  • 库表级备份恢复不支持选择系统库(postgres,template0,template1,templatem,templatea,templatepdb)库及其下的表。
  • 库表级备份恢复不支持选择系统SCHEMA(例如public)及其下的表。
  • 单副本实例不支持库表级备份恢复。
  • 快照备份不支持恢复到库或表。
  • 恢复到已有实例,不支持选择已建立容灾关系的实例。
  • 通过备份文件恢复库/表到已有实例,需要开启特性白名单“taurus_feature_supportRestoreExistingIns”,详细操作请参考《云数据库 GaussDB 维护指南(for 华为云Stack 8.5.0)》中的“运维指南 > DBS运维管理平台操作指南 > 配置管理 > 特性白名单”章节。

操作步骤

  1. 登录管理控制台
  2. 在左侧导航栏单击“备份恢复”,选择需要恢复的备份,单击操作列的“恢复”。

     

    • 如果选择的备份是实例级备份,您可以选择恢复到指定的库或指定的表。
    • 如果选择的备份是表级备份,您只能选择恢复到指定表。

    您也可在“实例管理”页面,单击指定的实例名称,在左侧导航栏单击“备份恢复”,在“全量备份”页签下选择单击实例级或者表级备份页签对应的备份操作列中的“恢复”。

  3. 单击“确定”,恢复库、表数据。

     

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

    图1 恢复备份

     

    表级全量备份和表级增量备份除了备份数据文件之外,也会备份这个过程中的增量日志文件,用于保证该备份集恢复以后数据的一致性。由于增量日志文件的备份和上传需要一定时间(受网络、OBS存储介质流控等影响),因此,需要注意的是,备份结束时间并不代表该备份集恢复后的数据一致性时间点(该恢复一致性点一般在备份结束时刻之前的几分钟以内)。如果用户对于恢复后数据的一致性时间点有严格要求,请使用指定时间点恢复。

    • 恢复到新实例:
      • 数据库大版本与原实例备份时的大版本相同。例如: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。

      • 如果源实例开启透明加密,不支持表级恢复到已有实例。

     

  4. 查看恢复结果。

     

    • 恢复到新实例

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

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

    • 恢复到当前实例

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

    • 恢复到已有实例

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

     

 
posted on 2025-01-24 09:14  数据库笔记  阅读(81)  评论(0)    收藏  举报