GreenPlum数据备份与恢复

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hmxz2nn/article/details/83032164
GreenPlum数据备份与恢复

gp_dump是GP并行备份的备份工具,在运行gp_dump的时候master与所有的segment节点都开始备份(standby节点和segment节点中的mirror实例不参加备份),数据文件都是放在各个的节点服务器上,消耗的时间和数据量最大的、消耗时间最长的节点有关。

常用的gp_dump参数有:

-h                     GPmaster主机名
-p                     GPmaster端口
-U                     用户名
-t/--table             后接表名,只备份匹配的表
-n/--schema            备份的schema名字
--gp-d                 备份的数据目录
--gp-r                 备份report目录
--gp-k                 备份文件使用的时间戳

更多可通过命令gp_dump --help显示。

与gp_dump对应的数据恢复操作,使用的命令是gp_restore.
常用的gp_restore参数有:

-h                     GPmaster主机名
-p                     GPmaster端口
-U                     用户名
-d/--dbname            数据库名
--gp-d                 要恢复的数据所在目录
--gp-r                 report文件所在目录
--gp-k                 恢复文件使用的时间戳
--status              状态文件所在位置

更多可通过命令gp_restore --help显示。

常用的备份与恢复方式有表,数据库,schema的备份与恢复。

表备份与恢复
表备份

1.创建备份路径

mkdir -p /opt/gpbackup/
chown gpadmin:gpadmin /opt/gpbackup/

2.在gpadmin用户下执行

gp_dump test_db --table=test_table --gp-d=/opt/gpbackup/ --gp-r=/opt/gpbackup/

需要阅读backup report,并记录备份的时间戳(timestamp key),以在数据恢复时使用。
数据库名为test_db,表名为test_table。

3.手动备份pg_hba.conf文件,执行如下:

cd $MASTER_DATA_DIRECTORY
cp pg_hba.conf /opt/gpbackup/
表恢复

注:在恢复的时候,GP的segment必须与备份的时候一致

1.表恢复之前,要确保要导入数据的集群中存在数据库test_db,且不能存在表test_table,否则会报错。
2.表恢复,执行命令:

gp_restore -d test_db --gp-d=/opt/gpbackup/ --gp-r=/opt/gpbackup/ --gp-k=时间戳

3.手动恢复备份的pg_hba.conf文件

数据库备份与恢复

与表备份与恢复相似,只不过备份时少了参数–table。
数据库恢复前要确保新建一个名为test_db(与备份的数据库名相同)的数据库。

schema备份与恢复

步骤与表备份与恢复相同,以下只列出备份与恢复命令

备份:

gp_dump test_db -n test_schema --gp-d=/opt/gpbackup/ --gp-r=/opt/gpbackup/

test_schema为test_db中的一个模式
恢复:
恢复前要确保倒数数据的集群没有名为test_schema的schema,若有的话先删除。
恢复命令:

gp_restore -d test_db --gp-d=/opt/gpbackup/ --status=/opt/gpbackup/ --gp-r=/opt/gpbackup/ --gp-k=时间戳

注意要加上status参数。

参考:http://blog.itpub.net/29989552/viewspace-2127566/

猜你喜欢

转载自blog.csdn.net/hmxz2nn/article/details/83032164