百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Oracle12C RAC PATCH安装p30354375

moboyou 2025-03-12 13:41 25 浏览

介绍

本文介绍安装p30354375,这个patch是用来解决ORA-00600 [KSXP_EXCEPT] AND [IPC_RECEIVE_DONE_1] ON 12.2 RAC的问题。通过MOS下载patch包,解压后查看README.txt文件,看看安装需求和安装步骤,本文需要先应用32507738,然后再应用30354375。测试中用到滚动升级方式,即先在节点1上执行操作,然后再节点2上执行操作,操作期间保留一个节点对外提供服务!


服务器IP

数据库版本

实例名

rac1

192.168.5.13

12.2.0.1

racdb1

rac2

192.168.5.14

12.2.0.1

racdb2

查看30354375的README.txt可以看到(重点):

1.要安装p30354375需要先确保OPATCH的版本12.2.0.1.23 or higher,默认版本较低

2.确保12c Release
12.2.0.1.210420DBAPR2021RU Patch Set Update (PSU) 32507738 is already applied on the Oracle Database

3.其他信息略

查看32507738的README.txt可以看到

1.OPATCH的版本12.2.0.1.23 or higher

2.Oracle JavaVM 12.2.0.1.x(可以忽略)

3.如果需要grid的patch,需要下载另一个包(暂时忽略)

4.其他信息略

PATCH下载

通过文章Doc ID 2630730.1,可以找到patch号30354375,通过patch号可以找到对应的包。

一共需要3个安装包,下载完成后,上传到2个节点。

更新OPATCH

根据Readme.txt的要求,首先更新Opatch,备份老的Opatch目录,然后将解压出来的新Opatch目录放到$ORACE_HOME下。

[oracle@rac1 ~]$ cd $ORACLE_HOME

[oracle@rac1 db_1]$ mv OPatch/ OPatch_bak

[oracle@rac1 ~]$ unzip p6880880_122010_Linux-x86-64.zip

[oracle@rac1 ~]$ mv OPatch/ /u01/app/oracle/product/12.2.0/db_1/

[oracle@rac1 ~]$ cd /u01/app/oracle/product/12.2.0/db_1/OPatch

查询Opatch版本(12.2.0.1.24):

[oracle@rac1 OPatch]$ ./opatch version

上述操作在节点2上也要执行一遍!

应用32507738

1.解压

[oracle@rac1 ~]$unzip p32507738_122010_Linux-x86-64.zip

[oracle@rac1 ~]$ mv 32507738/ /u01/app/oracle/product/12.2.0/db_1/OPatch/

2.执行冲突检查

[oracle@rac1 OPatch]$ cd 32507738/

[oracle@rac1 32507738]$ ../opatch prereq CheckConflictAgainstOHWithDetail -ph ./

检查通过后,关闭数据库实例:

SQL> shutdown immediate;

3.应用补丁

[oracle@rac1 32507738]$ ../opatch apply

从图中可以看到,patch apply后有错误,这个报错是权限相关,用root修改即可:

[root@rac1 ~]# cd /u01/app/oracle/product/12.2.0/db_1/bin

[root@rac1 bin]# ll extjobO

-rwsr-x--- 1 root oinstall 2251869 Apr 15 10:55 extjobO

[root@rac1 bin]# chown oracle:oinstall extjobO

[root@rac1 bin]# chmod 600 extjobO

[root@rac1 bin]# ll extjobO

-rw------- 1 oracle oinstall 2251869 Apr 15 10:55 extjobO

4.其他操作

1.修改oracle执行文件权限:

[root@rac1 bin]# ll oracle*

-rwsr-s--x 1 oracle oinstall 410101002 Apr 22 15:00 oracle

-rw------- 1 oracle asmadmin 408114239 Apr 15 10:55 oracleO ---自动备份文件

[root@rac1 bin]#chown oracle:asmadmin oracle

[root@rac1 bin]#chmod 6751 oracle (文件带有s权限)

注意:在执行的过程中,会自动备份执行文件$ORACLE_HOME/bin/oracle,同时会改变权限,需要将文件权限修改回去,否则在启动数据库的时候,就会报找不到控制文件,找不到共享磁盘。

2.启动节点1的数据库:

SQL> startup

在alter日志中可以看到patch相关信息:

至此,32507738应用完成,相同的操作在第二个节点也执行一遍,然后进行下一步!

Load Modified SQL Files into the Database

注意:这个操作只需要在一个节点上执行

[oracle@rac1 ~]$cd $ORACLE_HOME/OPatch

[oracle@rac1 OPatch]$ ./datapatch -verbose

可以看到有报错,经过查询解决报错,解决办法如下:

1.解决
GSMADMIN_INTERNAL.DBMS_GSM_POOLADMIN报错:

SQL >grant EXECUTE on DBMS_BACKUP_RESTORE to PUBLIC;
SQL >grant EXECUTE on DBMS_JOB to PUBLIC;
SQL >grant EXECUTE on DBMS_LOB to PUBLIC;
SQL >grant EXECUTE on DBMS_OBFUSCATION_TOOLKIT to PUBLIC;
SQL >grant EXECUTE on DBMS_RANDOM to PUBLIC;
SQL >grant EXECUTE on DBMS_SQL to PUBLIC;
SQL >grant EXECUTE on DBMS_SYS_SQL to PUBLIC;
SQL >grant EXECUTE on UTL_FILE to PUBLIC;
SQL >grant EXECUTE on UTL_HTTP to PUBLIC;
SQL >grant EXECUTE on UTL_SMTP to PUBLIC;
SQL >grant EXECUTE on UTL_TCP to PUBLIC;

SQL > @?/rdbms/admin/dbmsgwm.sql
SQL > @?/rdbms/admin/prvtgwm.sql

2.DBMS_SHARED_POOL报错

根据Error at line 2457在日志中找到报错信息,是和DBMS_SHARED_POOL有关,我这里是只要包体没有包头导致的编译错误,执行下列脚本

SQL >@?/rdbms/admin/dbmspool.sql

SQL >@?/rdbms/admin/prvtpool.plb

3.编译无效对象:

SQL> @?/rdbms/admin/utlrp.sql

4.重新执行datapatch

[oracle@rac1 OPatch]$ ./datapatch -verbose

查看patch应用信息,出现success说明正常:

SQL> select PATCH_ID ,VERSION,STATUS from dba_registry_sqlpatch;

安装p30354375

1.解压

[oracle@rac1 ~]$ unzip p30354375_12201210420DBAPR2021RU_Linux-x86-64.zip

[oracle@rac1 ~]$ mv 30354375/ /u01/app/oracle/product/12.2.0/db_1/OPatch/

[oracle@rac1 ~]$ cd /u01/app/oracle/product/12.2.0/db_1/OPatch/30354375

2.冲突检查

[oracle@rac1 30354375]$ ../opatch prereq CheckConflictAgainstOHWithDetail -ph ./

注意:For a RAC environment, shut down all the services (database, ASM, listeners, nodeapps, and CRS daemons)

3.关闭数据库和CRS

SQL> shutdown immediate;

[root@rac1 bin]# ./crsctl stop crs

4.应用patch和检查

[oracle@rac1 30354375]$ ../opatch apply

[oracle@rac1 OPatch]$ ./opatch lsinventory

5.启动CRS进程和数据库

注意$ORACLE_HOME/bin/oracle 文件权限,又被修改了!!

[root@rac1 bin]# ./crsctl start crs

[oracle@rac1 ~]$ sqlplus / as sysdba

SQL> startup

在第二个节点上重复上述过程,如果觉得不放心,可以在完成后,重启2台服务器,查看是否正常,至此,patch安装完成!

相关推荐

高效有趣学Excel:从入门到精通的全面教程分享

在当今这个数据驱动的时代,掌握Excel不仅是提升工作效率的利器,更是职场竞争中的一项重要技能。今天,我非常高兴地与大家分享一套全面的Excel学习教程——《高效有趣学Excel:轻松入门到精通》,这...

Excel新函数重磅来袭!告别复杂公式,效率提升200%!

“透视表终于不用点来点去了?”昨晚刷到这条留言,顺手把新表扔进365,一行=GROUPBY(部门,产品,销售额,SUM)回车,三秒出汇总,刷新按钮直接失业。那一刻,办公室空调声都显得多余。有人还在录宏...

Excel 效率神器:LET 函数入门教程,让复杂公式变简单

您是否曾经编写过又长又复杂的Excel公式,然后没过几天自己都看不懂了?或者,同一个计算在公式里重复写了无数次,不仅容易出错,修改起来更是噩梦?Excel推出的LET函数就是来解决这些痛点...

Excel多对多查询函数新手教程:从案例到实操

一、为啥要学多对多查询?举个例子你就懂!假设你是公司HR,手里有张员工技能表(如下),现在需要快速找出:"张三"会哪些技能?"Excel"技能有哪些人掌握?员工姓名...

14、VBA代码+excel内置函数,实现高效数据处理(零基础入门)

1、学习VBA的主要目的是数据处理,VBA在数据处理上展现出强大的计算实力。它不仅完美继承EXCEl内置函数的功能,还能通过编程语法实现更灵活的应用。无论是基础的加减乘除,还是复杂的统计分析、逻辑判断...

word和excel零基础学习免费视频教程,赶紧收藏,作者将转付费课

亲爱的朋友们:大家好!本人是全国计算机等级考试二级MSoffice高级应用课程的在校授课老师。本人近段时间打算将wore/excel免费分享给所有有需要的朋友。知识本身无深浅,本人知识也有限,如果讲...

excel函数从入门到精通,5组13个函数,易学易懂易用

对于职场中经常使用Excel的小伙伴们,最希望掌握一些函数公式,毕竟给数据处理带来很多方便,可以提高我们的工作效率。今天分享几组函数公式,适合于初学者,也是职场中经常用到的,下次碰到可以直接套用了。0...

Excel效率神器:LET函数入门教程,让复杂公式变简单

写公式写到想砸电脑?教你用LET把Excel公式从“迷宫”变成“小剧本”,几步看懂又好改很多人都经历过这样的窘境:花了半小时写出一条看似厉害的Excel公式,几天后再看自己都懵了,或者同样...

完全免费的Excel教程大全,适合日常excel办公和技能提升

说明微软官方的excel文档,由于网站在国外,有时打开慢,而且应用层面介绍不够详细;这里介绍一个集齐了excel各种使用方法和说明的网站;网站名称:懒人Excel网站介绍可以看到有基础教程、快捷键、函...

Excel 新函数 LAMBDA 入门级教程_excel365新增函数

LAMBDA函数的出现是Excel历史上的一次革命性飞跃。它允许用户自定义函数,而无需学习VBA等编程语言。这意味着你可以将复杂的、重复的计算逻辑封装成一个简单的、可复用的自定义函数,极大地...

Excel新函数LAMBDA入门级教程_excel新建函数

把复杂公式“变成函数”后,我在Excel上的重复工作少了一半——你也能做到我一直有一个习惯:遇到每天要重复写的复杂公式,就想把它封装起来,像调用内置函数那样去用。说实话,过去没有LAMBDA,这个想法...

Excel DROP 函数全方位教程:从基础入门到高级动态应用

上一篇我们学习了ExcelTAKE函数,今天我们来学习一下和TAKE函数相对应的DROP函数,它是Microsoft365和Excel2021中引入的一个动态数组函数。它的核心功能是从一...

学习Excel公式函数还有官方提供的教程,还是免费的!赶紧试试

首先声明,这不是广告,纯干货分享!除了学习Excel的基本操作之外,很多人都是冲着公式和函数才去找教程买教材的,这个结论应该不会有什么毛病。因为,Excel的公式函数真的很强大!现在的Excel教程可...

什么是保险员常说的“IRR”?让我们一次说明白!

买保险的时候,你是不是常听到销售抛出一些术语,比如“IRR很高哦,收益不错!”?听着挺专业,但“IRR”到底啥意思?想问又不好意思问,别急,它其实是个很简单的概念,咱们今天一次把它说明白。1,IRR...

理财型保险如何选择缴费期?_理财型保险计算方式

选择理财型保险(通常指年金险、增额终身寿险等)的缴费期,并非简单地看哪个年限短或长,而是需要结合自己的财务状况、理财目标和产品特性来综合决定。下面我将为大家详细解析不同缴费期的特点、适用人群和选择策略...