oracle补丁升级(19.3-19.22)

一、备份原来的opatch和数据库文件

这里要根据自己的路径:

复制代码
mv /u01/app/oracle/product/19.3.0/db_1/OPatch /u01/app/oracle/product/19.3.0/db_1/OPatch.bak


cd /u01/app
mkdir -p /u01/app/backup
tar -pcvf /u01/app/backup/oracle_backup.tar /u01/app/oracle/

二、替换高版本opatch

1.解压p6880880_190000_Linux-x86-64.zip

复制代码
 unzip p6880880_190000_Linux-x86-64.zip -d $ORACLE_HOME

2.修改文件权限

复制代码
chmod -R 755 /u01/app/oracle/product/19.3.0/db_1/OPatch 

chown oracle:oinstall /u01/app/oracle/product/19.3.0/db_1/OPatch 

3.查看现在opatch版本

复制代码
cd $ORACLE_HOME/OPatch
./opatch version

4.列出安装在$ORACLE_HOME目录下的所有Oracle补丁的详细信息

复制代码
 $ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME

三、关闭数据库实例和监听

1.关闭数据库实例

复制代码
sqlplus / as sysdba
shutdown immediate
exit

2.关闭监听

复制代码
 lsnrctl stop
 lsnrctl status

四、 解压补丁

1.解压p33515361_190000_Linux-x86-64.zip

复制代码
cd /soft
unzip p35943157_190000_Linux-x86-64.zip -d $ORACLE_HOME

2.查看解压后的文件

复制代码
cd $ORACLE_HOME
cd 35943157

可以查看README文档和网页来了解详情

3.给文件授权

复制代码
chmod -R 755 /u01/app/oracle/product/19.3.0/db_1/35943157
chown -R oracle:oinstall /u01/app/oracle/product/19.3.0/db_1/35943157

4.冲突检测

复制代码
cd $ORACLE_HOME/35943157
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./

5.补丁空间检查

复制代码
cd /soft
vim OPatch_inspt
/soft/p35943157_190000_Linux-x86-64.zip
$ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /soft/OPatch_inspt

这就通过了

如果此时提示空间不足可以跟给跟目录扩容

可以参考这里Redhat 扩展/root目录下的磁盘容量_redhat扩展根目录空间-CSDN博客

6. 执行补丁升级

复制代码
cd $ORACLE_HOME/35943157
$ORACLE_HOME/OPatch/opatch apply

7.将更新内容加载到数据库

复制代码
lsnrctl start 
sqlplus / as sysdba
startup

将更新的东西加载到数据库

复制代码
cd $ORACLE_HOME/OPatch
./datapatch -verbose

8.查看更新是否成功

复制代码
sqlplus / as sysdba
column product format A30
column version format A15
column version_full format A20
column status format A15
select * from product_component_version;

此时成功

五、卸载补丁更新

这里也要关闭数据库实例和监听

复制代码
$ORACLE_HOME/OPatch/opatch rollback -id 35943157

sqlplus / as sysdba
column product format A30
column version format A15
column version_full format A20
column status format A15
select * from product_component_version;
相关推荐
zhanghaha131411 分钟前
C# 系列教程_12 字符串 string 保姆级系统教程(面向新手,大量示例 + 原理讲解)
开发语言·数据库·c#
韩曙亮16 分钟前
【错误记录】安卓 adb 调试 5037 端口占用排查 ( adb 的三层结构 | 找出本机占用 5037 的进程 )
android·数据库·adb·安卓·错误记录
瑞雪兆丰年兮28 分钟前
JavaWeb-day07-MySQL(DQL&多表设计)
java·开发语言·数据库·sql·mysql·javaweb·web
lsc_blog6 小时前
年终自评别贴提交记录,把技术产出讲成变化
数据库·面试·职场和发展·跳槽·求职招聘
Zan13 小时前
SQLite + SQLx 实战:为什么已经发布的数据库迁移文件,绝对不能再修改?
数据库·后端·面试
这个DBA有点耶14 小时前
数据同步的三个工程底线:DDL同步、断点续传、一致性校验——开源CDC的边界与KFS的路径
数据库·dba·代码规范
SelectDB15 小时前
列式存储为什么适合分析类负载?原理、限制与日志场景应用
数据库
数据库小学妹16 小时前
MySQL大字段治理:行溢出机制、覆盖索引与拆表
数据库·mysql·性能优化
爱吃奥利奥_wen16 小时前
SQL Server 基础语法详解:从建库建表到约束与增删改查
服务器·数据库·oracle