Greenplum中备份和恢复数据

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

备份与恢复

备份恢复操作概述

关于并行备份(gp_dump)

1) GP同时备份Master和所有活动的Segment实例
2) 备份消耗的时间与系统中实例的数量没有关系
3) 在Master主机上备份所有DDL文件和GP相关的数据字典表
4) 每个Segment备份各自的数据
5) 所有备份文件组成一个完整的备份集合,通过唯一14位数字的时间戳来识别
这里写图片描述

关于非并行备份(pg_dump)

1) GP依然支持常规的PostgreSQL备份命令pg_dump和pg_dumpall
2) 备份将在Master主机上创建一个包含所有Segment数据的大的备份文件
3) 不适合于全部数据备份,适用于小部分数据的迁移或备份

关于并行恢复(gp_restore)

1) 通过gp_dump产生的时间戳来辨识备份集合,恢复数据库对象和数据到分布式数据库中
2) 每个Segment并行恢复各自的数据
3) 被恢复的GP系统必须与备份的系统同构
这里写图片描述

关于非并行恢复(pg_restore)

1) 使用由pg_dump或pg_dumpall创建的备份文件来恢复
2) 使用非并行恢复可以实现异构系统恢复
这里写图片描述

备份数据库

备份数据库的四种选择

1) 为每个实例创建一个备份文件
可用于全库备份或者相同配置的系统之间迁移数据;
2) 使用gpcrondump进行定期备份
对gp_dump进行包装,使用cron调度GP数据库的后台进行备份;
调用gpcrondump的调度作业应该部署在GP的Master主机;
gpcrondump命令还备份数据库角色和服务器配置等数据库之外的对象
3) 使用pg_dump或pg_dumpall创建单个备份文件
可用于不同数据库之间少量数据迁移或备份;
4) 文件系统备份
借助操作系统或者其他第三方工具来进行备份,实现增量备份

使用gp_dump

1) 备份GP数据库

 $ gp_dump testdw

注意调整selinux安全级别,/usr/sbin/setenforce 0
2) gp_dump命令将在数据目录生成如下的备份文件

在Master主机上

数据字典表:gp_catalog_1_<dbid>_<timestamp>
创建数据库SQL语句:gp_cdatabase_1_<dbid>_<timestamp>
创建schema SQL语句:gp_dump_1_<dbid>_<timestamp>
创建Table SQL语句:gp_dump_1_<dbid>_<timestamp>_post_data

在Segment主机上

用户数据文件:gp_dump_0_ <dbid>_<timestamp>
日志文件:gp_dump_status_0_ <dbid>_<timestamp>

使用gpcrondump

1) gpcrondump在Master和Segment的数据目录创建备份文件:<data_directory>/db_dumps/YYYYMMDD
2) Segment数据的备份使用gzip压缩格式
3) 使用CRON调度备份操作
定义一个调用gpcrondump的crontab条目。
例如,在午夜1点备份testdw数据库

0 1 0 * * * gpadmin source $GPHOME/greenplum_path.sh; gpcrondump –x testdw –c –g –G –a –q >> gp_testdwdump.log

创建一个名为mail_contacts的文件放置在GP SUPERUSER的根目录。

例如,$ vi /home/gpadmin/mail_contacts
在该文件中,每行输入一个电邮地址。例如:dba@company.com

非并行备份

1) 使用pg_dump或者pg_dumpall进行备份
2) 导出testdw数据库到SQL脚本文件: pg_dump testdw > testdw.sql
3) 导出包含分布键信息的testdw数据库到tar文件: pg_dump –Ft –gp-syntax testdw > testdw.tar
4) 导出testdw数据库到定制格式的归档文件:pg_dump –Fc testdw > testdw.dump
5) 导出单个表: pg_dump –t tb_cp_02 testdw > tb_cp_02_testdw.sql
6) 导出混合大小写名称的表: pg_dump –t ‘”MixedTableName”’ testdw > tab_testdw.sql
7) 集群备份: pg_dumpall > all.dump

非并行恢复

1) 使用pg_restore或psql进行恢复
2) 恢复testdw数据库: pg_restore –d testdw testdw.dump
3) 恢复SQL备份文件: psql -d testdw –f tb_cp_02_testdw.sql

从并行备份文件恢复

1) 在决定使用恢复程序时,需确定以下几个问题:
a) 备份文件在哪里?
如果备份文件位于gp_dump生成的原始位置,可以简单的通过gp_restore命令恢复;
如果备份文件已经移除GP集群,使用gpdbrestore来恢复
b) 是否需要恢复整个系统,还是只恢复数据?
如果GP仍在运行并仅需要恢复数据,使用gp_restore或gpdbrestore命令来恢复;
如果丢失了整个集群或者需要从备份来重建整个集群,使用gpinitsystem命令
c) 是否恢复的系统与备份时的系统具有相同数量的Instance?
如果相同,使用gp_restore或gpdbrestore命令来恢复;
如果是在不同集群间迁移,必须使用非并行恢复

使用gp_restore恢复

1) 如果在备份时使用了参数:-s(仅模式),-a(仅数据),–gp-c(压缩),–gp-d(修改备份文件目录),那么在恢复时也要指定这些参数。
2) gp_restore命令将执行如下操作:
a) 在Master主机上
运行由gp_dump生成的gp_dump_1_<dbid>_<timestamp>文件中SQL DDL命令,重建数据库的模式和对象;
在Master数据目录生成日志文件,日志文件的名称为:gp_restore_status_1_<dbid>_<timestamp>
gp_restore在每个需要恢复的Instance上启动一个名为gp_restore_agent的程序,gp_restore_agent进程在Segment主机上运行并向Master主机上的gp_restore进程报告状态
b) 在Segment主机上
每个Instance使用gp_dump生成的gp_dump_1 _<dbid>_<timestamp>文件来恢复用户数据
每个Instance生成一个日志文件,名字为:gp_restore_status_1_<dbid>_<timestamp>
c) 恢复数据库
创建需要被恢复的数据库。例如:$ createdb testdw
在Master主机,运行gp_restore命令(–gp-k指定备份操作时间戳标识符,-d指定恢复的数据库)

$ gp_restore –gp-k=20131231001327 –d testdw

使用gpdbrestore恢复

1) gpdbrestore命令是对gp_restore命令的包装,提供更灵活的选项
2) 使用gpcrondump备份生成的备份文件来进行恢复
3) 恢复testdw数据
a) 创建需要被恢复的数据库。例如:

$ createdb testdw

b) 在Master主机上执行gpdbrestore命令(-R指定备份文件所在的主机名和路径)

$ gpdbrestore –b 20131231

c) 从归档主机恢复(-R指定备份文件所在的主机名和路径)

$ gpdbrestore –R archive_host:/gpdb/backups/archive/20131231

恢复到配置不同的GP系统

1) 使用并行备份文件通过GP Master做非并行装载
2) Segment备份文件内容包含了COPY命令,数据是分割平面格式
3) 恢复步骤
a) 确保具备了全部的备份文件,包括Master和每一个Segment的文件,所有的文件具有相同的时间戳标识符
b) 创建需要恢复的数据库,
$ createdb testdw
c) 装载Master备份文件以恢复数据库对象,

$ psql -d testdw -f /data/backups/gp_dump_1_1_20131231001327

d) 装载每个Segment的备份文件以恢复数据,

   $ psql –d testdw -f /data/backups/gp_dump_0_2_20131231001327 
   $ psql –d testdw -f /data/backups/gp_dump_0_3_20131231001327

e) 恢复Table相关的对象,比如索引、触发器、主键约束等

$ psql –d testdw -f /data/backups/ gp_dump_1_1_20131231001327_post_data
greenplum数据库集群的备份恢复看这一篇就够啦! 针对greenplum-db-6.1.0的数据库集群的备份恢复方案使用gpbackupgprestore的GPDB的备份方案前言Greenplum备份恢复发展历程备份方案的优劣及使用场景gpbackup编译安装使用gpbackup对GPDB进行备份使用gprestore对GPDB进行还原备份还原方案设计 使用gpbackupgprestore的GPDB的备份方案 前言 Greenplum(以下简称GPDB)是一款开源数据仓库,基于开源的PostgreSQL改造而来,主要用来处理大规模数据分析任务。相 阅读详情

相关推荐

greenplum6推荐备份工具 gpbackup

greenplum6推荐备份工具 gpbackup

Greenplum-备份恢复

恢复采用pg_restore命令,pg_restore命令只能恢复由pg_dump或pg_dumpall命令备份出来的压缩格式。串行备份是继承Postgresql的原生COPY命令,所有数据都经过Master处理。另外,gpbackup还支持增量备份,通过参数**–incremental**指定。–redirect-db代表恢复到不同的数据库名称。–backup-dir指定备份的目录。–jobs指定恢复数据的并行连接数。–dbname代表备份数据库名称。–jobs指定备份表的并行任务数。

数据源的港湾 1635

gpbackup&gprestore(Greenplum 6下的备份恢复工具,支持centos7)

从官网下载了源码,在centos7下用go编译好,测试通过 包含了三个执行文件 gpbackup gprestore gpbackup_helpere

greenplum备份恢复

它们不需要通过master进行数据库的备份恢复,每个segmentmaster并行备份/恢复自己的数据,这样master就不会再成为瓶颈,从而大幅提高备份/恢复的速度。备份虽然是联机备份,但是在备份过程中会在备份的对象上加排他锁,从而影响系统的DML操作。所以这种方式更适合用在数据迁移的场景中.比如把postgre数据库(或者netezza)的数据迁移到greenplum中,或者在不同架构的GREENPLUM数据库间进行数据迁移,比如4节点的服务的数据,向8节点的服务迁移。否则会得到如下错误信息。

liuzhiliang2010的博客 1580

GP数据备份

1. 表的逻辑备份方式 1) 备份表结构及数据: create table new_tablename as select * from old_tablename; 或 select * into new_tablename from old_tablename where 1=1; 2) 仅备份表结构(不备份数据): select * into new_table name fr

learning_oracle的博客 3168

greenplum】6.21.3 备份恢复

从Pivotal Network下载适用于的Greenplum数据库版本OS平台的最新Pivotal Greenplum Backup and Restore软件发行版.删除指定备份之前的备份集,下方例子会删除20240108184730之前的备份集,但是不会删除20240108184730这次备份。做增量备份时,如果把segment host上全量备份的gz文件删除,再发起增量备份,是可以正常备份的。GreenPlum备份恢复工具之gpbackupgprestore。

好记性不如烂笔头 1667

GreenPlum备份恢复

文章目录一、简介1.1 使用gpbackupgprestore的并行备份1.2 使用pg_dump进行非并行备份二、安装2.1 gpbackup&gprestore2.2 pg_dump&pg_restore三、gpbackup&gprestore3.1 要求限制3.2 备份的对象3.3 备份3.3.1 全量备份3.3.2 增量备份3.4 恢复3.5 备份信息3.6 返回码3.7 筛选备份或还原的内容3.7.1 叶分区过滤3.7.2 gprestore过滤3.8 备份文件3.8.

雪辉博客 2768

GreenPlum 数据备份恢复

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

weixin_34401479的博客 1032

Greenplum数据库常用备份恢复方式

Greenplum数据库常用备份恢复方式

cfb37的博客 1160

GreenPlum数据备份恢复

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

hmxz2nn的博客 4270

关于postgresql - greenplum数据备份-恢复

关于postgresql - greenplum数据备份-恢复正文 正文 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 ...

lqx_sunhan的博客 433

gp 导出数据字典_Greenplum 数据备份恢复

Greenplum 数据备份恢复https://www.cndba.cn/Marvinn/article/3112目录 Greenplum 数据备份恢复备份恢复操作概述关于并行备份(gp_dump)关于非并行备份(pg_dump)关于并行恢复(gp_restore)关于非并行恢复(pg_restore)备份数据库使用gp_dump使用gpcrondump非并行备份恢复数据库非并行恢复从并行备份文件...

weixin_28972529的博客 667

[转] Greenplum 备份恢复数据库概览

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33811961的博客 236

GREENPLUM介绍之数据库管理(五)- 数据库的备份恢复

GREENPLUM许多关系型数据库一样从两个方面实现数据数据的保护。一方面是通过数据库的备份恢复,实现数据仓库数据的保护。另一方面是通过冗余实现系统的容错,为数据仓库系统提供高可用性。 这部分先介绍数据库...

conglei2565的博客 1035

WAL-G在Greenplum数据库中的备份恢复实践指南

WAL-G是一款强大的数据备份工具,特别针对Greenplum这类分布式数据库系统进行了优化。本文将详细介绍如何使用WAL-G实现Greenplum数据库的物理备份恢复,包括配置方法、常用命令以及高级功能的使用技巧。 ## 核心概念 在开始之前,我们需要理解几个关键概念: 1. **物理备份**:直接备份数据库文件,相比逻辑备份(如SQL导出)恢复速度更快 2. **WAL归档**:持续

gitblog_00971的博客 499

docker 搭建的greenplum多节点数据库,做备份gpbackup恢复gprestore

备份工具 gpbackup恢复工具 gprestore。

ssp584731180的博客 569

Pivotal Greenplum® 6.9-管理员指南-管理系统-备份恢复数据

备份恢复数据库 本主题介绍如何使用Greenplum备份恢复的功能。 定期执行备份可确保您在发生数据损坏或系统故障时,可以恢复数据或重建Greenplum数据库系统。您也可以使用备份,将数据从一个Greenplum数据库系统迁移到另一个。 备份恢复概述 Greenplum 数据库支持并行非并行的方式来备份恢复数据库。并行操作的规模与与系统中Segment数量无关,因为Segment主机各自将数据同时写入本地的磁盘存储中。对于非并行备份恢复操作,必须通过网络将数据从Segment发送到

uddiqpl的专栏 323

12 备份恢复数据

1        备份恢复数据库 本主题介绍如何使用Greenplum备份恢复功能。 定期执行备份,确保您可以恢复你的数据,或者数据损坏或系统故障发生重建Greenplum数据库系统。您还可以使用备份数据迁移从一个Greenplum数据系统到另一个。   1.1       备份恢复概述 With non-parallel backup and restore operati

kygoal的博客 7157

greenplum备份恢复

gp本身的备份并不能实现增量备份,需要使用第三方的工具来进行增量备份. 如unix系统可以使用solorise来进行基于文件的系统的增量备份. 主要使用并行备份 master segment备份各自的备份文件 命令: gp_dump #并行备份 (全库备份) pg_dump #非并行备份(进行小的数据的迁移备份) 并行恢复(gp_restore) 通过gp_dump产生的时间戳来辨识备份集合,恢复数据库对象数据到分布式数据库中 每个Segment并行恢复各自的数据恢复的GP系统必须与备份的系统

CZJ2015的博客 470
上一篇: Greenplum中装载和卸载数据
下一篇: CentOS7学习笔记
mavs41
博客等级 码龄15年 102粉丝 54原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值