当前位置: 首页 > article >正文

Linux系统上Oracle12C Release 2 (12.2)打补丁

本文的oracle是单机环境

一、打补丁前环境准备

1、确保make, ar, ld,和 nm四个可执行命令在$PATH中

export PATH=$PATH:/bin

2、查看已装的Oracle的OPatch版本

#切换到oracle用户
su - oracle

#进入到数据库的安装目录下的opatch目录
cd /ora01/app/oracle/product/12.2.0/db_1/OPatch

#查看版本
 ./opatch -help  
Oracle Interim Patch Installer version 12.2.0.1.6
Copyright (c) 2024, Oracle Corporation.  All rights reserved.

二、升级Opatch

Opatch(12.2.0.1.28)从此处下载,下载格式为7Z,请下载后自己压缩成zip格式

#切换到root用户并解压已上传的opatch安装包
su - root 
unzip p6880880_122010_Linux-x86-64.zip

#更改解压出来的目录的权限
chown oracle:oinstall -R OPatch/

#进入到数据库安装目录,并将这个目录备份
cd /ora01/app/oracle/product/12.2.0/db_1/
mv OPatch/ OPatch_bak/

#将刚刚解压的目录复制或剪切过来
mv OPatch/ /ora01/app/oracle/product/12.2.0/db_1/

#此时opatch已经更新完成,可以进入opatch目录使用opatch -help查看当前版本
/ora01/app/oracle/product/12.2.0/db_1/OPatch/opatch -help

三、打补丁

1、关闭当前ORACLE_HOME下的所有实例和监听

#登录数据库
sqlplus / as sysdba

#关闭数据库实例
SQL> shutdown immediate

#关闭监听
lsnrctl stop

2、检测补丁冲突
Oracle数据库 12.2.0.1 从 2022 年 4 月 1 日起处于持续模式,从 2022 年 4 月开始发布的季度补丁包是受密码保护的,仅适用于有季度更新例外批准的客户。p33587128_122010_Linux-x86-64是能下载到的22 年 1 月份的补丁,可以从此处下载,压缩格式为7Z,下载后自己压缩成zip格式

#将下载好的补丁上传到服务器(任意目录即可),然后解压
#p33587128_122010_Linux-x86-64为RU补丁
unzip p33587128_122010_Linux-x86-64.zip

#将目录权限修改为oracle组
chown oracle:oinstall -R 33587128/

#进入到目录
cd 33587128

#执行冲突检测
/ora01/app/oracle/product/12.2.0/db_1/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./

3、升级

#切换到oracle用户
su - oracle

#进入到补丁所在目录
cd 33587128

#执行命令,出现要选择的一路按Y即可,期间备份文件会有点慢
/ora01/app/oracle/product/12.2.0/db_1/OPatch/opatch apply

#如果出现Missing command :fuser的报错,安装fuser对应的包
yum install -y psmisc

安装完成后,将修改sql文件加载到数据库中,步骤如下:
在这里插入图片描述

注意:12C的补丁注册改成了用datapatch工具,而不是以前版本的 $ORACLE_HOME/rdbms/admin/catbundle.sql psu apply

如果在加载sql文件的时候出现errors,那么查看具体的报错信息,并按照编号在MOS找到对应的BUG,然后打上那个BUG的补丁,然后重新加载SQL即可

验证打好的补丁:

#查看已打的补丁(这里因为是新装的虚拟测试机,所以目前没有打任何补丁)
/ora01/app/oracle/product/12.2.0/db_1/OPatch/opatch lsinventory

http://www.kler.cn/news/302812.html

相关文章:

  • 【Python机器学习】长短期记忆网络(LSTM)
  • 在 Debian 12 上安装中文五笔输入法
  • Zabbix企业级应用案列
  • C#学习笔记 .NET Core使用注意事项
  • 基于相亲交友系统的高效匹配算法研究
  • 快速排序(分治思想)
  • USB 3.1 标准 A 型连接器及其引脚分配
  • Leetcode Hot 100刷题记录 -Day10(合并区间)
  • druid连接gbase8s数据库报错空指针
  • vue2 组件通信
  • MySql Index索引使用注意
  • 数据分析-13-时间序列异常值检测的类型及常见的检测方法
  • 专题三_二分查找算法_算法详细总结
  • Jmeter之beanshell使用
  • 适合博客的组件库
  • RHEL 7 安装配置( Linux 网络操作系统 02)
  • 【智能流体力学】数值模拟中的稳态和瞬态
  • OpenHarmony(鸿蒙南向开发)——轻量系统芯片移植指南(二)
  • C#多线程进阶
  • Java面试题·解释题·单例模式、工厂模式、代理模式部分
  • 基于Qt的串口包装器
  • 【SqlServer】SQL Server Management Studio (SSMS) 下载、安装、配置使用及卸载——保姆级教程
  • 数学建模笔记—— 最大最小化规划模型
  • mysql——关于表的增删改查(CRUD)
  • macOS镜像下载(ISO、DMG)
  • xss-labs-master通关教程
  • 起重机检测系统源码分享
  • 【C++11 —— 包装器】
  • 【Sceneform-EQR】通过sceneform-eqr实现一个视频播放器(使用安卓MediaPlayer实现视频播放)
  • 从0开始深入理解并发、线程与等待通知机制