数据库管理-第104期 RAC上升级SSH的坑(20230918)

news2024/12/25 12:15:49

数据库管理-第104期 RAC上升级SSH的坑(20230918)

最近一些版本的OpenSSH和OpenSSL都爆出了比较严重的漏洞,但是Oracle数据库尤其是RAC升级SSH和SSL其实是有一定风险的,这里就借助我的OCM环境,做一次SSH升级的演示及排坑。

1 升级SSH

这里从群里拖了一套SSH的RPM包在线直接升级:
在这里插入图片描述
在这里插入图片描述
这里可以看到OpenSSH版本已经升级到了9.4p1,OpenSSL已经是1.1.1v。
更新完成过后,首先集群的状态是正常的(截图略)。

2 问题

似乎直接在集群运行状态下升级SSH没出现啥问题,这里就开始做另外一件事情,通过opatchauto升级数据库,目标版本是19.16,结果:
在这里插入图片描述
在这里插入图片描述
检查日志发现:

2023-09-17 21:59:06,270 INFO  [1] oracle.dbsysmodel.driver.sdk.util.OsysUtility - Output message :::  
2023-09-17 21:59:13,200 WARNING [1] oracle.dbsysmodel.driver.sdk.util.OsysUtility - Failed: 
Verifying '/tmp/' ...FAILED (PRVF-7546)
Verifying Shared Storage Accessibility:/u01/app/19.3.0/grid/crs/install ...PASSED

Verification of shared storage accessibility was unsuccessful. 
Checks did not pass for the following nodes:
	host04

这里看到检查remote节点/tmp目录时出现了问题,这里需要说明一下,在RAC集群rolling方式升级的时候,是会调用CVU(Cluster Verification Utility)来验证集群各节点情况,而相关文件就会存放在/tmp文件夹下:
在这里插入图片描述
这里也说一下我这里为什么选择19.16做测试:1. 这个是我手上生产使用且稳定的版本;2. 该版本是适配了OpenSSH_8版本了的(Cluvfy Fails Pre-checks Upgrade 19c GI From 12c - OpenSSH_8 (Doc ID 2929286.1))。因此这个版本可以最大限度减少一些问题的产生,然而问题依旧。

3 如何解决

这里其实就是这么个问题(按照INS-06006 GI RunInstaller Fails If OpenSSH Is Upgraded to 8.x (Doc ID 2555697.1)):

[root@host03 ~]# scp host04:"'/root/test'" ./
(root@host04) Password: 
scp: '/root/test': No such file or directory

## OpenSSH 8.x
[root@host03 ~]# scp -T host04:"'/root/test'" ./
(root@host04) Password:
## The file transfers will be successful.

## OpenSSH 9.x
[root@host03 ~]# scp -T host04:"'/root/test'" ./
(root@host04) Password: 
scp: '/root/test': No such file or directory

[root@host03 ~]# scp -T -O host04:"'/root/test'" ./
(root@host04) Password: 
test                                                    100%    0     0.0KB/s   00:00

因此在使用适用于OpenSSH 8.x的解决方案处理问题的时候,仍然会出现无法执行CVU的问题。
通过man scp的方式检查-T和-O参数的解释:

-O     Use the legacy SCP protocol for file transfers instead of the SFTP protocol.  Forcing the use of
       the SCP protocol may be necessary for servers that do not implement SFTP, for backwards-compati‐
       bility for particular filename wildcard patterns and for expanding paths with a `~'  prefix  for
       older SFTP servers.
-T     Disable strict filename checking.  By default when copying files from a remote host to  a  local
       directory  scp  checks  that the received filenames match those requested on the command-line to
       prevent the remote end from sending unexpected or unwanted files.  Because of differences in how
       various operating systems and shells interpret filename wildcards, these checks may cause wanted
       files to be rejected.  This option disables these checks at the expense of fully  trusting  that
       the server will not send unexpected filenames.

-T是关闭严格的文件名检查,防止来自各种操作系统的远程端和shell解释文件名通配符,这些检查可能会导致所需文件被拒绝。。
-O则是不适用SFTP而是SCP协议来传输文件,对于特定文件名通配符模式具有兼容性。
因此这里在OpenSSH 8.x解决方案的基础上还需要增加-O的参数,完成解决方案如下:

# Rename the original scp.
mv /usr/bin/scp /usr/bin/scp.orig

# Create a new file </usr/bin/scp>.
vi /usr/bin/scp

# Add the below line to the new created file </usr/bin/scp>.
/usr/bin/scp.orig -T $*

# Change the file permission.
chmod 555 /usr/bin/scp

# Begin operation(sush as installation, opatch(auto), CVU and so on)

# After operation
mv /usr/bin/scp.orig /usr/bin/scp

处理过后opatchauto可以正常运行:
在这里插入图片描述
在这里插入图片描述

总结

本期讲解的是升级OpenSSH至9.x后RAC在升级版本时需要注意的一些问题。
老规矩,知道写了些啥。

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

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

相关文章

用ModelScope给大家送上中秋祝福

用ModelScope来阐述中秋的意义 第一 中秋节的背景 接下来我们继续深入一下看看ModelScope的理解 可以看当我们讨论家庭团聚时&#xff0c;ModelScope 对这个主题的理解的确十分准确。然而&#xff0c;有时候我们在表达这个概念时可能会变得有些过于正式和僵硬&#xff0c;这样…

【码银送书第七期】七本考研书籍

八九月的朋友圈刮起了一股晒通知书潮&#xff0c;频频有大佬晒出“研究生入学通知书”&#xff0c;看着让人既羡慕又焦虑。果然应了那句老话——比你优秀的人&#xff0c;还比你努力。 心里痒痒&#xff0c;想考研的技术人儿~别再犹豫了。小编咨询了一大波上岸的大佬&#xff…

论文解读 | YOLO系列开山之作:统一的实时对象检测

原创 | 文 BFT机器人 01 摘要 YOLO是一种新的目标检测方法&#xff0c;与以前的方法不同之处在于它将目标检测问题视为回归问题&#xff0c;同时预测边界框和类别概率。这一方法使用单个神经网络&#xff0c;可以从完整图像中直接预测目标边界框和类别概率&#xff0c;实现端…

二叉树的概念、存储及遍历

一、二叉树的概念 1、二叉树的定义 二叉树&#xff08; binary tree&#xff09;是 n 个结点的有限集合&#xff0c;该集合或为空集&#xff08;空二叉树&#xff09;&#xff0c;或由一个根结点与两棵互不相交的&#xff0c;称为根结点的左子树、右子树的二叉树构成。 二叉树的…

ClickHouse进阶(十七):clickhouse优化-写出查询优化

进入正文前&#xff0c;感谢宝子们订阅专题、点赞、评论、收藏&#xff01;关注IT贫道&#xff0c;获取高质量博客内容&#xff01; &#x1f3e1;个人主页&#xff1a;含各种IT体系技术,IT贫道_大数据OLAP体系技术栈,Apache Doris,Kerberos安全认证-CSDN博客 &#x1f4cc;订…

4G工业路由器,开启智能工厂,这就是关键所在

​提到工业物联网,首先联想到的就是数据传输。要把海量的工业数据从设备端传到控制中心,无线数传终端就发挥着重要作用。今天就跟着小编来看看它的“联”是怎么建立的吧! 原文&#xff1a;https://www.key-iot.com/iotlist/1838.html 一提到无线数传终端,相信大家首先想到的是…

Python 元组的常用方法

视频版教程 Python3零基础7天入门实战视频教程 下标索引用法和列表一样&#xff0c;唯一区别就是不能修改元素 实例&#xff1a; # 下标索引用法和列表一样&#xff0c;唯一区别就是不能修改元素 t1 ("java", "python", "c") # t1[1] "…

【PyTorch 攻略 (3/7)】线性组件、激活函数

一、说明 神经网络是由层连接的神经元的集合。每个神经元都是一个小型计算单元&#xff0c;执行简单的计算来共同解决问题。它们按图层组织。有三种类型的层&#xff1a;输入层、隐藏层和输出层。每层包含许多神经元&#xff0c;但输入层除外。神经网络模仿人脑处理信息的方式。…

虹科分享 | 谷歌Vertex AI平台使用Redis搭建大语言模型

文章来源&#xff1a;虹科云科技 点此阅读原文 基础模型和高性能数据层这两个基本组件始终是创建高效、可扩展语言模型应用的关键&#xff0c;利用Redis搭建大语言模型&#xff0c;能够实现高效可扩展的语义搜索、检索增强生成、LLM 缓存机制、LLM记忆和持久化。有Redis加持的大…

Docker启动Mysql容器并进行目录挂载

一、创建挂载目录 mkdir -p 当前层级下创建 mkdir -p mysql/data mkdir -p mysql/conf 进入到conf目录下创建配置文件touch hym.conf 并把配置文件hmy.conf下增加以下内容使用vim hym.conf即可添加(cv进去就行) Esc :wq 保存 [mysqld] skip-name-resolve character_set_…

设备树叠加层

设备树覆盖 设备树 (DT)是描述不可发现硬件的命名节点和属性的数据结构。内核&#xff08;例如 Android 中使用的 Linux 内核&#xff09;使用 DT 来支持 Android 设备使用的各种硬件配置。硬件供应商提供他们自己的设备树源 (DTS)文件&#xff0c;这些文件使用设备树编译器编…

UINT64整型数据在格式化时使用了不匹配的格式化符%d导致其他参数无法打印的问题排查

目录 1、问题描述 2、格式化函数内部解析待格式化参数的完整机制说明 2.1、传递给被调用函数的参数是通过栈传递的 2.2、格式化函数是如何从栈上找到待格式化的参数值&#xff0c;并完成格式化的&#xff1f; 2.3、字符串格式化符%s对应的异常问题场景说明 2.4、为了方便…

node 之 express 框架(初级)

一、express 热更新 1、安装扩展 npm install node-dev -D2、在根目录下的 package.json 文件中进行配置 3、之后的启动执行下面的命令即可 npm run dev二、mvc中的 模板引擎 1、ejs模板引擎的安装 npm install ejs -s2、在根目录下的app.js文件中配置 app.set(view engin…

我学编程全靠B站了,真香(第一期)

你好&#xff0c;我是Martin。 我是就读于B站大学2020届的Martin同学&#xff0c;反正我学习计算机真的是全靠 B 站了。 我是个刷视频狂魔&#xff0c;B站收藏夹里也收藏了很多编程类视频&#xff0c; 比如C/C、Go语言、操作系统、数据结构和算法、计算机网络、数据库、Pyth…

深入了解Python运算符和表达式:从基础到高级

&#x1f482; 个人网站:【工具大全】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 Python运算符和表达式是…

JavaScript 学习笔记(基础)

其是一门跨平台、面向对象的脚本语言&#xff08;直译型语言&#xff09;&#xff0c;用来控制网页行为&#xff0c;能使网页产生交互效果&#xff01;下面以 JS 代称 JavaScript 引入HTML结构文件有两类方式&#xff1a; 内部脚本 行联式嵌入式外部脚本* 基本语法&#xff1…

npm发布vue3自定义组件库--方法二

npm发布vue3自定义组件库 创建项目 vue create test-ui自定义组件 创建自定义组件&#xff0c;组件名称根据你的需求来&#xff0c;最好一个组件一个文件夹&#xff0c;下图是我的示例。 src/components 组件和你写页面一样&#xff0c;所谓组件就是方便实用&#xff0c;不…

NotePad++ 在行前/行后添加特殊字符内容方法

我们在处理数据时&#xff0c;会遇到需要在每行数据前面、后面、开头、结尾添加各种不一样的字符 如果数据不多&#xff0c;我们可以自己手动的去添加&#xff0c;但如果达到了成百上千行&#xff0c;此时再机械的手动添加是不现实的 这里教给大家如何快速的在数据每行的前后…

华为云云耀云服务器L实例评测|cento7.9在线使用cloudShell下载rpm解压包安装mysql并开启远程访问

文章目录 ⭐前言⭐使用华为cloudShell连接远程服务器&#x1f496; 进入华为云耀服务器控制台&#x1f496; 选择cloudShell ⭐安装mysql压缩包&#x1f496; wget下载&#x1f496; tar解压&#x1f496; 安装步骤&#x1f496; 初始化数据库&#x1f496; 修改密码&#x1f4…

JavaCTF记录

Springmvcdemo 在没有提升权限之前&#xff0c;整个环境只有Cookie是可控的&#xff0c;并且提升权限也是要通过cookie来&#xff0c;先看看它对cookie做了什么&#xff0c;看一下过滤器 public void doFilter(ServletRequest request, ServletResponse response, FilterChai…