返回首页

gbase数据、南大通用产品文档:GBase8a从V95XX 版本集群手动回退到升级前版本集群

更新日期:2024年09月11日

警告
我们不建议把集群从V9.5.X.X 版本集群回退到升级前版本,而且多数场景
下这种回退是无效的,并且会导致数据错误。
如果满足如下条件,可以把V9.5.X.X 版本集群成功回退到升级前版本集群:
1、从V8.6.X.X 版本集群升级到V9.5.2.X 时使用的V9.5.2.X 安装包解压目录仍然
存在。从V8.6.X.X 版本升级到V9.5.2.X 版本时会在DBAUser 的home 目录下暂时
保留升级前版本的系统用户数据文件。
2、
升级到V9.5.X.X 版本集群后,
没有执行过DDL操作、
扩容操作、
生成新distribution
操作,没有生成新的FEVENTLOG。
3、
升级到V9.5.X.X 版本集群时,
升级工具保存的备份文件还存在。
升级到V9.5.X.X
版本集群时备份文件名包含gcluster 关键字,如:
gcluster_backup_9.5.3.17.114764_20191110162202.tar.bz2。
如果是升级到9.5.3.X,还会有gcware 的独立的备份文件。
首先要停止集群所有节点服务,
然后必须在gbase 用户下执行回退集群版本的命令,
如下所示:
python Restore.py
--backupFile=/home/gbase/gcluster_backup_9.5.3.17.114764_20191110162202.
tar.bz2 --silent=demo.options
[--passwordInputMode=PASSWORDINPUTMODE]
[--backupGcwareFile=gcwarebackupfile]
表3- 18 参数说明
参数名称


--backupFile
指定要回退的集群备份文件(gcluster 和gnode 文件)。默认
在/home/$dbaUser 下。
--silent
指定配置文件
backupGcwareFile
可选参数,
如果是由9.5.3.X 回退到9.5.2.X,
需要填写gcware
的备份文件路径和名称。如果是由9.5.2.X 的回退不需要填写
该参数。
passwordInputMode
可选参数,指定密码获取的方式,通过不同的参数实现不同
的获取方式。若指定该参数,则demo.options 中的密码不必

GBase 8a MPP Cluster 产品手册
3 集群安装升级与卸载
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
116
参数名称


再修改。取值范围为[file,pwdsame,pwddiff],默认认值为file:

file:表示从文件获取,该方式下,文件中的密码是明文
的;

pwdsame:表示从终端由用户输入密码,并且所有节点
的密码一致情况下使用该参数,对于不同用户密码只输
入一次;

pwddiff:表示从终端由用户输入密码,并且节点间的
密码不一致情况下使用该参数,对于不同用户密码每个
节点分别输入一次。

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
117
4 管理员指南
本章介绍如何管理集群。供系统管理员进行集群日常健康检查、集群管理、安全管
理、审计管理、备份与恢复等操作。

特例:执行gsql 程序,使用如下选项导入由gs_dump/gs_dumpall 生成导出文件夹(纯
文本格式)的MPPDB_backup.sql 文件到postgres 数据库。
[gbase@gbasehost ~]$ gsql -d postgres -p 5432 -W Bigdata@123 -f
/home/gbase/data/MPPDB_backup.sql
SET
SET
SET
SET
SET
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
CREATE INDEX
CREATE INDEX
CREATE INDEX
SET
CREATE INDEX
REVOKE
REVOKE

GBase 8c 工具参考手册
南大通用数据技术股份有限公司
188
GRANT
GRANT
total time: 30476
ms
gs_restore 用来导入由gs_dump 生成的导出文件。
示例1:执行gs_restore,将导出的MPPDB_backup.dmp 文件(自定义归档格式)导入
到postgres 数据库。
[gbase@gbasehost ~]$ gs_restore -W Bigdata@123
/home/gbase/data/backup/MPPDB_backup.dmp -p 5432 -d postgres
gs_restore: restore operation successful
gs_restore: total time: 13053
ms
示例2:执行gs_restore,将导出的MPPDB_backup.tar 文件(tar 格式)导入到postgres
数据库。
[gbase@gbasehost ~]$ gs_restore /home/gbase/data/backup/MPPDB_backup.tar -p
5432 -d postgres
gs_restore[2017-07-21 19:16:26]: restore operation successful
gs_restore[2017-07-21 19:16:26]: total time: 21203
ms
示例3:执行gs_restore,将导出的MPPDB_backup 文件(目录格式)导入到postgres
数据库。
[gbase@gbasehost ~]$ gs_restore /home/gbase/data/backup/MPPDB_backup -p 5432 -d
postgres
gs_restore[2017-07-21 19:16:26]: restore operation successful
gs_restore[2017-07-21 19:16:26]: total time: 21003
ms
示例4:执行gs_restore,使用自定义归档格式的MPPDB_backup.dmp 文件来进行如下
导入操作。导入PUBLIC 模式下所有对象的定义和数据。在导入时会先删除已经存在的对
象,如果原对象存在跨模式的依赖则需手工强制干预。
[gbase@gbasehost ~]$ gs_restore /home/gbase/data/backup/MPPDB_backup.dmp -p
5432 -d postgres -e -c -n PUBLIC
gs_restore: [archiver (db)] Error while PROCESSING TOC:
gs_restore: [archiver (db)] Error from TOC entry 313; 1259 337399 TABLE table1
gaussdba
gs_restore: [archiver (db)] could not execute query: ERROR:
cannot drop table
table1 because other objects depend on it
DETAIL:
view t1.v1 depends on table table1

GBase 8c 工具参考手册
南大通用数据技术股份有限公司
189
HINT:
Use DROP ... CASCADE to drop the dependent objects too.
Command was: DROP TABLE public.table1;
手工删除依赖,导入完成后再重新创建。
[gbase@gbasehost ~]$ gs_restore /home/gbase/data/backup/MPPDB_backup.dmp -p
5432 -d postgres -e -c -n PUBLIC
gs_restore[2017-07-21 19:16:26]: restore operation successful
gs_restore[2017-07-21 19:16:26]: total time: 2203
ms
示例5:执行gs_restore,使用自定义归档格式的MPPDB_backup.dmp 文件来进行如下
导入操作。只导入PUBLIC 模式下表table1 的定义。
[gbase@gbasehost ~]$ gs_restore /home/gbase/data/backup/MPPDB_backup.dmp -p
5432 -d postgres -e -c -s -n PUBLIC -t table1
gs_restore[2017-07-21 19:16:26]: restore operation successful
gs_restore[2017-07-21 19:16:26]: total time: 21000
ms
示例6:执行gs_restore,使用自定义归档格式的MPPDB_backup.dmp 文件来进行如下
导入操作。只导入PUBLIC 模式下表table1 的数据。
[gbase@gbasehost ~]$ gs_restore /home/gbase/data/backup/MPPDB_backup.dmp -p
5432 -d postgres -e -a -n PUBLIC -t table1
gs_restore[2017-07-21 19:16:26]: restore operation successful
gs_restore[2017-07-21 19:16:26]: total time: 20203
ms

使用 oncheck 实用程序来检查特定磁盘结构的不一致性,修复不一致的索引结构并显示有
关磁盘结构的信息。
检查索引时,oncheck 实用程序需要分类空间。所需的分类空间量与创建索引所需要的空
间一样大。如果收到 “no free disk space for sort ” 的错误信息,您必须重新预估使空间
可用的所需的临时空间量。
可以使用等同于一些 oncheck 命令的 SQL 管理 API 命令。