绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
GaussDB T单机版从1.0.1升级至1.0.2
2020-03-18 11:29:13

摘要:GaussDB T单机版从1.0.1升级至1.0.2

GaussDB T单机可通过执行upgrade.py脚本对数据库进行版本升级,所有升级操作都使用安装GaussDB T数据库的操作系统omm用户登录服务器执行。
本示例将介绍GaussDB T单机如何从1.0.1版本升级至1.0.2版本。

1、升级注意事项

GaussDB T升级注意事项:(升级前,请严格阅读以下相关注意事项,并确认)
① 只支持相邻C版本之间的升级,因此需要确保目标版本和当前版本是否是相邻C版本。如果要升级到多个版本,需要依次升级。
② 在升级前根据需要备份重要的数据,建议进行一次全量备份。
③ 数据库所在环境的磁盘的预留空间不小于系统表文件所占空间(该预留空间供备份操作使用),否则升级失败。
④ 请确保数据库用户(以omm为例)对升级安装包具有一定的权限(≤0750),否则升级失败,需执行回滚。
⑤ 升级前确认数据库实例运行正常,可正常启停,可正常执行业务,否则升级失败,需执行回滚。
⑥ 升级前必须停止业务。
⑦ 确保没有其他控制软件(例如,CloudSOP、DBM等)对数据库进行实例关闭或拉起、主备切换、容灾、备份等操作,或者触发定时任务。否则升级可能失败,并且无法回滚。

2、升级前版本检查

omm用户下,执行以下命令,检查升级前数据库版本信息:

$ zsql / as sysdba -q connected. SQL> select * from v$version; VERSION ---------------------------------------------------------------- GaussDB_100_1.0.1.B023 Release d92e025 ZENGINE d92e025 3 rows fetched. SQL> select name,status,open_status,database_condition,database_role from v$database; NAME STATUS OPEN_STATUS DATABASE_CONDITION DATABASE_ROLE ---------- ---------- --------------- ------------------------- -------------------- YHDB OPEN READ WRITE NORMAL PRIMARY 1 rows fetched. SQL> exit $

3、上传目标版本安装包并解压

使用omm用户上传目标版本安装包并解压,获取upgreade.py升级脚本,omm用户需要对目标版本安装包所在目录有读、写和执行权限。

$ mkdir -p /u01/gaussdb/upgrade $ cd /u01/gaussdb/upgrade/ $ ls -l total 8200 -rwx------ 1 omm dbgrp 8395154 3月 5 18:10 GaussDB_T_1.0.2-DATABASE-REDHAT-64bit.tar.gz $ $ tar -xvf GaussDB_T_1.0.2-DATABASE-REDHAT-64bit.tar.gz GaussDB_T_1.0.2-DATABASE-REDHAT-64bit/ GaussDB_T_1.0.2-DATABASE-REDHAT-64bit/GaussDB_T_1.0.2-RUN-REDHAT-64bit.sha256 GaussDB_T_1.0.2-DATABASE-REDHAT-64bit/GaussDB_T_1.0.2-RUN-REDHAT-64bit.tar.gz GaussDB_T_1.0.2-DATABASE-REDHAT-64bit/funclib.py GaussDB_T_1.0.2-DATABASE-REDHAT-64bit/install.py GaussDB_T_1.0.2-DATABASE-REDHAT-64bit/sshexkey.py GaussDB_T_1.0.2-DATABASE-REDHAT-64bit/upgrade.py $ $ cd GaussDB_T_1.0.2-DATABASE-REDHAT-64bit/ $ ls funclib.py GaussDB_T_1.0.2-RUN-REDHAT-64bit.sha256 GaussDB_T_1.0.2-RUN-REDHAT-64bit.tar.gz install.py sshexkey.py upgrade.py $

4、创建config_file.ini升级配置文件

创建升级配置文件config_file.ini,配置文件内容格式:IP=升级包路径,GSDB_HOME目录,备份目录,GSDB_DATA数据目录。
注意:备份目录是升级过程中备份文件的存储路径,需要提前创建。

$ mkdir -p /u01/gaussdb/upgrade/backup $ cd /u01/gaussdb/upgrade/ $ vi config_file.ini 192.168.179.123=/u01/gaussdb/upgrade/GaussDB_T_1.0.2-DATABASE-REDHAT-64bit.tar.gz,/u01/gaussdb/app,/u01/gaussdb/upgrade/backup,/u01/gaussdb/data $

5、执行升级前环境检查

omm用户下,进入升级包的upgrade.py脚本所在目录,执行以下命令进行升级环境检查:

$ cd /u01/gaussdb/upgrade/GaussDB_T_1.0.2-DATABASE-REDHAT-64bit/ $ python upgrade.py -s pre-check --config-file=/u01/gaussdb/upgrade/config_file.ini --upgrade-mode=single Begin to precheck for single upgrade. Old version: 1.0.1.B023 New version: 1.0.2.B307. Precheck for single upgrade finished. Upgrade [pre-check] step successfully. $

6、执行升级

omm用户下,进入升级包的upgrade.py脚本所在目录,执行以下命令进行升级:

$ pwd /u01/gaussdb/upgrade/GaussDB_T_1.0.2-DATABASE-REDHAT-64bit $ python upgrade.py -s run --config-file=/u01/gaussdb/upgrade/config_file.ini --upgrade-mode=single Old version: 1.0.1.B023 New version: 1.0.2.B307. Precheck step for single upgrade. Prepare step for single upgrade. Replace step for single upgrade. Begin distrubute key to other instances. output: attr:MOUNT single=======================output: connected. SQL> VALUE ---------------------------------------------------------------- (/u01/gaussdb/data/protect/kmc_a.ksf, /u01/gaussdb/data/protect/kmc_b.ksf) 1 rows fetched. single============================status:0 Start step for single upgrade. Upgrade step for single upgrade. Sync step for single upgrade. Dbcheck step for single upgrade. Flush step for single upgrade. Run for single upgrade finished. Upgrade [run] step successfully. $

7、升级后检查

升级成功后数据库处于停止状态,需要手动拉起数据库。启动数据库,检查升级后数据库信息:

$ cd /u01/gaussdb/app/bin/ $ python zctl.py -t start Successfully started instance. $ $ zsql / as sysdba -q connected. SQL> select * from v$version; VERSION ---------------------------------------------------------------- GaussDB_T_1.0.2.B307 Release d4484ac ZENGINE 2 rows fetched. SQL> select name,status,open_status,database_condition,database_role from v$database; NAME STATUS OPEN_STATUS DATABASE_CONDITION DATABASE_ROLE ---------- ---------- --------------- ------------------------- ------------------------------ YHDB OPEN READ WRITE NORMAL PRIMARY 1 rows fetched. SQL> exit $

到此,GaussDB T单机版的升级完成。

8、清理升级环境

确认升级成功后,可以清理环境,执行cleanup清理环境时会删除升级过程中产生的日志文件(upgrade.log文件),如果后期需要查看,请在执行cleanup前手动保存upgrade.log文件。upgrade.log文件的存储路径是/opt/gaussdb/backup/ha_upgrade_backup/upgrade.log,其中/opt/gaussdb/backup是手动创建的升级过程中备份文件的存储路径。
omm用户下,进入升级包的upgrade.py脚本所在目录,执行以下命令清理环境:

$ pwd /u01/gaussdb/upgrade/GaussDB_T_1.0.2-DATABASE-REDHAT-64bit $ python upgrade.py -s cleanup --config-file=/u01/gaussdb/upgrade/config_file.ini --upgrade-mode=single clean backup and tmp files. Upgrade [cleanup] step successfully. $

9、升级失败后回滚

如果在升级过程中失败需要回滚,操作如下:

  1. 进入upgrade.py脚本所在目录,执行以下命令进行回滚检查。
    $ cd /u01/gaussdb/upgrade/GaussDB_T_1.0.2-DATABASE-REDHAT-64bit/
    $ python upgrade.py -s rollback-check --config-file=/u01/gaussdb/upgrade/config_file.ini --upgrade-mode=single
  2. 执行回滚。
    $ python upgrade.py -s rollback --config-file=/u01/gaussdb/upgrade/config_file.ini --upgrade-mode=single
     显示“Upgrade [rollback] step successfully.”表示回滚成功。
     回滚命令执行失败,需要查看/u01/gaussdb/upgrade/backup/ha_upgrade_backup中upgrade.log查看升级日志,解决问题后手动执行回滚后再次执行升级命令。
分享好友

分享这个小栈给你的朋友们,一起进步吧。

GaussDB_数据库
创建时间:2020-01-06 16:21:44
华为GaussDB数据库小栈
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • GaussDB_数据库
    专家
戳我,来吐槽~