10_备份与恢复_概述_备份_恢复

一、备份概念

1、备份恢复操作概述-关于并行备份(gp_dump)

GP同时备份Master和所有活动的Segment实例;

备份消耗的时间与系统中实例的数量没有关系;

在Master主机上备份所有DDL文件和GP相关的数据字典表;

每个Segment备份各自的数据;

所有备份文件组成一个完整的备份集合,通过唯一14位数字的时间戳来识别

 

2、关于非并行备份(pg_dump)

GP依然支持常规的PG备份命令pg_dump和pg_dumpall;

备份将在Master主机上创建一个包含所有Segment数据的大的备份文件;

不适合于全部数据备份,适用于小部分数据的迁移或备份;

注:这个备份是从Segment中导出数据来备份,备份在master;

 

二、恢复概念

1、并行恢复(gp_restore)

通过gp_dump产生的时间戳来辨识备份集合,恢复数据库对象和数据到分布式数据库中;

每个Segment并行恢复各自的数据;

被恢复的GP系统必须与备份的系统同构;

 

2、非并行恢复(pg_restore)

使用由pg_dump和pg_dumpall创建的备份文件来恢复;

使用非并行恢复可以实现异构系统恢复;

 

 

三、备份数据库

1、备份数据库的四种选择

 

 注:比较常用的还是文件系统备份

 

2、使用gp_dump

 (1)备份GP数据库

  命令:gp_dump testdw;

  注:有可能会备份失败,因为linux的安全级别,我们可以临时调整linux的安全级别:/usr/sbin/setenforce 0

         或者永久调整:vi /etc/selinux/config ---->SELINUX=disabled, 然后重启;

 

(2)gp_dump命令将在数据目录生成如下的备份文件

 

 注:dbid是备份数据库的id,timestamp为时间戳;

 

 3、使用gpcrondump

 

4、非并行备份

 

 注:pg_dumpall用的比较少,pg_dump在数据迁移的时候会用到;

 

四、恢复数据库

1、非并行恢复

 

 注:使用pg_restore恢复数据库,需要先创建数据库在进行恢复;

         在实际的生产环境中,如果数据库的数据量大,我们最好用并行或者用第三方备份

 

 2、并行备份文件恢复

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

 

 

 (1)使用gp_restore恢复

如果在备份时使用了参数:-s(仅模式)、-a(仅数据)、--gp-c(压缩)、--gp-d(修改备份文件目录),那么在恢复是也要指定这些参数。

gp_restore命令将执行如下操作:

1)在master主机上:

 

 2)Segment主机上

 

 3)恢复数据库

 

代码:

cd $MASTER_DATE_DIRECTORY (进入master的主目录)

ls(可查看备份的数据库,然后进行相关命令恢复) 

 

 (2)使用gpdbrestore恢复

gpdbrestore命令是对gp_restore命令的包装,提高更灵活的选项;

使用gpcrondump备份生成的备份文件来进行恢复;

恢复testdw数据:

 

 注:-b后面的时间日期文件是在db_dumps/目录下;

 

五、恢复到配置不同的GP系统

 使用并行备份文件通过GP Master做非并行装载;

Segment备份文件内容包含了COPY命令,数据是分割平面格式;

恢复步骤:

 

 注:需要先将数据集中在一台服务器上;

        所有的数据恢复后在恢复索引;

 

posted @   小王同学学编程  阅读(566)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
levels of contents
点击右上角即可分享
微信分享提示