ITPub博客

首页 > 数据库 > 国内数据库 > YashanDB离线升级

YashanDB离线升级

国内数据库 作者:崖山数据库系统YashanDB 时间:2025-03-07 10:26:37 0 删除 编辑

YashanDB支持通过yasboot工具离线升级已部署的数据库,将数据库二进制文件升级到新版本。

Note:

本文中所有路径、版本号、用户、密码与回显信息等仅为示例,请以实际为准。

#注意事项

  • 离线升级要求当前数据库无新业务数据产生,请通过应用手段停止用户业务。
  • 请完成 升级前准备要求的各项工作后再进行升级。
  • 升级过程需使用YashanDB内置的yasboot工具,该工具的命令选项含义及说明请查阅 yasboot。
  • 若升级未成功,请执行 离线升级回退。如果回退仍不成功,请联系YashanDB技术支持解决。
  • 升级成功后,需根据运行日志告警判断是否使用过时参数,告警内容请查阅 参数配置中参数初始化章节示例。若使用了过时参数,需根据 配置参数中对应参数的介绍判断该参数是否因改名而过时,并且是否需要将该过时参数调整为对应的新参数。若新参数未配置,则过时参数的配置值将自动转换为新参数值。
  • 从23.2.0.0版本开始, yasom仲裁选主功能需依赖于已开启 操作系统认证。若23.2.0.0以下版本中已开启yasom仲裁选主( 升级前准备中会临时关闭该功能),升级至23.2.0.0或以上版本后仍需开启,需先检查并开启操作系统认证,才能保证仲裁选主功能正常使用。
  • 升级成功后,请先确认数据库运行正常再开放用户业务。

#操作步骤

#步骤1:执行全量备份

YashanDB提供两种备份的方式,分别是通过SQL语句和使用yasrman工具,如需了解更多有关备份的语法及说明请查阅 备份恢复。

  • SQL语句方式:

    SQL语句执行备份需登录数据库实例进行操作,可通过执行如下语句执行全量备份:

    BACKUP DATABASE FULL FORMAT '/home/yashan/full_20221123' TAG 'full' PARALLELISM 3;
    Copied!
  • yasrman工具方式:

    使用yasrman工具进行全量备份须确保在yasrman工具所在服务器上操作,可通过执行如下命令执行全量备份:

    # 请将password@IP:port修改成设置的sys密码及对应IP地址:端口号$ yasrman sys/password@IP:port -c "backup cluster tag 'full_1' format 'full_bak_1'" -D /home/yashan/catalog
    Copied!

#步骤2:上传新版本安装包

  1. 在执行数据库安装的服务器中创建一个空目录作为升级安装包的临时存放路径。

    $ mkdir ~/tmp_upgrade
    Copied!
  2. 将新版安装包上传至该目录中。

  3. 进入升级安装包的存放目录并解压安装包。

    $ cd ~/tmp_upgrade
    $ tar zxf yashandb-23.3.1.100-linux-x86_64.tar.gz
    Copied!

#步骤3:升级yasom/yasagent

以下操作均在升级安装包的存放目录中执行,并请根据实际的升级场景选择对应的操作步骤:

#场景1:22.2.x.x升级至23.2.x.x及以上

本文将以22.2.4.100版本升级到23.3.1.100版本为例。

  1. 查看当前yasom与yasagent版本。

    $ ps -ef | grep -E "yasom|yasagent" | grep -v grepyashan 102280      1  0 16:24 ?        00:00:00 /data/yashan/yasdb_home/yashandb/22.2.4.100/bin/yasagent --init -c yashandb -l 192.168.1.2:1676 --host-id host0001 -k                  -dyashan 102323      1  0 16:24 ?        00:00:00 /data/yashan/yasdb_home/yashandb/22.2.4.100/bin/yasom --init -c yashandb -l 192.168.1.2:1675 -k                  -d# 获取到yasom和yasagent所在的bin目录,执行-h命令,当前版本为22.2.4.100$ /data/yashan/yasdb_home/yashandb/22.2.4.100/bin/yasom -hUsages: yasom [<flags>] <command>yasom daemon process, version: Debug 22.2.4.100
    Copied!

    若存在yasom与yasagent进程,执行如下命令或操作系统的进程终止命令将其终止。

    $ ./bin/yasboot process yasom stop -c yashandb -t hosts.toml && yasboot process yasagent stop -c yashandb -t hosts.toml
    stop yasom successfully
    stop agent host0002 successfully
    stop agent host0001 successfully
    Copied!

    其中:

    -c, --cluster:需指定为实际的集群名称
    -t, --toml:需指定为旧版本(22.2.x)的服务器配置文件
    Copied!
  2. 使用目标新版本(23.2.x)的yasboot工具 托管数据库,其中,join_demo.toml文件中的yasdb_home和node_path参数需指定旧版本(22.2.x)的相应路径。

#场景2:23.2.x.x及以上之间升级

本文将以23.2.4.100版本升级到23.3.1.100版本为例。

  1. 查看当前yasom与yasagent版本。

    $ ps -ef | grep -E "yasom|yasagent" | grep -v grepyashan 102280      1  0 16:24 ?        00:00:00 /data/yashan/yasdb_home/yashandb/23.2.4.100/bin/yasagent --init -c yashandb -l 192.168.1.2:1676 --host-id host0001 -k                  -dyashan 102323      1  0 16:24 ?        00:00:00 /data/yashan/yasdb_home/yashandb/23.2.4.100/bin/yasom --init -c yashandb -l 192.168.1.2:1675 -k                  -d# 获取到yasom和yasagent所在的bin目录,执行-h命令,当前版本为23.2.4.100$ /data/yashan/yasdb_home/yashandb/23.2.4.100/bin/yasom -hUsages: yasom [<flags>] <command>yasom daemon process, version: Debug 23.2.4.100
    Copied!
  2. 升级yasom与yasagent。

    $ ./bin/yasboot package upgrade -t /home/yashan/install/hosts.toml -p yashandb-23.3.1.100-linux-x86_64.tar.gz
    upgrade package...install version: yashandb 23.3.1.100
    host0001 100% [====================================================================]    3s
    upgrade host to yasom...
    Copied!

    如需在升级后使用DBLINK功能和更丰富的内置函数(例如GIS Function、LSFA_LISTAGG),需先 下载plugin插件包并在升级命令中指定--plugin参数。 升级完成后,无法单独安装该插件包。

    $ ./bin/yasboot package upgrade -t /home/yashan/install/hosts.toml -p yashandb-23.3.1.100-linux-x86_64.tar.gz --plugin yashandb-plugins-all-23.3.1.100-linux-x86_64.tar.gz
    Copied!

    参数介绍:

    -t, --toml:需指定为旧版本的服务器配置文件hosts.toml
    -p, --package:需指定为新版本YashanDB软件包的绝对路径
    --plugin:需指定为插件包的绝对路径
    Copied!
  3. 检查yasom与yasagent升级后的版本。

    $ ps -ef | grep -E "yasom|yasagent" | grep -v grepyashan 103607      1  0 16:32 ?        00:00:00 /data/yashan/yasdb_home/yashandb/23.3.1.100/bin/yasagent -c yashandb -dyashan 103650      1  0 16:32 ?        00:00:00 /data/yashan/yasdb_home/yashandb/23.3.1.100/bin/yasom -c yashandb -d# 版本已升级为23.3.1.100
    Copied!

#步骤4:升级数据库

以下操作均在升级安装包的存放目录中执行。

Caution:

数据库升级过程中出现任何错误,请执行 离线升级回退恢复环境,升级成功后无法回退。

  1. 查看当前数据库版本。

    $ ./bin/yasboot sql -d sys/password@192.168.1.2:1688 -s 'select version from v$instance;'VERSION                                                          
    ---------------------------------------------------------------- 
    Release 23.2.4.100 x86_64        
    # 当前版本为23.2.4.100
    Copied!
  2. 升级数据库。

    $ ./bin/yasboot cluster upgrade --cluster yashandbtype | uuid             | name                | hostid | index    | status  | return_code | progress | cost 
    -------------------------------------------------------------------------------------------------------------
    task | 9d0041edd55f7d4f | UpgradeYasdbCluster | -      | yashandb | SUCCESS | 0           | 100      | 23   ------+------------------+---------------------+--------+----------+---------+-------------+----------+------
    task completed, status: SUCCESS
    Copied!

    Note:

    升级过程中将对旧版本进行备份,备份文件存储于各个服务器的安装目录下的upgrade_tmp/backup中。

  3. 检查数据库升级后的版本。

    $ ./bin/yasboot sql -d sys/password@192.168.1.2:1688 -s 'select version from v$instance;'VERSION                                                          
    ---------------------------------------------------------------- 
    Release 23.3.1.100 x86_64   
    # 版本已升级为23.3.1.100
    Copied!

    Note:

    如果是共享集群升级场景,升级成功后需要执行一次重启命令:

    ./bin/yasboot cluster restart -c yashandb
    Copied!

#步骤5(可选):升级后操作

  • 更新环境变量

    升级操作不会修改服务器的 YASDB_HOME、 YASDB_DATA、 LD_LIBRARY_PATH以及 PATH等环境变量,若配置过环境变量,升级后需更新为新版本数据库相应的环境变量, 若不更新直接使用yasdb/yasql等命令会继续指向旧版本数据库。

  • 开启或关闭某些配置

    若为顺利执行升级操作而临时调整过某些配置(例如关闭仲裁),在升级完成后应按需还原配置(例如重新 开启仲裁)。

    Note:

    从23.2.0.0版本开始,yasom仲裁选主功能需依赖于已开启 操作系统认证。若23.2.0.0以下版本中已开启yasom仲裁选主(升级前准备中会临时关闭该功能),升级至23.2.0.0或以上版本后仍需开启,需先检查并开启操作系统认证,才能保证仲裁选主功能正常使用。

  • 开启守护进程

    若升级后需开启monit功能,可参考 守护进程完成相关配置。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70028812/viewspace-3075081/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
崖山数据库系统YashanDB是深圳计算科学研究院完全自主研发设计的新型数据库系统,融入原创理论,支持单机/主备、共享集群、分布式等多种部署方式,覆盖OLTP/HTAP/OLAP交易和分析混合负载场景,为客户提供一站式的企业级融合数据管理解决方案。

注册时间:2023-04-11

  • 博文量
    722
  • 访问量
    640297