GBase8a 备份恢复管理-01
备份恢复管理
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 表示增备。 |
| vcname | vc 名 |
| dbname | 数据库名 |
| tablename | 表名 |
| cycle_id | 最新的备份点 |
| point_id | 指定备份点 |
评论
热门帖子
- 12025-12-01浏览数:182611
- 22023-05-09浏览数:24814
- 42023-09-25浏览数:18325
- 52020-05-11浏览数:17320