Oracle - 数据库打补丁实践

原文:https://www.cnblogs.com/ddzj01/p/12097467.html

一、概述

本文将介绍如何给oracle数据库打最新补丁,数据库版本为11.2.0.4单实例,操作系统为redhat6.5

二、下载相关升级包

1. 登录MOS,查阅(ID 2118136.2),下载最新补丁包

PSU (Patch Set Update),数据库补丁

2. 搜索"Patch 6880880",下载最新opatch

opatch是安装补丁的程序,数据库软件安装完成后,就自带了opatch,但是版本太旧了,所以这里下载最新的opatch

至此已下载两个文件
p6880880_112000_Linux-x86-64.zip:opatch升级包
p29913194_112040_Linux-x86-64.zip:数据库补丁

三、升级opatch

opatch的升级比较简单,就是个文件覆盖

3. 查看原始opatch信息

3.1.查看版本信息

[oracle@orasingle ~]$ cd $ORACLE_HOME/OPatch
[oracle@orasingle OPatch]$ ./opatch version  # 查看版本信息

OPatch Version: 11.2.0.3.4

OPatch succeeded.

3.2.查看打补丁的情况

[oracle@orasingle OPatch]$ ./opatch lsinventory  # 查看打补丁的情况

Oracle Interim Patch Installer version 11.2.0.3.4
Copyright (c) 2012, Oracle Corporation.  All rights reserved.

Oracle Home       : /u01/app/oracle/product/11.2.0/db_1
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/11.2.0/db_1/oraInst.loc
OPatch version    : 11.2.0.3.4
OUI version       : 11.2.0.4.0
Log file location : /u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/opatch2019-12-25_14-26-47PM_1.log

Lsinventory Output file location : /u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/lsinv/lsinventory2019-12-25_14-26-47PM.txt

--------------------------------------------------------------------------------
Installed Top-level Products (1):
Oracle Database 11g                                                  11.2.0.4.0
There are 1 products installed in this Oracle Home.
There are no Interim patches installed in this Oracle Home.
--------------------------------------------------------------------------------

OPatch succeeded.

4. 备份原opatch

[oracle@orasingle ~]$ cd $ORACLE_HOME
[oracle@orasingle db_1]$ mv OPatch OPatch.bak

5. 解压新下载的opatch包

将下载的opatch包上传到oracle的家目录

[oracle@orasingle ~]$ cd ~
[oracle@orasingle ~]$ sz 
[oracle@orasingle ~]$ ls p6880880_112000_Linux-x86-64.zip
p6880880_112000_Linux-x86-64.zip

# 文件上传成功

解压新下载的opatch包

[oracle@orasingle db_1]$ cd ~
[oracle@orasingle ~]$ unzip p6880880_112000_Linux-x86-64.zip -d $ORACLE_HOME

6. 再来查看opatch信息

[oracle@orasingle ~]$ cd $ORACLE_HOME/OPatch
[oracle@orasingle OPatch]$ ./opatch version  # 查看版本信息

OPatch Version: 11.2.0.3.21

OPatch succeeded.

至此 opatch 升级完毕

四、打数据库补丁

7. 关闭em、监听、数据库

[oracle@orasingle ~]$ emctl stop dbconsole  # 如果没有开启em,这步可以跳过

[oracle@orasingle ~]$ lsnrctl stop

[oracle@orasingle ~]$ sqlplus / as sysdba
SQL> shutdown immediate
SQL> exit

8. 解压新下载的补丁包

将下载的补丁包上传到oracle的家目录

[oracle@orasingle ~]$ cd ~
[oracle@orasingle ~]$ ls p29913194_112040_Linux-x86-64.zip
p29913194_112040_Linux-x86-64.zip

[oracle@orasingle ~]$ unzip p29913194_112040_Linux-x86-64.zip

9. 校验该补丁包是否与之前的补丁有冲突

[oracle@orasingle ~]$ cd 29913194
[oracle@orasingle 29913194]$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./

Oracle Interim Patch Installer version 11.2.0.3.21
Copyright (c) 2019, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /u01/app/oracle/product/11.2.0/db_1
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/11.2.0/db_1/oraInst.loc
OPatch version    : 11.2.0.3.21
OUI version       : 11.2.0.4.0
Log file location : /u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/opatch2019-12-25_14-46-26PM_1.log

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.

由于这个测试库之前并没有打什么补丁,所以这里就不可能有补丁冲突的问题,如果这里显示有冲突,再去mos上查找相关解决方案。

10. 正式升级

[oracle@orasingle 29913194]$ $ORACLE_HOME/OPatch/opatch apply

这里要输入3次y和一次回车,这个是时间耗时比较久的,耐心等待

升级完成后报上面的错误,通过查阅mos(ID 2265726.1),可知这个错误可以被忽略

11. 再次查看打补丁的情况

[oracle@orasingle 29913194]$ $ORACLE_HOME/OPatch/opatch lsinventory  # 查看打补丁的情况


内容较多,略

12. 启动数据库,并运行sql文件

[oracle@orasingle 29913194]$ cd $ORACLE_HOME/rdbms/admin
[oracle@orasingle admin]$ sqlplus / as sysdba
SQL> startup
SQL> @catbundle.sql psu apply
SQL> quit

13. 启动监听、em

[oracle@orasingle ~]$ lsnrctl start
[oracle@orasingle ~]$ emctl start dbconsole  # 如果没有开启em,这步可以跳过

至此数据库打补丁已全部完成!

五、回退数据库补丁

数据库在做变更时,当然要考虑回退方案了,接下来介绍如何回退数据库补丁

14. 关闭em、监听、数据库

[oracle@orasingle ~]$ emctl stop dbconsole  # 如果没有开启em,这步可以跳过

[oracle@orasingle ~]$ lsnrctl stop

[oracle@orasingle ~]$ sqlplus / as sysdba
SQL> shutdown immediate
SQL> exit

15. 回退补丁

[oracle@orasingle ~]$ $ORACLE_HOME/OPatch/opatch rollback -id 29913194

这里要输入一次y,时间比较久,耐心等待

这里提示warning,查阅mos(ID 1448337.1),得知可以忽略

16. 启动数据库,并运行sql文件

[oracle@orasingle ~]$ cd $ORACLE_HOME/OPatch
[oracle@orasingle OPatch]$ ./opatch lsinventory  # 查看打补丁的情况


OPatch Version: 11.2.0.3.21

OPatch succeeded.
[oracle@orasingle OPatch]$ ./opatch lsinv
Oracle Interim Patch Installer version 11.2.0.3.21
Copyright (c) 2019, Oracle Corporation.  All rights reserved.

Oracle Home       : /u01/app/oracle/product/11.2.0/db_1
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/11.2.0/db_1/oraInst.loc
OPatch version    : 11.2.0.3.21
OUI version       : 11.2.0.4.0
Log file location : /u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/opatch2019-12-25_16-15-41PM_1.log

Lsinventory Output file location : /u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/lsinv/lsinventory2019-12-25_16-15-41PM.txt

--------------------------------------------------------------------------------
Local Machine Information::
Hostname: orasingle
ARU platform id: 226
ARU platform description:: Linux x86-64
Installed Top-level Products (1):
Oracle Database 11g                                                  11.2.0.4.0
There are 1 products installed in this Oracle Home.
There are no Interim patches installed in this Oracle Home.
--------------------------------------------------------------------------------

OPatch succeeded.

可以看到补丁都被卸载了

18. 启动监听 和 EM

[oracle@orasingle ~]$ lsnrctl start
[oracle@orasingle ~]$ emctl start dbconsole  # 如果没有开启em,这步可以跳过

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

编译原理1

NFA&DFA 在正规式的等价证明可以借助正规集,也可以通过有限自动机DFA来证明等价,以下例题是针对DFA证明正规式的等价,主要步骤是①NFA;②状态转换表; ③状态转换矩阵; ④化简DFA; 文法和语…

20240702在飞凌OK3588-C开发板上通过HDMI OUT输出USB3.0接口的热像仪的预览图像

20240702在飞凌OK3588-C开发板上通过HDMI OUT输出USB3.0接口的热像仪的预览图像 2024/7/2 18:19 rootok3588:/# rootok3588:/# rootok3588:/# lsusb Bus 005 Device 001: ID 1d6b:0002 Bus 003 Device 001: ID 1d6b:0001 Bus 001 Device 001: ID 1d6b:0002 Bus 006 Device 00…

llama-factory训练RLHF-PPO模型

理论上RLHF(强化学习)效果比sft好,也更难训练。ppo有采用阶段,步骤比较多,训练速度很慢. 记录下工作中使用llama-factory调试rlhf-ppo算法流程及参数配置,希望对大家有所帮助. llama-factory版本: 0.8.2 一 rlhf流程 ppo训练流程图如下, 会…

【Linux】—Xshell、Xftp安装

文章目录 前言一、下载Xshell、Xftp二、安装Xshell三、使用XShell连接Linux服务器四、修改windows的主机映射文件(hosts文件)五、远程连接hadoop102/hadoop103/hadoop104服务器六、安装Xftp 前言 XShell远程管理工具,可以在Windows界面下来访…

Springboot整合RedisTemplate以及业务工具类示例

docker安装Redis参考我另一篇博客Docker安装Redis及持久化 一、Get-Started 依赖 <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-redis --> <dependency><groupId>org.springframework.boot</groupId>…

Java_多线程:线程池

1、线程池优点&#xff1a; 降低资源消耗&#xff1a;通过重复利用已创建的线程降低线程创建和销毁造成的消耗。提高响应速度&#xff1a;当任务到达时&#xff0c;任务可以不需要等到线程创建就能立即执行。提高线程的可管理性&#xff1a;线程是稀缺资源&#xff0c;如果无限…

Django 多对多关系

多对多关系作用 Django 中&#xff0c;多对多关系模型的作用主要是为了表示两个模型之间的多对多关系。具体来说&#xff0c;多对多关系允许一个模型的实例与另一个模型的多个实例相关联&#xff0c;反之亦然。这在很多实际应用场景中非常有用&#xff0c;比如&#xff1a; 博…

因版本冲突导致logback的debug日志不打印

因框架调整&#xff0c;降级了logback的版本号&#xff0c;由1.3.12降级为1.2.11&#xff08;因框架限制&#xff0c;只能采用1.2版本&#xff09;&#xff0c;降级后发现debug日志无法打印出来&#xff0c;logback.xml配置文件不生效。后排查发现是与slf4j的版本兼容问题 依赖…

搜维尔科技:数据手套为什么要选择SenseGlove

了解 SenseGlove SenseGlove 是一支由电子工程师、触觉研究人员和计算机视觉专家、XR 开发人员、UX 设计师和产品创新者组成的科幻爱好者团队&#xff0c;他们拥有丰富人类能力和赋予 Metaverse 意义的技能和热情。 推进触觉技术是我们实现这一目标的方式。 公司及产品背景 S…

基于Hadoop平台的电信客服数据的处理与分析③项目开发:搭建Kafka大数据运算环境---任务12:安装Kafka

任务描述 任务内容为安装和配置Kafka集群。 任务指导 Kafka是大数据生态圈中常用的消息队列框架 具体安装步骤如下&#xff1a; 1. 解压缩Kafka的压缩包 2. 配置Kafka的环境变量 3. 修改Kafka的配置文件&#xff0c;Kafka的配置文件存放在Kafka安装目录下的config中 4. 验证…

【融合ChatGPT等AI模型】Python-GEE遥感云大数据分析、管理与可视化及多领域案例应用

随着航空、航天、近地空间遥感平台的持续发展&#xff0c;遥感技术近年来取得显著进步。遥感数据的空间、时间、光谱分辨率及数据量均大幅提升&#xff0c;呈现出大数据特征。这为相关研究带来了新机遇&#xff0c;但同时也带来巨大挑战。传统的工作站和服务器已无法满足大区域…

JDK动态代理-AOP编程

AOPTest.java&#xff0c;相当于main函数&#xff0c;经过代理工厂出来的Hello类对象就不一样了&#xff0c;这是Proxy.newProxyInstance返回的对象&#xff0c;会hello.addUser会替换为invoke函数&#xff0c;比如这里的hello.addUser("sun", "13434");会…

【驱动篇】龙芯LS2K0300之红外驱动

实验目标 编写HX1838红外接收器驱动&#xff0c;根据接收的波形脉冲解码红外按键键值 模块连接 模块连接&#xff1a;VCC接Pin 2&#xff0c;GND接Pin1&#xff0c;DATA接Pin16 驱动代码 HX1838 GPIO初始化&#xff0c;申请中断&#xff0c;注意&#xff1a;GPIO48默认是给…

vscode语言模式

1.背景 写vue3ts项目的时候&#xff0c;用到了volar插件&#xff0c;在单文件使用的时候&#xff0c;鼠标悬浮在代码上面会有智能提示&#xff1b; 但是最近volar插件提示被弃用了&#xff0c;然后我按照它的官方提示&#xff0c;安装了Vue-official扩展插件&#xff0c;但是…

Vue3 特点以及优势-源码解剖

Vue3 特点以及优势-Vue3.4源码解剖 Vue3 特点以及优势 1.声明式框架 命令式和声明式区别 早在 JQ 的时代编写的代码都是命令式的&#xff0c;命令式框架重要特点就是关注过程声明式框架更加关注结果。命令式的代码封装到了 Vuejs 中&#xff0c;过程靠 vuejs 来实现 声明式代…

剑神诀_单机架设_无需虚拟机_小白专用

前言 今天给大家带来一款单机游戏的架设&#xff1a;剑神诀&#xff0c;一键端 无需虚拟机 如今市面上的资源参差不齐&#xff0c;大部分的都不能运行&#xff0c;本人亲自测试&#xff0c;运行视频如下&#xff1a; 剑神诀 搭建教程 此游戏架设不需要安装虚拟机&#xff0c;…

爬虫cookie是什么意思

“爬虫 cookie”指的是网络爬虫在访问网站时所使用的cookie&#xff0c;网络爬虫是一种自动化程序&#xff0c;用于在互联网上收集信息并进行索引&#xff0c;这些信息可以用于搜索引擎、数据分析或其他目的。 本教程操作系统&#xff1a;Windows10系统、Dell G3电脑。 “爬虫…

SpringBoot 项目整合 MyBatisPlus 框架,附带测试示例

文章目录 一、创建 SpringBoot 项目二、添加 MyBatisPlus 依赖三、项目结构和数据库表结构四、项目代码1、application.yml2、TestController3、TbUser4、TbUserMapper5、TestServiceImpl6、TestService7、TestApplication8、TbUserMapper.xml9、MyBatisPlusTest 五、浏览器测试…

新鲜出炉!恭喜这 5 位同学中选 NebulaGraph 社区 2024 开源之夏项目!

开源之夏是中国科学院软件研究所发起的“开源软件供应链点亮计划”系列暑期活动&#xff0c;旨在鼓励高校学生积极参与开源软件的开发维护&#xff0c;促进优秀开源软件社区的蓬勃发展。活动联合各大开源社区&#xff0c;针对重要开源软件的开发与维护提供项目开发任务&#xf…

stm32学习笔记---USART串口外设(理论部分)

目录 USART简介 USART的框图 串口的引脚 USART的基本结构 数据帧 起始位侦测 数据采样 波特率发生器 USD转串口模块的原理图 声明&#xff1a;本专栏是本人跟着B站江科大的视频的学习过程中记录下来的笔记&#xff0c;我之所以记录下来是为了方便自己日后复习。如果你…