VastBase——VPatch版本控制

news2024/12/25 1:18:24

一、准备工作

1.概述

VPatch是用于Vastbase版本控制的工具。可以实现在单机环境下的升级和回退操作,具体功能如下:

  • 升级环境检查,补丁冲突检查等。

  • PSU、PSR、OOP补丁的升级、回退、升级或回退失败时的还原。

  • 升级过程中记录相关日志和步骤文件。

  • 升级过程中管理备份文件。

  • 自vpatch V2.0.0开始,支持在检查和回退时指定--force参数,用于对特殊的可回退升级包进行升级后的强制回退。强制回退表示对修改了函数和系统表的升级过程进行回退(若不指定--force参数,则修改了函数和系统表的升级过程无法回退)。需要注意的是,强制回退可能导致数据丢失或读取错误,一般情况下不推荐使用本功能,或联系技术人员进行判断和操作。

 

  • PSU:月度补丁版本。

  • PSR:季度补丁版本。

  • OOP:One Off Patch,在单机环境下通过安装OOP升级包解决单个bug或增加小功能,OOP升级包的特点是升级包体量小,升级后版本号不会变化。

2.前提条件

使用vpatch升级需在python3.7环境下运行,即执行python3 --version,返回版本为3.7.*

在开始升级前,请检查解压的升级包patch/VPatch/script/ 目录是否存在两个脚本文件 prepare_env.sh和clean_env.sh。

  • 如果不存在上述两个文件,表示当前升级包中不包含python3.7的安装包,需要用户手动安装python3.7;

  • 如果存在上述两个文件,表示当前升级包中已经包含了python3.7的安装包,此时使用root用户运行这两个脚本即可为当前用户安装卸载python3.7。

执行以下命令安装python3.7:

source prepare_env.sh

 检查是否安装成功,返回版本为3.7.*时表示成功:

python3 --version

执行以下命令卸载python3.7:

sh clean_env.sh

 卸载后当前连接窗口因为已经配置了python3的环境变量,执行python3 -V命令仍然返回 3.7.*,开启新的连接窗口后恢复安装前情况。

 

注意事项

  • 仅支持Vastbase G100 V2.2 Build 10及以上版本的升级。

  • 对于集群的升级,需还原为单机模式进行,完成升级后重新部署集群。

  • 强制回退可能导致数据丢失或读取错误,一般情况下不推荐使用本功能,或联系技术人员进行判断和操作。

  • 在升级或回退前应关闭数据库服务。

  • 升级时指定的端口号应避开日常使用的服务端口号,防止升级过程被外部干扰。

  • 不支持修改用户数据升级的场景。用户数据指使用vb_initdb命令初始化后并未包含的、由用户操作产生的表。

  • 仅支持未修改系统表且允许回退的补丁进行rollbackrollback to回退操作。不支持修改过数据字典的场景进行rollbackrollback to回退操作。

  • 不支持多实例场景。多实例场景即为单一产品对应多个数据库集簇的场景。

  • 修改系统表的情况下不支持OOP,考虑进行PSU升级;

  • 修改三方库的情况下不支持OOP,考虑进行PSU升级;

  • 如有删除文件和新增文件的情况,目前OOP仅支持升级,无法回退,这种情况建议使用PSU升级。

  • 一次升级的目标文件数建议为1~5个,在这个范围内升级是比较安全的。由于OOP体量小,在需要频繁打补丁的情况下,一次升级的目标文件数据越多,下一次升级补丁与前面的补丁出现冲突的可能会大幅增加,因此如果需要升级的目标文件超过10个,建议使用PSU升级,或者分批次升级。

  • 升级过程中,检查和安装准备阶段会向数据库初始化用户的环境配置文件中写入环境变量,所以切换用户时若使用了不同的终端,为避免出现环境变量缺失的问题,需执行以下语句设置环境变量:

source .bashrc

3.数据库参数检查

升级前请检查以下数据库参数是否配置正确,避免影响数据库升级。

logging_collector=on

enable_global_syscache=on
uppercase_attribute_name=off
enable_prevent_job_task_startup =on
vb_exclude_reserved_words = ''

对于集群拆分成单节点升级的场景,需要在postgresql.conf中添加pgxc_node_name的值。

4.字符集检查

升级前检查环境变量中的字符集设置,确保LC_ALL的字符集设置与LANG一致,如果不一致,修改LC_ALL,避免影响数据库升级。

echo $LANG
echo $LC_ALL

使用英文字符集升级回退

检查环境变量,如下图所示:

 若只有LANG,则在数据库安装用户的bashrc中设置:

vim ~/.bashrc
export LANG=en_US.UTF-8

二、执行升级

升级前请检查以下数据库参数是否配置正确,避免影响数据库升级。

logging_collector=on
enable_global_syscache=on
uppercase_attribute_name=off
enable_prevent_job_task_startup =on
vb_exclude_reserved_words = ''

关闭数据库

vb_ctl stop

备份数据库目录

cp -a /home/vastbase/local/vastbase_9104 /home/vastbase/local/vastbase_9104_bak

切换到数据库安装用户,把补丁包解压放入/home/数据库安装用户/目录,进入patch文件夹下解压升级包。

su - vastbase
cd /home/vastbase
tar xf PSU_9104_9662_centos-7_x86-64-01-20221109.tar.gz
cd patch
tar xf 2-2.2-10-92-702-9104-centos-7-x86-64-01.tar.gz

创建配置文件

/vastbase/a-Oracle/vastbase/vpatch.ini

[vpatch]
userName=vastbase
userGroup=vastbase
appPath=/vastbase/a-Oracle/vastbase
dataPath=/vastbase/a-Oracle/data
port=5432
tmpPath=/vastbase/a-Oracle/omTmp/tmp

使用root用户指定配置文件

cd /vastbase/a-Oracle/vastbase/patch/2-2.2-15-92-815-17408-centos-7-x86-64-2.0.0-02/VPatch/script

./vpatch --setparam -f  /vastbase/a-Oracle/vastbase/vpatch.ini

返回结果如下表示成功:

使用root用户执行命令进行升级环境检查

./vpatch -C

 返回结果如下表示成功

 使用root用户执行命令进行用户权限检查

./vpatch -P

返回结果如下表示成功

切换数据库初始化用户进行升级

su - vastbase
cd /vastbase/a-Oracle/vastbase/patch/2-2.2-15-92-815-17408-centos-7-x86-64-2.0.0-02/VPatch/script

./vpatch --upgrade

升级完成后进行信息检查

./vpatch -U -s

查看数据库升级日志。显示升级过程信息,包含停止服务、启动服务操作、执行的每个脚本文件、操作数据库的相关命令、变更的设置参数等内容。

当升级失败时,可查看vpatch日志获取错误信息。

cat $GAUSSHOME/.update/updateLog/jq_vpatch_two/gs_upgradectlxxx.log

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2096855.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

华为OD机试真题 - 来自异国的客人(Python/JS/C/C++ 2024 D卷 100分)

华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试真题(Python/JS/C/C)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,…

使用老毛桃的一些坑

个性设置不要去点 三种模式的区别 ISO模式:直接U盘成为某个系统的启动盘 本地模式:相当于硬盘中植入一个PE系统,与后续的windows系统,一起组成双系统 普通模式:PE系统在U盘中,这样ISO可以是多种不同的系…

98.SAP MII功能详解(12)Workbench-Transaction Logic(For Next Loop)

目录 1.Logic->For Next Loop 2.演示 配置对象 配置连接 for循环的整体演示 1.Logic->For Next Loop 此操作用于在预定义的次数内执行任务。每次迭代都会执行直接跟随For Next循环操作的所有操作,直到达到To限制。 若要在达到To属性限制之前停止&…

我用GPT对RAG技术的学习和探索

思维导图 下图是我的学习和探索过程,红点表示已研究,黄点表示待研究 目录 思维导图RAG技术概述RAG 的关键优点应用场景 如何了解RAG技术的原理和应用1. **基础理论学习**2. **实战演练**3. **学习资源利用**4. **保持学习的连贯性**5. **多角度理解**6. …

SpringBoot配置返回数据不存在null

一、引言 最近在做项目中遇到一个神奇的问题,在测试返回银行三级数据的时候有的项目中返回的数据中把null值的数据返回了,而有的时候就不存在null值数据,如下所示: 存在null值情况 不含null值情况 但是我们可以看一下返回的VO的…

AG32 MCU如何指定一段RAM可以重启或复位不丢失数据

AG32 MCU如何指定一段RAM可以重启或复位不丢失数据? 目前还没这样的功能。 建议可以试下: 把系统ram设置成120K,最后的8K只能自己访问。 这样重启时,系统不会自动擦除最后的8K。可能是可以的。 备份寄存器大概有几十字节可以用。但是这个需…

2024最新comfyui保姆级教程来啦!comfyui工作流搭建看这一篇就够了!

前言 一、SD主流 UI Stable Diffusion(SD)因为其开源特性,有着较高的受欢迎程度,并且基于SD的开源社区及教程、插件等,都是所有工具里最多的。基于SD,有不同的操作界面,可以理解为一个工具的不…

基于zigbee的广告牌安全监测系统设计与实现(论文+源码)

1.系统方案 本次基于Zigbee的广告牌安全监测系统,使用Zigbee组网,一共具有2块板子,其中1块作为协调器,另1块作为终端。首先由协调器构建Zigbee网络,终端连上协调器网络后,每隔1秒钟采集一次传感器数据并通…

2024好用的骨传导耳机有哪些?精选这热门五款拒绝踩雷!

作为一名运动狂热者,我已经坚持运动八年了,在这八年运动时间里我最离不开的就是运动耳机了,一副好的运动耳机重要性可太多了,不仅更加可以提高我们的运动效率,还有更多元化的功能。运动耳机市场在这几年获得了长足的发…

Docker占用根目录/存储空间过多如何清理?

问题背景 使用df -h查看磁盘空间时发现根目录空间不多了,已使用96%,红色警告!!! 于是使用df -h /* 一层一层定位,终于找到了一个大文件 9G多的文件夹,位置是: /var/lib/docker/o…

计算机毕业设计Hadoop+Spark抖音可视化 抖音舆情监测 预测算法 抖音爬虫 抖音大数据 情感分析 NLP 自然语言处理 Hive 机器学习 深度学习

技术栈:数据分析Spark、数据库Hive MySQL、服务器djano、爬虫requests jieba库中文分词,通俗来说,就是将一句(段)话按一定的规则(算法)拆分成词语、成语、单个文字。 中文分词是很多应用技术的前置技术,如搜索引擎、机器翻译、词…

Unity(2022.3.41LTS) - 视频

目录 零. 简介 一、视频支持的格式和平台 二、视频播放组件 三、视频播放控制 四、视频与游戏交互 五、性能和优化 零. 简介 在 Unity 中,视频播放是一项强大的功能,可以为游戏和应用程序增添丰富的多媒体体验。 一、视频支持的格式和平台 Unit…

Linux系统练习笔记【完整版】

✨博客主页: https://blog.csdn.net/m0_63815035?typeblog 💗《博客内容》:.NET、Java.测试开发、Python、Android、Go、Node、Android前端小程序等相关领域知识 📢博客专栏: https://blog.csdn.net/m0_63815035/cat…

力扣1235.规划兼职工作

力扣1235.规划兼职工作 动态规划 二分 将所有工作按照结束时间排序f[i]表示前i个工作可获取的最大收益状态转移:取第i个工作,f[i] profit[i] f[j],其中j为结束时间小于i的开始时间的最大数不取第i个工作,f[i] f[i-1]可以通过二…

CSS中的align-content属性:实现垂直居中的新方式

引言 在CSS的漫长发展历程中,垂直居中一直是一个令人头疼的问题。不过,好消息是,到了2024年,CSS终于引入了一种新的方式来实现垂直居中,那就是使用align-content属性。本文将详细介绍align-content的使用方式&#xff…

SYN6288语音合成模块的简单应用

文章目录 一、前言二、硬件1.原理图1.1 对外引脚说明1.2 电源供电参考电路1.3 复位电路和状态指示电路1.4 扬声器输出1.5 外接高速晶振 三、软件1.系统构成框图2.通讯方式:异步串行通讯(UART)接口3.芯片回传4. 通信帧定义及通信控制4.1 命令帧…

【Eureka】搭建Eureka Server,实现服务注册和服务发现

1. Eureka介绍 Eureka是NetflixOSS套件中关于服务注册和发现的解决⽅案.SpringCloud对Eureka进⾏了集成,并作为优先推荐⽅案进⾏宣传,虽然⽬前Eureka2.0已经停⽌维护,新的微服务架构设计中,也不再建议使用,但是⽬前依然有⼤量公司的微服务系统使⽤Eureka作为注册中⼼. 官方文…

指尖疯2024年下半年软考报名快报:赛程过半,你报名成功了吗?

周一早上好,新的一周,新的9月! 特别提醒:青海和上海,这两个“海”今天截止报名!已经结束报名的地区已经增长到了13个,目前2024年下半年软考报名已经过半,考虑到还有审核时间以及报名…

原生冻结进程分析(U)

一、概要 1.定义: 当应用切换到后台并且没有其他活动时,系统会在一定时间内通过状态判断,将进程 ID 迁移到冻结的 cgroup 节点上,实现冻结 CACHE 应用。这项功能可以减少活跃缓存应用在后台存在时所消耗的 CPU 资源,从…

Nginx安全性配置

文章目录 引言I Nginx简单的安全性配置禁止特定的HTTP方法限制URL长度禁止某些用户代理限制请求速率连接限制禁止访问某些文件类型II 常见的安全规则防御CC攻击User-Agent过滤GET-URL过滤GET-参数过滤POST过滤(sql注入、xss攻击 )引言 Nginx本身并不具备复杂的防火墙规则定制…