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.4OPatch 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/oraInventoryfrom           : /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.logLsinventory 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.21OPatch 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 sessionOracle Home       : /u01/app/oracle/product/11.2.0/db_1
Central Inventory : /u01/app/oraInventoryfrom           : /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.logInvoking 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.21OPatch 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/oraInventoryfrom           : /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.logLsinventory 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,这步可以跳过

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

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

相关文章

如何快速把一篇文章或企业介绍变为视频?

随着科技和数字化的不断发展,企业的营销手段也在不断变革。尤其对于产品宣传来说,用生动的视觉语言直观地展示产品特点和优势,能够彰显企业实力,让社会不同层面的人士对企业产生正面、良好的印象,从而建立对该企业的好…

开发技术-Java集合(List)删除元素的几种方式

文章目录 1. 错误的删除2. 正确的方法2.1 倒叙删除2.2 迭代器删除2.3 removeAll() 删除2.4 removeIf() 最简单的删除 3. 总结 1. 错误的删除 在写代码时,想将其中的一个元素删除,就遍历了 list ,使用了 remove(),发现效果并不是想…

CircuitBreaker断路器-Resilience4j

目录 背景分布式架构面临的问题:服务雪崩如何解决? CircuitBreakerResilience4jCircuitBreaker 服务熔断服务降级三种状态转换例子参数配置案例demo作业 BulkHead隔离特性SemaphoreBulkhead使用了信号量FixedThreadPoolBulkhead使用了有界队列和固定大小…

Opencv中RotatedRect和ellipse的角度方向

版本:opencv-4.7.0-windows Opencv中,大多数时候,逆时针旋转是正方向,但在RotatedRect和ellipse中,顺时针旋转是正方向。 //RotatedRect的角度参数是顺时针为正方向 RotatedRect(const Point2f& center, const Si…

OpenCV练习(2)图像校正

1、傅里叶变换 霍夫变换 直线 角度 旋转2、边缘检测 霍夫变换 直线角度 旋转3、四点透视 角度 旋转4、检测矩形轮廓 角度 旋转 1.目的 实现类似全能扫面王的图像校正功能 2. 基于轮廓提取和透射变换 基于轮廓提取和透射变换的矫正算法更适用于车牌、身份证、人民…

机器人控制系列教程之动力学建模(1)

简介 机器人动力学是对机器人机构的力和运动之间关系与平衡进行研究的学科。机器人动力学是以机器人运动为基础,研究在运动过程中连杆与连杆之间、连杆与工件之间力或力矩等关系。 分类: 根据研究方向的不同,机器人的动力学分析也分为正、逆…

【Qt之·类QTableWidget】

系列文章目录 文章目录 前言一、常用属性二、成员函数2.1 左上角空白区域 三、实例演示总结 前言 一、常用属性 二、成员函数 方法描述selectRow选中行removeRow移除行insertRow插入行rowCount总行数 2.1 左上角空白区域 QTableCornerButton即不属于列表头,也不…

标准版绑定完手机号页面不跳转问题修复

标准版在不登录的情况下,从商品进去下单的时候跳出来登录并绑定手机号,绑定完手机号页面不跳转问题 修改教程如下: 文件目录:template/uni-app/pages/users/binding_phone/index.vue 加如图内容,然后重新打包

分享一套基于SSM的美食推荐管理系统(源码+文档+部署)

大家好,今天给大家分享一套基于SSM的美食推荐管理系统 开发语言:Java 数据库:MySQL 技术:SpringSpringMvcMyBatis 工具:IDEA/Ecilpse、Navicat、Maven 博主介绍: 一名Java全栈工程师,专注于Jav…

3D Web轻量引擎HOOPS Web Platform赋能AEC行业数字化,高效渲染与多格式支持!

在建筑、工程和施工(AEC)行业,数字化转型和高效协作正变得越来越重要。为应对日益复杂的项目需求和不断提升的质量标准,AEC企业需要一种强大的工具来实现高效的3D可视化和数据管理。HOOPS Web Platform作为一款综合性3D开发平台&a…

床上用品跨境电商:拥有沃尔玛1P特权的商家享有哪些显著优势?

在全球化的背景下,跨境电商对床上用品行业至关重要。沃尔玛因其品牌影响力、客户资源及物流体系在跨境电商平台中脱颖而出。拥有沃尔玛1P特权的商家享有更多曝光机会和独家优惠。那么,这些特权商家具体有哪些优势呢? 沃尔玛1P特权商家在曝光率上具有显著…

Ubuntu 20.04安装中文输入法出错:gnome-user-docs-zh-hans安装失败

问题:Ubuntu20.04安装中文输入法出错:gnome-user-docs-zh-hans安装失败 现象: 打开language Support页面的时候,提示install依赖的文件 这个过程中会弹窗提示: The following packages have unmet dependencies:gnome-user-doc…

怎么从零到一建立一个海外仓:分步指南,7个关键步骤归纳

无论你是想从零到一建立一个海外仓,还是想升级现有的海外仓,下面的7个步骤对你都会有一些参考价值。从海外仓选址到安装必要系统,再到人员配置,在创建海外仓的时候这些细节都非常重要。 1、确定海外仓所需的空间容量 确定海外仓…

微信小程序版threejs的使用

首先是使用环境:我是使用的uniapp制作的微信小程序,当然原生的也是可以的,但是测试过很多,发现微信官方的threejs移植版本只能够导入gltf格式的模型,无法导入obj,这就有些尴尬了,为此我找了很多版本的threejs,首先是threejs-miniprogram,也就是官方的,可以直接在unia…

网络安全自学入门:(超详细)从入门到精通学习路线规划,学完即可就业

很多人上来就说想学习黑客,但是连方向都没搞清楚就开始学习,最终也只是会无疾而终!黑客是一个大的概念,里面包含了许多方向,不同的方向需要学习的内容也不一样。 算上从学校开始学习,已经在网安这条路上走…

多商户万能DIY商城小程序源码系统 支持自营+独立部署 带完整的安装代码包以及搭建教程

系统概述 多商户万能 DIY 商城小程序源码系统是一个综合性的电商平台解决方案,旨在满足不同用户的多样化需求。它不仅支持自营模式,还为多商户入驻提供了广阔的空间,使平台能够汇聚各类商品和商家,形成一个丰富多样的商业生态。 …

GroundingDINO1.5突破开放式物体检测界限:介绍与应用

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…

【面试题】Spring面试题

目录 Spring Framework 中有多少个模块,它们分别是什么?Spring框架的设计目标、设计理念?核心是什么?Spring框架中都用到了哪些设计模式?Spring的核心机制是什么?什么是Spring IOC容器?什么是依…

使用vue + canvas绘制仪表盘

使用vue canvas绘制仪表盘 效果图&#xff1a; 父容器 <template><div class"panelBoard-page"><h1>panelBoard</h1><Demo1 :rate"rate" /></div> </template> <script setup> import { ref } from …

友思特分享 | 完美聚光:用于光刻曝光的UV-LED光引擎

导读 LED替代汞灯在紫外光源中的使用已成为大势所趋。友思特先进的 UV-LED-EXP 系统可作为OEM集成、汞灯光刻设备改造或直接定制光路设计和曝光设备&#xff0c;为紫外光源的半导体光刻曝光过程提供近乎完美的光照质量。 汞弧灯与UV LED 汞弧灯是高强度气体放电灯。简单地解释…