GreenPlum备份与恢复

GreenPlum备份与恢复

背景知识

逻辑备份保证了库级别的全局一致性,使用了MVCC来得到保障。

需要锁定元数据(catelog AccessShareLock),同时对备份对象加AccessShareLock锁,不允许drop已有的表,Alter已有的表结构,truncate已有表等操作(只允许AccessShareLock不冲突的操作)。

但是可以在备份启动,并加载完所有的accessshare lock后,新增表,以及对新增的表做任何DDL DML操作。

非并行数据备份恢复
继承自Postgresql的逻辑备份恢复工具
逻辑备份:pg_dump,pg_dumpall,恢复时pg_restore
备份
# 备份数据库 -s 只备份表结构
pg_dump -h ip地址 -d 数据库 -s -U用户名 -w -f 备份文件.sql
# 指定表备份数据
pg_dump -h ip地址 -d 数据库 -U用户名 -w -t shcema.table1 -t shcema.table2 -f  备份文件.sql

恢复

1. pg_restore -h ip地址 -U用户名 -C -d 数据库 备份文件.sql
2. psql -f 备份文件.sql dbname
并行数据备份恢复
gpbackup和gprestore
在GPDB4.3.22之后
在GPDB5.5和之后
在GPDB6.x
数据备份gpbackup

gpbakup需要自行安装

元数据备份文件
创建一个单独的元数据文件
●文件名: gpbackup_ [t imestamp]_ _metadata .sql
非常重要,设置read-only权限禁 止手动修改
如果指定了--with-stats,创建 单独的文件保存统计信息
●文件 名: gpbackup_ [timestamp]_ statistics.sql

多文件模式下数据文件格式:
gpbackup_3_20191031141754_ 1745579.gz
●gpbackup
   标准文件名前缀
●3、
   对应segment的content_ id
●20191031141754
   备份时间戳
● 1745579
备份表的OID,使用OID可以比较好的处理表名含特殊字符的情况
数据恢复gprestore

gprestore需要自行安装

示列

gprestore --timestamp 20190812202110 --redirect-db restoretest --create-db
增量备份
对AO表,AOCO表以及分区AO表的支持

目前,增量备份仅支持AO表和AOCO表在全量备份后执行如下操作。

  • ALTER Table
  • DELETE
  • INSERT
  • TRUNCATE
  • UPDATE
  • DROP and then re-create the table

对于分区AO表,不会备份全表的内容,而只备份修改过的分区

Heap表不支持增量备份

使用示列

gpbackup --dbname backuptest --compression-level 8 --incremental --leaf-partition-data
并行在线集群间数据迁移

gpcopy安装

https://blog.csdn.net/qq_42957844/article/details/103235035

逻辑备份通用问题

如果长时间的执行逻辑备份,可能影响一些ETL或者BI类型的业务(这类业务可能会在过程中 truncate 老表,加载数据等)。

建议这类需求,可以换成使用TEMP TABLE来避免锁冲突。

《PostgreSQL 逻辑备份一致性讲解 - Why pg_dump backup a database in consistent status》

不管哪种方法的逻辑备份,都存在一种问题:如果长时间的执行逻辑备份,可能影响一些ETL或者BI类型的业务(这类业务可能会在过程中 truncate 老表,加载数据等)。 建议这类需求,可以换成使用TEMP TABLE来避免锁冲突。

参考博客:
https://blog.csdn.net/mavs41/article/details/52023175
https://blog.csdn.net/qq_42957844/article/details/103235035
https://github.com/digoal/blog/blob/master/201205/20120511_01.md

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值