通过备份文件恢复GaussDB库/表
操作场景
GaussDB支持使用已有的实例级自动备份和手动备份,将指定库、表数据恢复到备份被创建时的状态。该操作恢复的是指定库或指定表的数据。
GaussDB支持使用已有的表级自动备份和手动备份,将指定表数据恢复到备份被创建时的状态。该操作恢复的是指定表的数据。
当前支持恢复到新实例、已有实例和当前实例。
注意事项
- 账户余额大于等于0元,才可恢复到新实例。
- 恢复指定库、表仅支持V2.0-3.200及以上版本实例。如何查看实例版本请参见查看数据库引擎版本。
- 恢复时目标实例异常、实例磁盘满将会导致恢复失败。
- 不支持跨大版本恢复。例如:V2.0-3.200.x的实例仅可以恢复到V2.0-3.200.y版本的实例。
- 最多支持100个库或表同时恢复,超过阈值建议使用实例级恢复。
- 库级恢复及同库同SCHEMA下的表级恢复不支持重名,如果需要恢复需要对恢复后的库或表重命名。
- 表级恢复不支持列存表、自定义类型表、同义词、临时表(包括全局)、unlogged表、私有用户的表、账本数据库。
- 表级恢复目前只支持恢复与表相关的堆数据,索引数据和自增列数据,与表相关联的其他如:外键信息、触发器、SQL限流规则等暂不支持恢复。
- 表级恢复后行级访问控制和动态脱敏信息会丢失。
- 库表级备份恢复不支持选择系统库(postgres,template0,template1,templatem,templatea,templatepdb)库及其下的表。
- 库表级备份恢复不支持选择系统SCHEMA(例如public)及其下的表。
- B兼容模式下带有on update timestamp列的表不支持物理表级恢复。
- 库表级备份恢复不支持选择M兼容库及其下的表。
- 单副本实例不支持库表级备份恢复。
- 快照备份不支持恢复到库或表。
- 实例若开启了透明加密,版本小于V2.0-8.200不支持库表级恢复。
- 恢复到已有实例,不支持选择已建立容灾关系的实例。
- 通过备份文件恢复库/表到已有实例为白名单特性,您可以在管理控制台右上角,选择新建工单,提交开通白名单的申请。
- 如果打开并行恢复功能,那么恢复过程中,所有主、备副本会同时从存储服务器下载备份数据,与默认的串行恢复相比,存储服务器带宽消耗量增加到N倍(N等于每个分片的副本个数)。因此,为了防止OBS带宽达到上限导致恢复速度反而下降的情况,当待恢复集群的分片个数大于5个时,建议先咨询运维当前OBS服务器空闲带宽,然后再决定是否开启并行恢复功能。
- 集中式版实例只支持并行恢复。
- 数据库内核版本小于V2.0-1.4时,不支持开启并行恢复。
- 表级全量备份和表级增量备份除了备份数据文件之外,也会备份这个过程中的增量日志文件,用于保证该备份集恢复以后数据的一致性。由于增量日志文件的备份和上传需要一定时间(受网络、OBS存储介质流控等影响),因此,需要注意的是,备份结束时间并不代表该备份集恢复后的数据一致性时间点(该恢复一致性点一般在备份结束时刻之前的几分钟以内)。如果用户对于恢复后数据的一致性时间点有严格要求,请使用指定时间点恢复。
通过备份文件恢复库/表
- 登录管理控制台。
- 单击管理控制台左上角的
,选择区域和项目。
- 在页面左上角单击
,选择 ,进入云数据库 GaussDB信息页面。
- 在左侧导航栏单击“备份恢复”,选择需要恢复的备份,单击操作列的“恢复”。
- 如果选择的备份是实例级备份,您可以选择恢复到指定的库或指定的表。
- 如果选择的备份是表级备份,您只能选择恢复到指定表。
您也可在“实例管理”页面,单击指定的实例名称,在左侧导航栏单击“备份恢复”,在“全量备份”页签下选择单击实例级或者表级备份页签对应的备份操作列中的“恢复”。
- 选择恢复到新实例,单击“确定”。
当您选择恢复到表时,“备份的表”默认显示至多200个表,如果您需要的特定表未显示,可以使用右上角的“+”号添加自定义表(如果实例故障或删除场景,也可采用此方式)。
- 数据库大版本与原实例备份时的大版本相同。例如:V2.0-3.200.x的实例仅可以恢复到V2.0-3.200.y版本的实例。
- 存储空间大小默认和备份时实例磁盘空间相同,且必须大于或等于备份时实例存储空间大小。
- 数据库密码需重新设置。
- 新实例的规格默认和原实例相同,如果需要修改规格,新实例的规格必须大于或等于原实例的规格;V2.0-8.200及以上版本支持大规格恢复到小规格,最小8U32G。
- 恢复新实例需要和原实例的备份介质、CPU架构类型、操作系统类型和版本、实例类型(分布式版、集中式版)、部署形态、副本一致性协议、事务一致性保持一致。
- 存在M兼容库的情况下,新实例M兼容库表名大小写敏感参数需与原实例相同,默认大小写敏感。
- 原实例的参数不会直接恢复到新实例上,恢复新实例页面选择目标参数模板,恢复完成后单击新实例名称,在“参数管理”页面手动修改参数值。
- 跳转到恢复到新实例的页面,设置新实例相关参数,选择恢复的数据后,单击“立即购买”,恢复库/表数据。
表1 基本信息 参数
参数说明
计费模式
云数据库GaussDB提供包年/包月、按需计费两种计费模式。
- 包年/包月是一种预付费模式,即先付费再使用,按照订单的购买周期进行结算,因此在购买之前,必须确保账户余额充足。
对于分布式混合部署形态的实例,包年/包月模式受限开放,如需使用,可以在管理控制台右上角,选择新建工单,提交开通申请。
- 按需计费是一种后付费模式,即先使用再付费,即开即停,按照云数据库实际使用时长计费。以自然小时为单位整点计费,不足一小时按实际使用时长计费。
实例名称
实例名称长度在4个到64个字符之间,必须以字母开头(区分大小写),可以包含字母、数字、中划线或下划线,不能包含其他特殊字符。
切换策略
仅分布式版实例支持该参数。
该参数受限开放,如需使用您可以在管理控制台右上角,选择新建工单,提交申请。默认选择为数据高可靠,实例购买后如需修改切换策略,请参考修改切换策略。
- 数据高可靠:对数据一致性要求高的系统推荐选择数据高可靠,在故障切换的时候优先保障数据一致性。
- 业务高可用:对业务在线时间要求高的系统推荐使用业务高可用,在故障切换的时候优先保证数据库可用性。
在业务高可用场景下需要谨慎修改如下数据库参数,参数如何修改,可参见修改实例参数:
- recovery_time_target:修改该参数会导致实例频繁进行强制切换,请在技术人员指导下进行修改。
- audit_system_object:修改该参数会导致丢失DDL审计日志,请在技术人员指导下进行修改。
可用区
可用区指在同一区域下,电力、网络隔离的物理区域,可用区之间内网互通,不同可用区之间物理隔离。
可用区只支持部署在一个或者三个可用区。建议选择三个可用区。
时区
由于世界各国家与地区经度不同,地方时也有所不同,因此会划分为不同的时区。时区可在购买实例时选择。
表2 规格与存储 参数
参数说明
性能规格
实例的CPU和内存。不同性能规格对应不同连接数。
关于性能规格详情,请参见数据库实例规格。
存储空间
申请的存储空间会有必要的文件系统开销,这些开销包括索引节点和保留块,以及数据库运行必需的空间。
磁盘空间支持单分片起配值为40GB,步长为4GB。
磁盘加密
说明:- 创建按需计费的磁盘加密实例,需要确保用户具有如下权限:
- 创建包周期实例开启磁盘加密功能时,若首次使用RAM共享的KMS密钥,需要根据页面提示,创建委托。
- 使用RAM共享的KMS秘钥创建实例时,还需要为用户配置如下权限:
- iam:agencies:listAgencies
- iam:agencies:createAgency
- iam:roles:listRoles
- iam:permissions:listRolesForAgency
- iam:permissions:grantRoleToAgency
- kms:cmk:createGrant
如果使用共享KMS密钥,对应的CTS事件为createGrant,仅密钥所有者能够感知到该事件。
表3 网络和数据库配置 参数
描述
虚拟私有云
GaussDB实例所在的虚拟专用网络,可以对不同业务进行网络隔离。需要创建或选择所需的虚拟私有云。如果没有可选的虚拟私有云,GaussDB默认为用户分配资源。
GaussDB实例创建完成后不支持切换虚拟私有云,请谨慎选择所属虚拟私有云。
如何创建虚拟私有云,请参见创建虚拟私有云基本信息及默认子网。
您还可以通过共享VPC功能,使用其他账号共享的VPC和子网。
共享VPC是基于资源访问管理(Resource Access Manager,简称RAM)服务的机制,VPC的所有者可以将VPC内的子网共享给其他账号使用,以实现网络资源的共享和统一管理,提升资源管控效率、降低运维成本。
有关VPC子网共享的更多信息,请参见《虚拟私有云用户指南》的“共享VPC”相关内容。
子网
通过子网提供与其他网络隔离的、可以独享的网络资源,以提高网络安全性。子网在可用区内才会有效,创建GaussDB实例的子网默认开启DHCP功能,不可关闭。创建实例时GaussDB支持自动分配IP的方式。
说明:- 默认子网支持的IP数为256,分布式实例最大规模需要IP数为1286,推荐选用2048规模的子网。
安全组
控制网络出/入方向及端口的访问。购买实例时,所选的安全组需要按照如下策略进行配置。
- 购买分布式版实例时,请确保入方向规则TCP协议端口包含:40000-60480,20050,5000-5001,2379-2380,6000,6001,6500,<database port> - (<database port> + 100)。(例如设置的数据库端口为8000,则安全组中需要包含8000-8100),安全组出方向请确保全部放通。
- 购买集中式实例时,请确保入方向规则TCP协议端口包含:20050,5000-5001,2379-2380,6000,6500,<database port> - (<database port> + 100)。(例如设置的数据库端口为8000,则安全组中需要包含8000-8100)。
安全组限制实例的安全访问规则,加强GaussDB与其他服务间的安全访问。请确保所选取的安全组允许客户端访问数据库实例。如果创建时不需要指定安全组,您可以在管理控制台右上角,选择“新建工单”,提交开通白名单的申请。
如果没有可选的安全组,GaussDB默认为您分配安全组资源。
数据库端口
数据库对外开放的端口,默认为8000,可选范围为:1024~39989。如下端口被系统占用,不可设置: 2378~2380、2400、4999~5001、5100、5500、5999~6001、6009~6010、6500、8015、8097、8098、8181、9090、9100、9180、9187、9200、12016、12017、20049、20050、21731、21732、32122~32126、39001。
单内网地址策略
是否开启单内网地址策略,如果开启,实例将只有一个内网地址绑定主节点,如果发生主备倒换,内网地址不会发生变化;如果不开启,每个节点都会绑定一个内网地址,如果发生主备倒换,内网地址会发生变化。
单内网地址约束限制如下:
- 仅支持V2.0-3.207及以上的集中式版实例。
- 仅创建时支持修改,创建后不支持切换单内网地址策略。
表4 数据库配置 参数
参数说明
管理员账户名
数据库的登录名称,默认为root。
管理员密码
需要输入高强度密码并定期修改,以提高安全性,防止出现密码被暴力破解等安全风险。
设置的密码需满足以下几个条件:
- 8~32个字符。
- 至少包含大写字母(A-Z),小写字母(a-z),数字(0-9),非字母数字字符(限定为~!@#%^*-_=+?,)四类字符中的三类字符。
管理员密码不支持找回,请妥善保管密码。
确认密码
必须和管理员密码相同。
参数模板
数据库参数模板就像是数据库引擎配置值的容器,参数模板中的参数可应用于一个或多个相同类型的数据库实例。实例创建成功后,参数模板可进行修改。
企业项目
对于已成功关联企业项目的用户,仅需在“企业项目”下拉框中选择目标项目。
如果需要自定义企业项目,请前往企业项目管理服务进行创建。关于如何创建项目,详见《企业项目管理用户指南》。
标签
可选配置,对数据库的标识。使用标签可以方便识别和管理用户拥有的数据库服务资源。每个实例最多支持20个标签配额。
如用户的组织已经设定GaussDB的相关标签策略,则需按照标签策略规则为实例添加标签。标签如果不符合标签策略的规则,则可能会导致实例创建失败,请联系组织管理员了解标签策略详情。
- 包年/包月是一种预付费模式,即先付费再使用,按照订单的购买周期进行结算,因此在购买之前,必须确保账户余额充足。
- 查看恢复结果。
为用户重新创建一个和该备份数据相同库或表的实例。可看到实例由“创建中”变为“正常”,说明恢复成功。
恢复成功的新实例是一个独立的实例,与原有实例没有关联。
- 登录管理控制台。
- 单击管理控制台左上角的
,选择区域和项目。
- 在页面左上角单击
,选择 ,进入云数据库 GaussDB信息页面。
- 在左侧导航栏单击“备份恢复”,选择需要恢复的备份,单击操作列的“恢复”。
- 如果选择的备份是实例级备份,您可以选择恢复到指定的库或指定的表。
- 如果选择的备份是表级备份,您只能选择恢复到指定表。
您也可在“实例管理”页面,单击指定的实例名称,在左侧导航栏单击“备份恢复”,在“全量备份”页签下选择单击实例级或者表级备份页签对应的备份操作列中的“恢复”。
- 选择恢复到当前实例,勾选确认信息,单击“下一步”。
当您选择恢复到表时,“备份的表”默认显示至多200个表,如果您需要的特定表未显示,可以使用右上角的“+”号添加自定义表(如果实例故障或删除场景,也可采用此方式)。
- 恢复时的实例要与备份时实例版本号和节点配置相同。
- 选择该选项时,会在目标实例上新创库、表,恢复过程中源数据库可以正常使用。
- 建议先进行手动备份后再进行恢复操作。
- 库级(database,例如db1)恢复到当前实例后,需要等待数据库自动执行一次全量备份或差量备份,等待的时间与备份策略有关,后续其他恢复流程才能恢复出db1的实际数据。如果恢复实例到指定时间点时选择的时间点是本次库级恢复完成后至下次备份前的某个时间点,会导致db1无法恢复。
- 跳转到“恢复备份”页面,选择恢复的数据,单击“提交”,恢复库/表数据。
- 查看恢复结果。
在“实例管理”页面,可查看目标实例状态为“恢复中”,恢复完成后,实例状态由“恢复中”变为“正常”。
- 登录管理控制台。
- 单击管理控制台左上角的
,选择区域和项目。
- 在页面左上角单击
,选择 ,进入云数据库 GaussDB信息页面。
- 在左侧导航栏单击“备份恢复”,选择需要恢复的备份,单击操作列的“恢复”。
- 如果选择的备份是实例级备份,您可以选择恢复到指定的库或指定的表。
- 如果选择的备份是表级备份,您只能选择恢复到指定表。
您也可在“实例管理”页面,单击指定的实例名称,在左侧导航栏单击“备份恢复”,在“全量备份”页签下选择单击实例级或者表级备份页签对应的备份操作列中的“恢复”。
- 选择恢复到已有实例,,勾选确认信息,选择恢复到的目标实例,单击“下一步”。
当您选择恢复到表时,“备份的表”默认显示至多200个表,如果您需要的特定表未显示,可以使用右上角的“+”号添加自定义表(如果实例故障或删除场景,也可采用此方式)。
- 选择该选项时,会在目标实例上新创库、表,恢复过程中数据库可以正常使用。
- 建议先对目标实例进行手动备份后再进行恢复操作。
- 目标实例需要具有与原实例备份时相同的引擎类型、引擎版本、操作系统、资源类型、实例拓扑、CPU架构、事务一致性(分布式版)、副本一致性(集中式版)、M兼容表名大小写(集中式版)。
- 目标实例的存储空间需要大于等于原实例备份时的存储空间大小(分布式独立部署实例分片存储空间大小不一致情况下:原实例存储空间大小=最大分片级存储空间大小*分片数,目标实例存储空间大小=最小分片级存储空间大小*分片数)。
- 目标实例的性能规格需要大于等于原实例备份时的性能规格。
- 目标实例不能包含只读节点。
- 正在执行全量备份或差量备份的目标实例,不支持恢复。如果不需要本次备份,可以停止备份后再执行恢复。
- 确认备份任务信息,单击“确定”,恢复库/表数据。
- 查看恢复结果。
在“实例管理”页面,可查看目标实例状态为“恢复中”,恢复完成后,实例状态由“恢复中”变为“正常”。