Oracle12C RAC PATCH安装p30354375
haoteby 2024-12-09 12:47 3 浏览
介绍
本文介绍安装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安装完成!
相关推荐
- 网站seo该怎么优化
-
一、网站定位在建设一个网站之前,我们首先要做的就是一个网站清晰的定位,会带来转化率相对较高的客户群体,我们建站的目的就是为了营销,只有集中来做某一件事,才会更好的展现我们的网站。在做SEO优化的同时...
- 3个小技巧教你如何做好SEO优化
-
想半路出家做SEO?可是,怎么才做的好呢?关于SEO专业技术弄懂搜索引擎原理,咱们做搜索引擎排名的首先就是要了解搜索引擎的工作原理,对SEO优化有更深入了解之后再来做SEO,你就能从搜索引擎的视点...
- SEO指令分享:filetype指令
-
filetype用于搜索特定的文件格式。百度和谷歌都支持filetype指令。比如搜索filetype:pdf今日头条返回的就是包含今日头条这个关键词的所有pdf文件,如下图:百度只支持:pdf...
- 网站seo优化技巧大全
-
SEO在搜索引擎中对检索结果进行排序,看谁最初是在用户的第一眼中看到的。实际上,这些排名都是通过引擎的内部算法来实现的。例如,百度算法很有名。那么,对百度SEO的优化有哪些小技巧?下面小编就会说下针对...
- 小技巧#10 某些高级的搜索技巧
-
由于某些原因,我的实验场所仅限百度。1.关键词+空格严格说来这个不能算高级,但关键词之间打空格的办法确实好用。我习惯用右手大拇指外侧敲击空格键,这个习惯在打英文报告时尤其频繁。2.site:(请不要忽...
- MYSQL数据库权限与安全
-
权限与安全数据库的权限和数据库的安全是息息相关的,不当的权限设置可能会导致各种各样的安全隐患,操作系统的某些设置也会对MySQL的安全造成影响。1、权限系统的工作原理...
- WPF样式
-
UniformGrid容器<UniformGridColumns="3"Rows="3"><Button/>...
- MySQL学到什么程度?才有可以在简历上写精通
-
前言如今互联网行业用的最多就是MySQL,然而对于高级Web面试者,尤其对于寻找30k下工作的求职者,很多MySQL相关知识点基本都会涉及,如果面试中,你的相关知识答的模糊和不切要点,基...
- jquery的事件名称和命名空间的方法
-
我们先看一些代码:当然,我们也可以用bind进行事件绑定。我们看到上面的代码,我们可以在事件后面,以点号,加我们的名字,就是事件命名空间。所谓事件命名空间,就是事件类型后面以点语法附加一个别名,以便引...
- c#,委托与事件,发布订阅模型,观察者模式
-
什么是事件?事件(Event)基本上说是一个用户操作,如按键、点击、鼠标移动等等,或者是一些提示信息,如系统生成的通知。应用程序需要在事件发生时响应事件。通过委托使用事件事件在类中声明且生成,且通过...
- 前端分享-原生Popover已经支持
-
传统网页弹窗开发需要自己处理z-index层级冲突、编写点击外部关闭的逻辑、管理多个弹窗的堆叠顺序。核心优势对比:...
- Axure 8.0 综合帖——新增细节内容
-
一、钢笔工具与PS或者AI中的钢笔工具一样的用法。同样有手柄和锚点,如果终点和起点没有接合在一起,只要双击鼠标左键即可完成绘画。画出来的是矢量图,可以理解为新的元件。不建议通过这个工具来画ICON图等...
- PostgreSQL技术内幕28:触发器实现原理
-
0.简介在PostgreSQL(简称PG)数据库中,触发器(Trigger)能够在特定的数据库数据变化事件(如插入、更新、删除等)或数据库事件(DDL)发生时自动执行预定义的操作。触发器的实现原理涉及...
- UWP开发入门(十七)--判断设备类型及响应VirtualKey
-
蜀黍我做的工作跟IM软件有关,UWP同时会跑在电脑和手机上。电脑和手机的使用习惯不尽一致,通常我倾向于根据窗口尺寸来进行布局的变化,但是特定的操作习惯是依赖于设备类型,而不是屏幕尺寸的,比如聊天窗口的...