恢复单表/多表到新集群
操作场景
集群粒度的快照和Schema粒度的快照,可以指定快照备份集中的单表/多表恢复到新集群。通常用户在业务操作中,对某个表中的数据进行了错误操作或者误删,需要对此表找回数据时使用该功能,找到最新包含该表数据的快照,将数据恢复到一个新集群中。在不破坏原集群表数据的同时,对比新老集群的数据,针对性恢复数据。
- 该功能仅9.1.0及以上集群版本支持。仅支持OBS介质。
- 低版本的集群细粒度快照,可跨版本恢复到910集群版本的新集群中。
- 910版本集群细粒度快照,可恢复到910版本的异构新集群中,即新老集群在节点数和规格上都可以不一致。
- 仅支持细粒度的单表/多表快照恢复到新集群。
前提条件
用户需手动打开细粒度快照的开关:
- 在左侧导航栏中,单击“管理 > 快照管理”(或在集群列表中,单击指定集群的名称,进入“集群详情”页面,左导航栏切换至“快照”页签)。
- 进入“快照管理”页面,单击右上角的“创建快照”,也可在集群管理页面选择指定集群所在行操作列“更多 > 创建快照”。
- 在快照级别栏单击,并单击“设置”。
- 在快照管理页面单击“细粒度快照开关”,打开或关闭细粒度快照。
:表示开启细粒度快照。
:表示关闭细粒度快照。
- 开启细粒度快照开关后,可以创建schema级别的快照。
- 开启细粒度快照开关后,创建的自动或手动快照可用于进行表恢复。
操作步骤
- 登录GaussDB(DWS)管理控制台。
- 在左侧导航栏中,选择“管理 > 快照管理”(或在集群列表中,单击指定集群的名称,进入“集群详情”页面。左导航栏切换至“快照”页签)。默认显示用户所有的快照。
- 在快照列表中,找到所需恢复的快照,在该快照所在行的“操作”列,单击“恢复”按钮。
- 恢复级别选择“表级”。
图1 表级恢复
- 选择恢复新集群的基本信息,详情请参见创建GaussDB(DWS)存算一体集群。
- 选择节点规格和节点数量时,在支持细粒度异构恢复下,新建集群可以跟原集群规格和节点数不一致。
- 单表/多表恢复新集群,集群版本仅可选910及以上集群版本。
- 单表/多表选择。下拉框选择数据库名称,数据库配置选择“自定义”时,可以设置以下配置参数,如果选择“默认配置”,以下参数将使用它们的默认值,配置完成后勾选恢复表列表(可多选)。
恢复到新集群会新建数据库,如果新建的数据库与快照的数据库在配置上存在差异,可能会导致恢复失败。请在恢复之前确认原数据库的配置,如果跟默认配置不一致,可自定义修改。
图2 数据库自定义配置
表1 数据库自定义参数 参数名称
参数描述
取值范围
默认值
模板名
即从哪个模板创建新数据库。GaussDB(DWS)采用从模板数据库复制的方式来创建新的数据库。初始时,GaussDB(DWS)包含两个模板数据库template0、template1,以及一个默认的用户数据库gaussdb。
已有数据库的名称、template0、template1
template0
字符编码
- 指定数据库使用的字符编码,可以是字符串(如“SQL_ASCII”)、整数编号。
- 不指定时,默认使用模板数据库的编码。模板数据库template0和template1的编码默认与操作系统环境相关。
- template1不允许指定字符编码,因此若要创建数据库时指定字符编码,请使用template0创建数据库。
- 如果需要指定encoding,需要和template参数搭配使用,且template取值为template0。
(常用取值)GBK、UTF8、Latin1、SQL_ASCII
SQL_ASCII
字符集
指定新数据库使用的字符集。例如,通过lc_collate = 'zh_CN.gbk'设定该参数。该参数的使用会影响到对字符串的排序顺序(如使用ORDER BY执行,以及在文本列上使用索引的顺序)。默认是使用模板数据库的排序顺序。
有效的排序类型
C
字符分类
指定新数据库使用的字符分类。例如,通过lc_ctype = 'zh_CN.gbk'设定该参数。该参数的使用会影响到字符的分类,如大写、小写和数字。默认是使用模板数据库的字符分类。
有效的字符分类
C
类型
指定兼容的数据库的类型。
ORA、TD、MySQL
ORA
- 单击“下一步:确认配置”。
- 确认无误后,单击“立即恢复”按钮,集群开始对选择的表进行恢复新集群。