Greenplum数据库升级实务(下)

上篇介绍了准备,这篇完成升级过程。

执行

安装新版程序

  • 使用root登陆master和standby,执行程序安装
unzip greenplum-db-4.3.5.0-build-1-RHEL5-x86_64.zip
./greenplum-db-4.3.5.0-RHEL5-x86_64.bin
  • 使用root登陆master,执行所有seg host的程序安装(all_seg_hosts_names是一个包含所有seg host的主机名的文件,每个主机名一行,数据库管理用户gpadmin对其有读写权限),安装过程输入的密码为root密码
source /usr/local/greenplum-db-4.3.5.0/greenplum_path.sh
gpseginstall -f all_seg_hosts_names

升级前设置

pg_dump -f /home/gpadmin/dw-nodata-$(date +%Y%m%d%H%M%S) -v -F c -p 5432  -h mdw -C --inserts databasename -s
  • 移除standby节点
gpinitstandby -r -M fast
  • 停止数据库
gpstop -M fast
  • 使用root登陆master,将程序可执行文件的符号链接指向新版本程序路径(all_hosts_names是一个包含所有host的主机名的文件,每个主机名一行,数据库管理用户gpadmin对其有读写权限)
source /usr/local/greenplum-db-4.3.5.0/greenplum_path.sh
gpssh -f all_host_names
=> rm -f /usr/local/greenplum-db
=> ln -s /usr/local/greenplum-db-4.3.5.0 /usr/local/greenplum-db
=> chown -R gpadmin:gpadmin /usr/local/greenplum-db
=> chown -R gpadmin:gpadmin /usr/local/greenplum-db-4.3.5.0 
=> exit

数据库升级操作

  • 使用GP管理员用户登陆master,执行升级操作,在官方文档上,建议在升级之前执行gpmigrator_mirror –check-only的检查,但是如果做了一致性检查,这个建议的检查基本可以省略,直接执行下面的升级命令即可
gpmigrator_mirror /usr/local/greenplum-db-4.2.7.2 /usr/local/greenplum-db-4.3.5.0
  • 使用GP管理员用户登陆master,把standby节点加回来
gpinitstandby -s smdw
  • 使用GP管理员用户登陆master,查看数据库状态,确定升级成功
gpstate

图形管理界面升级操作

  • 使用GP管理员用户登陆master,停止图形管理界面服务
gpcmdr --stop
  • 使用root登陆master,安装新版图形管理界面程序
./greenplum-cc-web-1.3.0.0-build-91-RHEL5-x86_64.bin
chown -R gpadmin:gpadmin /usr/local/greenplum-cc-web-1.3.0.0-build-91
chmod -R 755 /usr/local/greenplum-cc-web-1.3.0.0-build-91
  • 使用root登陆master,以安装standby和seg host上的新版图形管理界面程序(all_host_nomdw_names是一个包含除master外所有host的主机名的文件,每个主机名一行,数据库管理用户gpadmin对其有读写权限)
source /usr/local/greenplum-db/greenplum_path.sh
source /usr/local/greenplum-cc-web/gpcc_path.sh
gpccinstall -f all_host_nomdw_names 
  • 修改数据库管理员用户的profile(如/home/gpadmin/.bash_profile),确保能够使用新版程序文件,然后切换到数据库管理员用户
  • 设置新的图形管理界面实例,按照提示输入实例名字、显示名称和standby复制的信息,其他均默认
gpcmdr --setup
......
  • 启动新的图形管理界面实例
gpcmdr --start

其他可选操作

经测试ETL上的loader和connectivity可以兼容新版本数据库服务,oracle自定义函数也可以兼容新版本数据库服务,语言扩展包无人使用,暂不升级。

猜你喜欢

转载自blog.csdn.net/cloudguru/article/details/45822743