greenplum数据迁移gpcopy

本文档详细介绍了使用gpcopy工具进行Greenplum数据库迁移的过程,包括安装、配置、权限设置及解决迁移中遇到的错误。同时,还涵盖了数据库镜像进程未启动的问题及恢复方法,包括gprecoverseg命令的使用和故障恢复验证。
摘要由CSDN通过智能技术生成

说明

本次测试基于
greenplum-db-6.4.0-rhel6-x86_64.rpm
gpcopy-2.3.1.tar.gz(仅在百度云分享)

软件

百度云:
https://pan.baidu.com/s/1tBqGEEeye_NRAVnbu9Nptw
u4j8
阿里云:
链接:https://www.aliyundrive.com/s/DE1cDbrfMiP
官网:
greenplum:
https://network.pivotal.io/products/vmware-tanzu-greenplum#/releases/972275/file_groups/5616
gpcopy:
https://network.pivotal.io/products/gpdb-data-copy

gpcogy设置

1.解压安装包
tar xzvf gpcopy-2.3.1.tar.gz 

2.在master节点,复制gpcopy和gpcopy_helper到相应的bin目录 
cp gpcopy $GPHOME/bin  
cp gpcopy_helper $GPHOME/bin

3.赋予权限
chmod 755 $GPHOME/bin/gpcopy
chmod 755 $GPHOME/bin/gpcopy_helper

4.在segment节点的操作如下,只拷贝gpcopy_helper到相应目录下并赋予权限即可。

自定义安装的路径
在这里插入图片描述默认安装的路径
/usr/local/greenplum-db-6.4.0/bin
在这里插入图片描述

实践

部分实践,其他迁移方法 参考官网等方式

# --debug 是为了在前台查看日志
# 从21服务器上把dmtestone表 数据迁移到 102服务器上
# datadev.public.dmtestone      
# 库:datadev 模式:public 表:dmtestone

gpcopy --source-host 192.168.100.21 --dest-host 192.168.100.102 --include-table datadev.public.dmtestone --drop --dest-table postgres2.public.dmtestone --debug


# 从21服务器上把dc数据库 迁移到 102服务器上
gpcopy --source-host 192.168.100.21 --dest-host 192.168.100.102 --dbname dc --dest-dbname  dc --skip-existing --debug

在这里插入图片描述

在这里插入图片描述

报错

迁移的时候 目前数据库如果存在也会 ***报错***,应该是有其他方式的。

迁移的时候 报错 pq: password authentication failed for user “gpadmin”
在这里插入图片描述修改了
master/gpseg-1/pg_hba.conf

#host all all 0.0.0.0/0 md5

host all all 0.0.0.0/0 trust

在这里插入图片描述

报错
DDL renaming for schema or table is not supported for “datassets_dev” .“public” ." dmtestone" =s “postgres" .“public” ."newtable2*
在这里插入图片描述修改命令:不要修改表名

验证

Navicat或者 DBeaver 连接到数据库

从21 迁移数据库dc到102

102数据库 刷新一下,有了dc数据库

Navicat
在这里插入图片描述
DBeaver
工具需要设置一下
在这里插入图片描述在这里插入图片描述

查看数据库和表大小

查看库:
select pg_size_pretty(pg_relation_size('abg'));
查看表:
select pg_size_pretty(pg_total_relation_size('newtable'));

在这里插入图片描述

查看数据库和磁盘base对应关系

select oid, datname from pg_database;

在这里插入图片描述
在这里插入图片描述

gpcopy数据同步

源数据源新建一个数据库,新建一张表
执行gpcopy 数据不会丢失

21机器上新建了一个cppytest1的新数据库 新表wert
执行命令
gpcopy --source-host 192.168.100.21 --dest-host 192.168.100.102 --dbname copytest1 --dest-dbname  copytest1 --skip-existing

在这里插入图片描述
在这里插入图片描述

疑问

数据库疑问

迁移的数据库 表的大小发生了变化,但是经抽查表数据,数据未丢失
还望大佬赐教

在这里插入图片描述

mirror进程没有启动

gpstate -m

在这里插入图片描述

SELECT * from gp_segment_configuration ;

在这里插入图片描述
分别在故障的gp3 gp4 创建配置文件

cd /home/greenplum/gp3/
cd /home/greenplum/gp4/

使用命令gprecoverseg -o ./recov
在这里插入图片描述
gprecoverseg -i ./recov
报错了 数据库gpadmin找不见,手动创建了一个
在这里插入图片描述
重新执行
gprecoverseg -i ./recov
在这里插入图片描述

验证:mirror已经启动
在这里插入图片描述

数据已经同步
在这里插入图片描述

recov文件的内容

 cat /home/greenplum/gp3/recov
 cat /home/greenplum/gp4/recov

在这里插入图片描述

参考

greenplum 数据库的拷贝-gpcopy
https://www.jianshu.com/p/dde22ad9a04a
Greenplum数据迁移–gpcopy的知识点整理
https://blog.csdn.net/qq_42957844/article/details/103235035
Greenplum gpcopy 安装使用介绍
https://blog.csdn.net/dazuiba008/article/details/107068259

迁移先决条件,迁移命令参数,等等可以参考官方文档,如下:

https://gpdb.docs.pivotal.io/data-copy/2-2/install.html
https://gpdb.docs.pivotal.io/data-copy/2-2/gpcopy-migrate.html
https://gpdb.docs.pivotal.io/data-copy/2-2/gpcopy.html

GreenPlum查看表和数据库大小
https://www.cnblogs.com/jiang910/p/10076462.html

记录一次GreenPlum6 故障以及恢复方法
https://blog.51cto.com/lishiyan/2706887

Greenplum数据迁移工具gpcopy升级到 1.1.0
https://cloud.tencent.com/developer/news/355959

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值