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/

------------------------------------------------------------------------------------------------------------------------------------------------

以下内容转载自:http://mamicode.com/info-detail-2306588.html

备份

并行备份(gp_dump)

GP 同时备份 Master 和所有活动的 Segment 实例,备份消耗的时间与系统中实例的数量没有关系。在 Master 主机上备份所有 DDL 文件和 GP 相关的数据字典表每个 Segment 备份各自的数据。所有备份文件组成一个完整的备份集合,通过唯一 14 位数字的时间戳来识别。
gp_dump 的使用可参考上文。
gp_dump 命令将在数据目录生成如下的备份文件:

在 Master 主机上

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

在 Segment 主机上

gp_dump_0_ <dbid>_<timestamp>           -- 用户数据文件
gp_dump_status_0_ <dbid>_<timestamp>    -- 日志文件
并行备份(gpcrondump)

gpcrondump命令是对gp_dump命令的封装。
在 Master 和 Segment 的数据目录创建备份文件:

Segment 数据的备份使用 gzip 压缩格式,默认将数据备份自 <data_directory>/db_dumps/下。

<data_directory>/db_dumps/YYYYMMDD

使用 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;

备份数据库mydatabase

gpcrondump -x mydatabase -c -g -G
非并行备份(pg_dump)

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

pg_dump testdw > testdw.sql;                        -- 导出 SQL 脚本文件
pg_dump –Ft –gp-syntax testdw > testdw.tar;         -- 导出包含分布键信息的 tar 文件
pg_dump –Fc testdw > testdw.dump;   -- 导出到定制格式的归档文件
pg_dump –t tb_cp_02 testdw > tb_cp_02_testdw.sql;   -- 导出单个表
pg_dump –t ‘"MixedTableName"‘ testdw > tab_testdw.sql;  -- 导出混合大小写名称的表
pg_dumpall > all.dump;              -- 集群备份

恢复

并行恢复(gp_restore)

参考上文。

并行恢复(gpdbrestore)

gpdbrestore 命令是对 gp_restore 命令的包装,提供更灵活的选项,使用 gpcrondump 备份生成的备份文件来进行恢复。

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

gpdbrestore –R archive_host:/gpdb/backups/archive/20131231;
非并行恢复(pg_restore)

使用由 pg_dump 或 pg_dumpall 创建的备份文件来恢复,使用非并行恢复可以实现异构系统恢复。

使用 pg_restore 或 psql 进行恢复

pg_restore –d testdw testdw.dump;
psql -d testdw –f tb_cp_02_testdw.sql;

在决定使用恢复程序时,需确定以下几个问题:

1.备份文件在哪里?

如果备份文件位于 gp_dump 生成的原始位置,可以简单的通过 gp_restore 命令恢复;如果备份文件已经移除 GP 集群,使用 gpdbrestore 来恢复。

2.是否需要恢复整个系统,还是只恢复数据?

如果 GP 仍在运行并仅需要恢复数据,使用 gp_restore 或 gpdbrestore 命令来恢复;如果丢失了整个集群或者需要从备份来重建整个集群,使用 gpinitsystem 命令。

3.是否恢复的系统与备份时的系统具有相同数量的 Instance?

如果相同,使用 gp_restore 或 gpdbrestore 命令来恢复; 如果是在不同集群间迁移,必须使用非并行恢复。

非并行恢复异构系统

通过master节点进行备份,确保segment的备份文件被拷贝到master节点目录下。
确保具备了全部的备份文件,包括 Master 和每一个 Segment 的文件,所有的文件具有相同的时间戳标识符。

1. 创建需要恢复的数据库
createdb testdw;
2. 装载 Master 备份文件以恢复数据库对象
psql -d testdw -f /data/backups/gp_dump_1_1_20131231001327;
3. 装载每个 Segment 的备份文件以恢复数据
psql –d testdw -f /data/backups/gp_dump_0_2_20131231001327;
psql –d testdw -f /data/backups/gp_dump_0_3_20131231001327;
4. 恢复 Table 相关的对象,比如索引、触发器、主键约束等
psql –d testdw -f /data/backups/ gp_dump_1_1_20131231001327_post_data;

GreenPlum数据备份与恢复相关推荐

  1. 04: 用户授权及撤销 、 数据备份与恢复 、 MySQL管理工具

    day04 一 .管理root用户密码 1.1 修改密码 1.2 恢复密码 二.用户授权与权限撤销 2.1 授权 2.2 撤销权限 三.安装图形管理工具 四 数据备份与恢复 ----- 完全备份与恢复 ...

  2. 【备份恢复】Oracle 数据备份与恢复微实践

    <Oracle 数据备份与恢复微实践> 新年新群招募: 中国Oracle精英联盟170513055 群介绍:本群是大家的一个技术分享社区,在这里可以领略大师级的技术讲座,还有机会参加Ora ...

  3. 第五篇:Mysql的数据备份与恢复---------

    一 ,数据备份与恢复 步骤一:使用mysqldump进行逻辑备份 1)备份MySQL服务器上的所有库 将所有的库备份为mysql-all.sql文件: [root@dbsvr1 ~]# mysqldu ...

  4. 【学习笔记】MySQL 数据备份与恢复

    数据备份与恢复 数据备份 系统意外崩溃或者硬件的损坏都可以导致数据库的丢失,因此MySQL管理员应该定期备份数据库,使得在意外情况发生时,尽可能减少损失. 使用MySQLdump命令备份 MySQLd ...

  5. Elasticsearch数据备份与恢复(基于HDFS)

    Elasticsearch数据备份与恢复(基于HDFS) 1.(所有机子上)安装es hdfs仓库插件repository-hdfs # repository-hdfs一定要和es版本匹配 # 在线 ...

  6. mysql数据备份与恢复_MySQL数据备份与恢复

    常见的MySQL管工具 mysql 命令行 跨平台 MySQL官方bundle包自带 MySQL-Workbench 图形 跨平台 MySQL官方提供 MySQL-Front 图形 Windows 开 ...

  7. EAS7.5服务器文件夹备份,ORACLE+EAS数据备份与恢复参考

    <ORACLE+EAS数据备份与恢复参考>由会员分享,可在线阅读,更多相关<ORACLE+EAS数据备份与恢复参考(9页珍藏版)>请在人人文库网上搜索. 1.一.服务器环境描述 ...

  8. greenplum数据导入导出

    一.数据导入 greenplum数据导入有五种方式: 1. insert:通过sql直接插入数据 2. copy:通过master节点加载,无法实现并行高效数据加载 copy tablename fr ...

  9. 新一代zData数据库一体机和ZDBM数据备份与恢复一体机正式发布

    2022年4月12日,云和恩墨研发的新一代 zData 数据库一体机v5.3和 ZDBM 数据备份与恢复一体机v2.7正式发布! zData 是云和恩墨设计并研发的数据库高性能运行平台,基于云化架构, ...

最新文章

  1. 采购审批专题总结--bob
  2. [HEOI2014]平衡(整数划分数)
  3. centos7安装、卸载docker (yum方式)
  4. boost::fibers::fiber用法的测试程序
  5. pads导出坐标文件html,【教程】PADS如何导出SMT贴片机用的坐标文件
  6. HBM3内存子系统传输速率惊人,带宽突破1TB/S!
  7. 云+X案例展 | 电商零售类:WakeData助力叁拾加数字化变革
  8. 常用-开发框架【转】
  9. linux input输入子系统分析《四》:input子系统整体流程全面分析
  10. WPF中DataGrid在没有数据的时候也可以显示水平滚动条
  11. java如何让cpu过负荷_服务器开发过载问题如何解决
  12. 车规SoC芯片厂商征战功能安全,谁是最佳助力者?
  13. IDM安装及使用方法快速入门
  14. 手把手教你搭建一台永久运行的个人服务器
  15. 【python实现网络爬虫21】天眼查企业数据获取
  16. linux affinity,Linux CPU Affinity
  17. 1:MTK 6737 Flash配置
  18. 计算机机房装修效果图,机房装修施工流程是什么? 机房装修效果图
  19. 理解Marx-5 从巴黎到布鲁塞尔,创立历史唯物主义
  20. 空间3点求三点所在空间圆的圆心空间坐标

热门文章

  1. html 获取radio状态,html关于点击radio触发事件
  2. kettle-写日志
  3. 小鹏G9高压平台800V电驱动实拍
  4. 大学生如何自己建立搭建自己的服务器博客??
  5. VueJs 打包之后遇到的坑
  6. [故障分析]出现大量僵尸进程(zombie)
  7. GCN图卷积网络 | 介绍
  8. 解决Silverlight F5刷新问题
  9. 【网络信息安全】授权与访问控制,实战nginx张宴
  10. RocketMQ-Streams架构设计浅析