GBase 8a MPP Cluster 提供了海量数据的管理及分析功能和易于监管数据库集群的工具。
本篇文章主要介绍一款便于数据库管理员备份恢复集群数据的工具:
gcrcman 备份恢复工具
功能简介
GBase 8a MPP Cluster 提供专用的备份恢复工具(gcrcman),支持实例级、库级、表级的全量备份、增量备份、全量恢复和恢复到指定备份点,同时支持显示备份信息,
用户使用它可以方便地对整个集群中的数据进行备份和恢复。 gcrcman 随集群的安装自动安装,在$GCLUSTER_HOME/bin 目录下。
- 支持集群级、库级、 表级的全量备份
- 支持集群级、库级、 表级的增量备份
- 支持集群级、库级、表级恢复到指定备份周期的指定备份点
- 支持集群级、库级、表级恢复到最新备份周期最新备份点
- 支持异地备份恢复( nfs 挂载异地备份恢复数据存放磁盘)
- 支持删除备份和清除无效备份数据
- 支持查看备份信息
- 支持删除备份数据
- 支持删除垃圾备份数据
备份恢复管理
注意:
|
语法格式
$ python $GCLUSTER_BASE/server/bin/ gcrcman.py [options] <-d|--path BACKUP_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 | 指定操作系统 dba 用户的密码,如果不指定,默认为 gbase, 如果 gbase 用户默认密码没有修改,则可以省略该参数。 | ||
-p DATABASE_PASSW D,--dbpassword=DAT ABASE_PASSWD | 指定数据库 dba 用户的密码。备份恢复工具有些操作需要访 问数据库,因此需要指定数据库用户密码。数据库用户默认 是 gbase,不可指定。 | ||
-r PARALLEL_LEVEL, --parallel=PARALLE L_LEVEL | 用于设置备份恢复工具执行的并行度,取值范围为[1,128], 默认值为 4。 | ||
-D,--disk_space_estim ate | 用于设定是否进行空间预估,有此参数则不进行空间预估。 默认不使用此参数,即在备份时进行空间预估。 | ||
-c,--checksum_databa se | 用于设定是否进行数据的校验,有此参数则不进行 DC 的 checksum 校验。默认不使用此参数,即在备份时进行数据校 验。 | ||
-C,--checksum_backu p_data | 用于设定是否进行备份数据的校验。默认不使用此参数,即 进行备份数据的校验。 | ||
-t SECOND,--timeout=S ECOND | 用于设定等待读、写事务的时长,备份时需要等待集群中没 有写事务,恢复备份数据时,需要等待集群中没有读和写事 务,才可进行后面的操作。该参数单位为秒,取值范围为 |
备份恢复命令说明
参数名称 | 说 明 |
show backup | 显示备份信息 |
backup level <0|1> | 集群级备份 |
backup database [vcname.]<dbname> level <0|1> | 数据库级备份 |
backup table [vcname.]<dbname.tablename> level <0|1> | 表级备份 |
recover [<cycle_id> [point_id]] | 实例级恢复 |
recover database [vcname.]<dbname> [<cycle_id> [point_id]] | 数据库级恢复 |
recover [force] table [vcname.]<dbname.tablename> [<cycle_id> [point_id]] | 表级恢复 |
delete <cycle_id | last> | 删除备份数据 |
cleanup | 清除无效备份数据 |
quit | 退出 |
help | 显示帮助信息 |
备份恢复命令涉及的参数说明
参数名称 | 说 明 |
level <0|1> | 设置备份级别, 0 表示全备, 1 表示增备。 |
vcname | vc 名 |
dbname | 数据库名 |
tablename | 表名 |
cycle_id | 最新的备份点 |
point_id | 指定备份点 |
执行模式
gcrcman 支持两种执行模式,即交互式模式和命令行模式:
1. 交互式模式,进入 gcrcman>提示符下,进行备份恢复的相关操作,具体命令如下:
# su - gbase $ gcrcman.py -d/home/gbase/backuptest/ gcrcman> show backup cycle point level time 0 0 0 2017-06-10 21:20:52 1 0 0 2017-06-10 21:20:54 1 1 1 2017-06-10 21:20:56 1 2 1 2017-06-10 21:20:59 1 3 1 2017-06-10 21:21:01 1 4 1 2017-06-10 21:21:03 1 5 1 2017-06-10 21:21:05 2 0 0 2017-06-10 21:21:09 3 0 0 2017-06-10 21:21:23 4 0 0 2017-06-10 21:21:40 5 0 0 2017-06-10 21:21:43 6 0 0 2017-06-10 21:21:58 7 0 0 2017-06-10 21:22:00 |
2. 命令行模式,使用-e 参数, gcrcman 启动后,仅执行-e 指定的命令,执行完毕后自动退出,具体命令如下:
# su - gbase $ cd $GCLUSTER_BASE/server/bin $ python gcrcman.py -d /home/gbase/backuptest -e "show backup" cycle point level time 0 0 0 2017-06-10 21:20:52 1 0 0 2017-06-10 21:20:54 1 1 1 2017-06-10 21:20:56
|
参考
关于 gcrcman 的详细参数和使用请参看GBase 8a MPP Cluster 产品手册的4.8 章节备份恢复管理。