GBase 8a
备份恢复
文章

GBase8a 备份恢复管理-01

发表于2025-01-23 22:17:37190次浏览0个评论

备份恢复管理


GBase 8a MPP Cluster 提供专用的备份恢复工具(gcrcman),用户使用它可以方便地对整个集群中的数据进行备份和恢复。集群的备份、恢复工具随集群的安装自动安

装,该工具被安装在安装目录$GCLUSTER_BASE/server/bin 下。一次全量备份开启一个新的周期。一次增量备份则续写最后一个备份周期,使其增加一个备份点。

本章主要介绍如何使用备份恢复工具进行数据的备份与恢复,具体包括:

 集群级全量备份: 将当前集群的数据全量备份至指定的备份目录中(确保已经创

建好目录)。

 集群级增量备份:在指定备份目录中的全量或增量备份数据的基础上,将当前集群的数据增量备份至该备份目录。

 库级全量备份:备份某个库下所有的表和普通视图。

 库级增量备份:增量备份某个库下所有的表。

 表级全量备份:将某一个表的数据全量备份至备份目录中。

 表级增量备份:将某一个表的数据增量备份至备份目录中。

 集群级恢复:将备份目录中的指定备份数据,恢复至当前的集群中。

 库级恢复:恢复一个库下所有的表和普通视图。

 表级恢复:将备份目录中的单个表的数据,恢复至当前数据库中。

 查看备份数据:数据备份后,查看已经备份了哪些数据。

 删除备份数据:删除用户指定的备份数据。

 删除垃圾数据:由于异常或者用户中断,残留的垃圾备份数据,用户可以通过工具删除。

注意:
 执行 gcrcman.py 命令时,必须是安装数据库时指定的 dbauser。
 需要在 coordinator 节点上执行备份恢复操作,执行备份恢复操作时集群各节点网络连接正常。
 执行 gcrcman.py 命令,需要确定操作系统已安装 pexpect 包。
 在执行备份恢复的过程中,集群的各个节点上,必须都存在 gcrcman.py 中参数 path 指定的路径,集群安装用户 dbauser 用户对该路径具备读写操作权限,且在执行过程中该目录一直存在。
 不要将$GCLUSTER_BASE、$GBASE_BASE、$GCWARE_BASE 这三个目录及其子目录设置为 path 的路径。
 在执行备份恢复的过程中,操作系统和数据库用户的密码不能更改。
 执行备份恢复操作时,恢复时需要和备份时集群的拓扑结构相同,包括管理节点、数据节点、数据的 distribution 信息等。
 无论是多个会话连接,还是一个会话连接,每次只能运行一个 gcrcman.py 程序。
 暂不支持单个 VC 的数据备份恢复。

GCluster 8a MPP Cluster 支持的备份对象说明如下(√:支持;×:不支持)

语法格式

$ python $GCLUSTER_BASE/server/bin/ gcrcman.py [options] <-d|--pathBACKUP_PATH>

options 可选项说明

参数名称
-V,--version 用于显示 gcrcman 的版本信息

-d

BACKUP_PATH,--pat

h=BACKUP_PATH

用于设定备份数据的存放路径。该路径必须是绝对路径,路径中支持“~”的使用,在每个节点下面都要有 path 参数指定 的 路 径 , 且 该 路 径 要 求 有 写 权 限 。 不 能 将$GCLUSTER_BASE 或 者 $GBASE_BASE 或 者$GCWARE_BASE 这三个目录及子目录设置为 path 的路径。

-e

COMMAND,--execut

e=COMMAND

指定要执行的备份或恢复命令,执行完自动退出。具体命令参考表。当使用-e 这种简称参数时,建议-e 和后面的参数之间使用一个空格,提高可读性。

-P

HOST_PASSWD,--os

password=HOST_PA

SSWD

指定数据库管理员的操作系统用户密码。默认是 gbase 用户,不可指定,此处填写操作系统用户 gbase 的密码。

-p

DATABASE_PASSWD,--dbpassword=DATABASE_PASSWD

指定数据库管理员的数据库用户密码。备份恢复工具有些操作需要访问数据库,因此需要指定数据库用户密码。数据库用户默认是 gbase,不可指定。

-r

PARALLEL_LEVEL,

--parallel=PARALLE

L_LEVEL

用于设置备份恢复工具执行的并行度,取值范围为[1,128],默认值为 4。
-D,--disk_space_estimate用于设定是否进行空间预估,有此参数则不进行空间预估。默认不使用此参数,即在备份时进行空间预估。
-c,--checksum_database用于设定是否进行数据的校验,有此参数则不进行 DC 的checksum 校验。默认不使用此参数,即在备份时进行数据校验。
-C,--checksum_backup_data用于设定是否进行备份数据的校验。默认不使用此参数,即进行备份数据的校验。

-t

SECOND,--timeout=S

ECOND

用于设定等待读、写事务的时长,备份时需要等待集群中没有写事务,恢复备份数据时,需要等待集群中没有读和写事务,才可进行后面的操作。该参数单位为秒,取值范围为[0,3600],不指定该参数则默认值为 300 秒。如果超时,则报错退出,表示此次备份或恢复失败。参数值为 0,表示无限等待。
-R,--dop执行批量备份或恢复的并行度,范围[1,128],默认 4

备份恢复命令说明

参数名称 
show backup 显示备份信息
show backup tables [cycle_id] 显示批量备份数据
backup level <0|1> 集群级备份

backup database

[vcname.]<dbname> level  <0|1>

数据库级备份

backup table

[vcname.]<dbname.tablename> 

level <0|1>

表级备份
backup tables <table.list> level <0|1>

批量表级备份

同一个备份周期内,全量备份与增量备份对应的table.list 必须一致。即全量备份时可以增加新表,增量备份不能增加新表。

recover [<cycle_id>

[point_id]]

实例级恢复

recover database

[vcname.]<dbname>

[<cycle_id> [point_id]]

数据库级恢复

recover [force] table

[vcname.]<dbname.tablename>

[<cycle_id> [point_id]]

表级恢复

recover [force] tables

[<cycle_id> [point_id]]

批量表级恢复
delete <cycle_id | last>删除备份数据
cleanup清除无效备份数据
quit退出
help显示帮助信息

备份恢复命令涉及的参数说明

参数名称
level <0|1>设置备份级别,0 表示全备,1 表示增备。
vcnamevc 名
dbname数据库名
tablename表名
cycle_id最新的备份点
point_id指定备份点

评论

登录后才可以发表评论