Oracle 19C RAC集群补丁升级

news2024/10/11 2:43:38

文章目录

  • 一、补丁包概述
  • 二、OPatch检查和更新
    • Grid用户更新OPatch
    • Oracle用户更新OPatch
  • 三、验证Oracle Inventory的有效性
  • 四、运行 OPatch 冲突检查
  • 五、运行opatch命令检查GI HOME下是否有足够的空间
  • 六、补丁冲突检测与解决(修补程序)
  • 七、使用root用户应用补丁【节点1打完,再打节点2】
  • 八、将修改后的SQL文件驾照到数据库中
  • 九、回退补丁升级

一、补丁包概述

补丁升级包
链接:https://pan.baidu.com/s/16uTAePiCRNdCOiLn1zc48A?pwd=k3w0
提取码:k3w0

将以下补丁包上传到/soft下
p6880880_190000_Linux-x86-64.zip (更新opatch)

p35940989_190000_Linux-x86-64.zip(GI包,grid软件升级包)

p35943157_190000_Linux-x86-64.zip(DB包,数据库升级包)

这里也可以先查看一下打补丁包之前的版本19.3

column product format A30
column version format A15
column version_full format A20
column status format A15
select * from product_component_version;

在这里插入图片描述

二、OPatch检查和更新

注意:所有节点分别操作

Grid用户更新OPatch

查看一下OPatch的版本信息

opatch version

在这里插入图片描述
在这里插入图片描述

将6880880补丁下载,并解压 $ unzip -o “6880880.zip”
在这里我们直接一次性解压所有的补丁包

# 注意以下所有操作都是root用户执行的,但是进行查询版本的时候需要进入配置过环境变量的用户
su - root
cd /soft

chown -R grid:oinstall /soft
su - grid -c "unzip -q -o /soft/p6880880_190000_Linux-x86-64.zip -d /u01/app/19.3.0/grid"
su - grid -c "unzip -q /soft/p35940989_190000_Linux-x86-64.zip -d /soft"
chown -R oracle:oinstall /soft
su - oracle -c "unzip -q -o /soft/p35943157_190000_Linux-x86-64.zip -d /u01/app/oracle/product/19.3.0/db"
su - grid
opatch version

在这里插入图片描述
在这里插入图片描述

Oracle用户更新OPatch

查看一下OPatch的版本信息

opatch version

在这里插入图片描述
在这里插入图片描述

su - oracle -c "unzip -q -o /soft/p6880880_190000_Linux-x86-64.zip -d /u01/app/oracle/product/19.3.0/db"
su - oracle
opatch version

在这里插入图片描述
在这里插入图片描述

三、验证Oracle Inventory的有效性

在这里插入图片描述

注意:所有节点都操作,以节点1为例。

GI HOME 和DB HOME 都需要验证,分别使用grid和oracle用户执行如下命令,确保返回SUCCESS。
oracle用户:

$ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME 

在这里插入图片描述
在这里插入图片描述
grid用户:
这一步时间会比oracle用户更长一点,耐心等待即可

$ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME 

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

四、运行 OPatch 冲突检查

在这里插入图片描述
在这里插入图片描述

注意:所有节点都操作

进行补丁验证(grid用户下)

cd /u01/app/19.3.0/grid/OPatch/ 

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/35940989/33575402

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/35940989/35943157

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/35940989/35956421

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/35940989/35967489

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/35940989/36115038

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

进行补丁验证(Oracle用户下)

su - oracle
cd /u01/app/19.3.0/grid/OPatch

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/35940989/35943157

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/35940989/35967489

在这里插入图片描述
在这里插入图片描述

五、运行opatch命令检查GI HOME下是否有足够的空间

注意:所有节点都操作

在这里插入图片描述

tip:在创建文件的时候可能回遇到权限问题,可以先使用root用户创建修改内容,然后再切换到相应的用户执行检查命令

grid用户:

vim /soft/patch_list_gihome.txt

/soft/35940989/35943157
/soft/35940989/35967489
/soft/35940989/35956421
/soft/35940989/36115038
/soft/35940989/33575402

在这里插入图片描述

$ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /soft/patch_list_gihome.txt

在这里插入图片描述
在这里插入图片描述

oracle用户:

vim /soft/patch_list_dbhome.txt

/soft/35940989/35943157
/soft/35940989/35967489
$ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /soft/patch_list_dbhome.txt

在这里插入图片描述
在这里插入图片描述

六、补丁冲突检测与解决(修补程序)

在这里插入图片描述
应用修补程序补丁:

su - root
cd /
/u01/app/19.3.0/grid/OPatch/opatchauto apply /soft/35940989 -analyze 

如果要回滚修补程序,请运行以下命令(现在是安装过程,不用执行,了解就行):
rollback

su - root
/u01/app/19.3.0/grid/OPatch/opatchauto rollback /soft/35940989 -analyze 

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

七、使用root用户应用补丁【节点1打完,再打节点2】

在这里插入图片描述

  • 这里节点1和节点2都需要执行,否则在执行过程会报错
su - root
# 下面这个文件节点2可能没有,建议从节点1copy在授权 scp -r /u01/app/oraInventory/ContentsXML/oui-patch.xml root@p19c02:/u01/app/oraInventory/ContentsXML
chmod 777 /u01/app/oraInventory/ContentsXML/oui-patch.xml
cd /soft/35940989/35967489/files/bin/
chmod 777 *
  • 关闭监听,数据库(对哪个节点打补丁就关哪个,以下代码是关闭节点1的)
su - grid
lsnrctl stop
srvctl stop instance -d p19c0 -i p19c01
  • 以下是启动监听,数据库的代码(记得节点1打补丁完成之后,在打节点2的补丁之前要启动)
su - grid
lsnrctl start
srvctl start instance -d p19c0 -i p19c01
  • 以下是GI和DB一起打补丁的步骤(如果运行内存比较小的话可以参考下面分开打的步骤)(我是通过这种方法成功的)
# 节点1
su - root
cd /
export ORACLE_BASE=/u01/app/grid 
export ORACLE_HOME=/u01/app/19.3.0/grid 
export PATH=/u01/app/19.3.0/grid/bin:/u01/app/19.3.0/grid/OPatch:$PATH 
# 打补丁
/u01/app/19.3.0/grid/OPatch/opatchauto apply /soft/35940989
或
opatchauto apply /soft/35940989 

# 节点2,在打节点2之前,注意先把节点一的服务启动
su - root
cd /
# 打补丁
/u01/app/19.3.0/grid/OPatch/opatchauto apply /soft/35940989
或
opatchauto apply /soft/35940989 

# 查看版本的命令
opatch lspatches 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 以下是GI和DB分开打的步骤
# 以下均以root用户在根目录下执行
# 以下是结点1的

/u01/app/19.3.0/grid/OPatch/opatchauto apply /soft/35940989 -oh /u01/app/19.3.0/grid
# 这里如果报错的话查看报错日志,我这里也报错了,日志主要显示没有读写权限,解决办法如下:
# 1、重启虚拟机(因为这里报错的话你的grid集群就不能使用了,需要重启修复)
# 2、cd /soft/35940989/35967489/files/bin/
# 3、chmod 777 *

/u01/app/19.3.0/grid/OPatch/opatchauto apply /soft/35940989 -oh /u01/app/oracle/product/19.3.0/db
# 启动结点1的数据库
/u01/app/oracle/product/19.3.0/db/bin/srvctl start instance –d p19c0 -n p19c01

# 以下是结点2的
/u01/app/19.3.0/grid/OPatch/opatchauto apply /soft/35940989 -oh /u01/app/19.3.0/grid
# 启动结点2的数据库
/u01/app/oracle/product/19.3.0/db/bin/srvctl start instance –d p19c0 -n p19c02

在这里插入图片描述
在这里插入图片描述

八、将修改后的SQL文件驾照到数据库中

在这里插入图片描述

sqlplus / nolog
Connect / as sysdba
startup
quit
cd $ORACLE_HOME/OPatch
./datapatch -sanity_checks
./datapatch -verbose

在这里插入图片描述
在这里插入图片描述

九、回退补丁升级

su - root
cd /

/u01/app/19.3.0/grid/OPatch/opatchauto rollback /soft/35940989
或
opatchauto rollback /soft/35940989 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
完结。
在这里插入图片描述

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

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

相关文章

scGRN:人与鼠的GRN平台

基因调控网络GRN是包含转录因子TFs与其下游靶基因之间的调控相互作用的可解释图模型。了解GRN的拓扑结构和动力学是解释疾病病因机制和将相应发现转化为新疗法的基础。单细胞多组学技术的最新进展促使从单细胞转录组学和表观基因组学数据中以前所未有的分辨率推断GRN。在这里&a…

mysql5.7 源码分析--初始化

集中在sql\mysqld.cc文件的mysqld_main函数中(): 主程序入口 在sql\main.cc文件中: int main(int argc, char **argv) {return mysqld_main(arg, argv); } 一、mysql为了跨平台,对win32系统做了单独的初始化&#x…

GitLab更新失败(Ubuntu)

在Ubuntu下使用apt更新gitlab报错如下: An error occurred during the signature verification.The repository is not updated and the previous index files will be used.GPG error: ... Failed to fetch https://packages.gitlab.com/gitlab/gitlab-ee/ubuntu/d…

双指针算法_和为 s 的两个数_C++

题目: 输入一个递增排序的数组,和一个数字s,在数组中查找两个数,使得它们的和正好是数字s,如果有多对数字的和等于s,只需要任意输入一对即可 算法原理: 利用单调性!使用双指针算法&…

STL —— vector(1)

博主首页: 有趣的中国人 专栏首页: C专栏 本篇文章主要讲解vector使用的相关内容 1. vector简介 vector 是 C 标准库中的一个容器类模板,它提供了动态数组的功能,可以方便地管理和操作元素的集合。下面是关于 vector 的一些基本信…

基于unbantu的nginx的配置

目录 前言: 1.安装nginx并进行测试 1.1使用nginx -v 命令查看版本 1.2开启服务 查看端口 1.3测试 2.nginx的静态资源访问配置 2.1创建静态资源存放的目录 2.2写入目录中测试文件对应的内容 2.3修改配置文件 2.4 测试 3.虚拟主机配置 3.1创建目录 3.2写入测试…

[flask]http请求//获取请求体数据

import jsonfrom flask import Flask, requestapp Flask(__name__)app.route("/form1", methods["post"]) def form1():"""获取客户端请求的请求体[表单]:return:""""""获取表单数据请求url:&qu…

【mysql】centos7安装mysql8

目录 1. 下载安装包2. 解压tar包3. 安装4. 查看安装完成后的安装包5. 初始化mysql6. MySQL设置 1. 下载安装包 1.官网地址2.mysql-8.0.35-1.el7.x86_64.rpm-bundle.tar3.放到服务器的目录(这里是/opt/mysql) 2. 解压tar包 1.tar -xvf 可以解压tar.xz后…

批量下载网页文章软件大全

在信息爆炸的时代,网络上充斥着海量的文章和内容,有时我们希望能够批量下载网页上的文章,以便离线阅读或进行进一步处理。为了满足这一需求,出现了许多网页文章批量下载工具,它们能够帮助用户快速、方便地获取网页上的…

【IC前端虚拟项目】write_path子模块DS与RTL编码

【IC前端虚拟项目】数据搬运指令处理模块前端实现虚拟项目说明-CSDN博客 read_path的代码完成之后,就可以开始整个项目里复杂度最高、bug最多、时序收敛最为困难的模块——write_path的开发了!我自己写过两次这个虚拟项目,每次都是在这里耗时最久,所以大家也可以挑战一下自…

使用AOP实现打印日志

首先创建annotation.SystemLog类: package com.gjh.annotation;import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;Target(ElementType.METHOD…

蓝桥杯-卡片换位

solution 有一个测试点没有空格&#xff0c;要特别处理&#xff0c;否则会有一个测试点运行错误&#xff01; 还有输入数据的规模在变&#xff0c;小心顺手敲错了边界条件 #include<iostream> #include<string> #include<queue> #include<map> #incl…

JS new Array.fill(new Array()) 创建二维数组 fill方法的坑

我们通常会通过如下方式来创建一个二维数据&#xff1a; const arr new Array(5).fill(new Array(2).fill(0))我们如果想要修改其中一个元素的值 arr[0][0] 1输出&#xff1a;   我们只想给arr[0][0]赋值&#xff0c;但是每一行数组为0的下标元素的值全部改变了&#xf…

Mysql-实战数据备份与恢复

文章目录 备份类型备份内容备份工具mysqldump备份 实战案例&#xff1a;恢复误删除的表准备工作2:30完全备份完全备份后更新数据表10:00误删students表需要恢复还原的状态开始还原恢复 为什么要备份&#xff1f; 备份是为了&#xff1a;灾难恢复&#xff1a;硬件故障、软件故障…

基于springboot实现房屋租赁系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现房屋租赁系统演示 摘要 社会的发展和科学技术的进步&#xff0c;互联网技术越来越受欢迎。网络计算机的生活方式逐渐受到广大人民群众的喜爱&#xff0c;也逐渐进入了每个用户的使用。互联网具有便利性&#xff0c;速度快&#xff0c;效率高&#xff0c;成本…

转型数据报表开发:奥威BI学习网站如何助你一臂之力?

介绍&#xff1a;奥威BI是一款商业智能工具&#xff0c;专为中国企业设计&#xff0c;提供数据可视化分析功能。以下是关于奥威BI的一些详细信息&#xff1a; 自助式敏捷BI分析&#xff1a;用户可以通过简单的操作&#xff0c;如拖拉拽&#xff0c;制作出炫酷的可视化报表。这种…

前端超分辨率技术应用:图像质量提升与场景实践探索-设计篇

超分辨率&#xff01; 引言 在数字化时代&#xff0c;图像质量对于用户体验的重要性不言而喻。随着显示技术的飞速发展&#xff0c;尤其是移动终端视网膜屏幕的广泛应用&#xff0c;用户对高分辨率、高质量图像的需求日益增长。然而&#xff0c;受限于网络流量、存储空间和图像…

【软件安装】(十四)Ubuntu22.04安装Psensor硬件监视器

一个愿意伫立在巨人肩膀上的农民...... Ubuntu系统硬件运行查询输入指令太繁琐&#xff0c;终端展示不直观&#xff0c;因此这款具有可视化监控Ubuntu系统下当前电脑的硬件CPU&#xff08;中央处理器&#xff09;、GPU&#xff08;显卡&#xff09;和硬盘等温度等功能&#xff…

HCIP(DSVPN)实验

HCIP&#xff08;DSVPN&#xff09;实验 一&#xff0c;实验要求&#xff1a; 1、r5为isp&#xff0c;只能进行ip地址的配置&#xff0c;其所有ip地址均为共有ip地址 2、r1和r5使用ppp的PAP认证&#xff0c;r5为主认证方 r2和r5之间使用ppp的chap认证&#xff0c;r5为主认证方…

vue基础教程(4)——十分钟吃透vue路由router

同学们可以私信我加入学习群&#xff01; 正文开始 前言一、路由概念二、路由使用三、创建路由对应的组件四、给整个项目一个入口总结 前言 前面的文章运行成功后&#xff0c;页面显示如下&#xff1a; 在这个页面中&#xff0c;点击Home和About都会切换右面的页面内容&#…