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

Oracle12C RAC PATCH安装p30354375

mhr18 2024-09-20 20:49 20 浏览 0 评论

介绍

本文介绍安装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安装完成!

相关推荐

甲骨文签署多项大型云协议,其一未来可贡献超300亿美元年收入

IT之家7月1日消息,根据甲骨文Oracle当地时间6月30日向美国证券交易委员会(SEC)递交的FORM8-K文件,该企业在始于2025年6月1日的202...

甲骨文获TEMU巨额合同,后者大部分基础设施将迁移至Oracle云

IT之家6月23日消息,Oracle甲骨文创始人、董事长兼首席技术官LarryEllison(拉里埃里森)在本月早些时候的2025财年第四财季和全财年财报电话会议上表示,Oracle...

Spring Boot 自定义数据源设置,这些坑你踩过吗?

你在使用SpringBoot进行后端开发的过程中,是不是也遇到过这样的问题:项目上线后,数据库连接总是不稳定,偶尔还会出现数据读取缓慢的情况,严重影响了用户体验。经过排查,发现很大一部分原因竟然...

一个开箱即用的代码生成器(一个开箱即用的代码生成器是什么)

今天给大家推荐一个好用的代码生成器,名为renren-generator,该项目附带前端页面,可以很方便的选择我们所需要生成代码的表。首先我们通过git工具克隆下来代码(地址见文末),导入idea。...

低代码建模平台-数据挖掘平台(低代码平台的实现方式)

现在来看一下数据连接。·这里是管理数据连接的空间,点击这里可以新增一个数据连接。·输入连接名称,然后输入url,是通过gdbc的方式去连接的数据库,目前是支持mysql、oracle以及国产数据库达梦...

navicat 17.2.7连接oracle数据库提示加载oracle库失败

系统:macOS15.5navicat版本:navicatpremiumlite17.2.7连接oracle测试报错:加载oracle库失败【解决办法】:放达里面找到程序,显示简介里面勾选“使...

开源“Windows”ReactOS更新:支持全屏应用

IT之家6月17日消息,ReactOS团队昨日(6月16日)在X平台发布系列推文,公布了该系统的最新进展,包括升级Explorer组件,支持全屏应用,从Wine项目引入了...

SSL 推出采用全模拟内置混音技术的模拟调音台Oracle

英国调音台传奇品牌SolidStateLogic宣布推出Oracle——一款采用全模拟内置混音技术的调音台,在紧凑的AWS尺寸机箱内集成了大型调音台的功能。该调音台提供24输入和...

47道网络工程师常见面试题,看看有没有你不会的!

你们好,我的网工朋友。网络工程师面试的时候,都会被问到什么?这个问题其实很泛,一般来说,你肯定要先看明白岗位需求写的是什么。基本上都是围绕公司需要的业务去问的。但不可否认的是,那些最基础的概念,多少也...

汉得信息:发布EBS系统安装启用JWS的高效解决方案

e公司讯,从汉得信息获悉,近日,微软官方宣布InternetExplorer桌面应用程序将于2022年6月15日正式停用。目前大部分客户都是使用IE浏览器打开EBS的Form界面,IE停用后,只能使...

36.9K star ! 推荐一个酷炫低代码开发平台!功能太强!

前言最近在逛github,看看能不能搜罗到一些对自己有帮助的开源软件。不经意间看到一个高star的java开源项目:jeecg-boot。进入在线演示版一看,感叹实在是太牛了!此开源项目不管是给来学习...

Linux新手入门系列:Linux下jdk安装配置

本系列文章是把作者刚接触和学习Linux时候的实操记录分享出来,内容主要包括Linux入门的一些理论概念知识、Web程序、mysql数据库的简单安装部署,希望能够帮到一些初学者,少走一些弯路。注意:L...

手把手教你在嵌入式设备中使用SQLite3

摘要:数据库是用来存储和管理数据的专用软件,使得管理数据更加安全,方便和高效。数据库对数据的管理的基本单位是表(table),在嵌入式linux中有时候它也需要用到数据库,听起来好难,其实就是几个函数...

JAVA语言基础(java语言基础知识)

一、计算机的基本概念什么是计算机?计算机(Computer)全称:电子计算机,俗称电脑。是一种能够按照程序运行、自动高速处理海量数据的现代化智能电子设备。由硬件和软件组成、没有安装过任何软件的计算机称...

再见 Navicat!一款开源的 Web 数据库管理工具!

大家好,我是Java陈序员。在日常的开发工作中,常常需要与各种数据库打交道。而为了提高工作效率,常常会使用一些可视化工具进行操作数据库。今天,给大家介绍一款开源的数据库管理工具,无需下载安装软件,基...

取消回复欢迎 发表评论: