说明本次测试基于greenplum-db-6.4.0-rhel6-x86_64.rpmgpcopy-2.3.1.tar.gz(仅在百度云分享)
软件百度云:https://pan.baidu.com/s/1tBqGEEeye_NRAVnbu9Nptwu4j8
阿里云:链接:https://www.aliyundrive.com/s/DE1cDbrfMiP
官网:greenplum:https://network.pivotal.io/products/vmware-tanzu-greenplum#/releases/972275/file_groups/5616gpcopy: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/gpcopychmod 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 数据库的拷贝-gpcopyhttps://www.jianshu.com/p/dde22ad9a04aGreenplum数据迁移–gpcopy的知识点整理https://blog.csdn.net/qq_42957844/article/details/103235035Greenplum gpcopy 安装使用介绍https://blog.csdn.net/dazuiba008/article/details/107068259
迁移先决条件,迁移命令参数,等等可以参考官方文档,如下:
https://gpdb.docs.pivotal.io/data-copy/2-2/install.htmlhttps://gpdb.docs.pivotal.io/data-copy/2-2/gpcopy-migrate.htmlhttps://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.0https://cloud.tencent.com/developer/news/355959
本文来源:https://blog.csdn.net/weixin_44385419/article/details/121010960