之前总结过《Oracle 11.2.0.4 RAC安装最新PSU补丁》,

这次整理为简明版,忽略一切输出的显示,引入一些官方的说明,增加OJVM PSU的补丁应用。

环境:RHEL6.5 + Oracle 11.2.0.4 RAC(4 nodes)

本次需求:应用最新的PSU,OJVM PSU补丁。

目前最新发布(2016-07-19)的PSU,OJVM PSU补丁文件分别为:

p23274134_112040_Linux-x86-64.zip

p23177551_112040_Linux-x86-64.zip

1.检查OPatch版本

需要跟踪对应补丁的README说明,确定当前环境的OPatch版本符合要求,如果不符合要求,需要下载符合要求的OPatch版本。

1.1 查询OPatch版本

$ORACLE_HOME/OPatch/opatch version

1.2 替换为新版本OPatch

备份原来的OPatch,解压/tmp下的新版本OPatch到$ORACLE_HOME下,检查OPatch的版本:

mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatch_bak && cd /tmp && unzip p6880880_112000_Linux-x86-64.zip -d $ORACLE_HOME
$ORACLE_HOME/OPatch/opatch version

2.解压补丁文件

$ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME
解压补丁文件:赋权确定解压的目录/usr2有对应权限,然后解压补丁文件

root:
chown oracle:oinstall /usr2 && chmod 775 /usr2 && mv /tmp/p23274134_112040_Linux-x86-64.zip /usr2/
grid:
cd /usr2 && unzip p23274134_112040_Linux-x86-64.zip

3.确认已停止OEM

Stop EM Agent Processes Prior to Patching and Prior to Rolling Back the Patch

查看em运行状态:
$ORACLE_HOME/bin/emctl status dbconsole
如果状态是运行,则需要关闭:
$ORACLE_HOME/bin/emctl stop dbconsole

一般是在Oracle用户登录1节点 停止em。

4.本次PSU补丁说明

23054359
DB PSU 11.2.0.4.160719 (INCLUDES CPUJUL2016)
Both DB Homes and Grid Home 23054319
OCW PSU 11.2.0.4.160719
Both DB Homes and Grid Home 22502505
ACFS PSU 11.2.0.4.160419
Only Grid Home

5.手动应用补丁

Manual Steps for Apply/Rollback Patch
See My Oracle Support Document 1641136.1 for cases where opatch auto cannot be used.
文档第5部分
5 Manual Steps for Apply/Rollback Patch

5.1 停止CRS

--1.Stop the CRS managed resources running from DB homes. If this is a GI Home environment, as the database home owner execute:
`$ <ORACLE_HOME>/bin/srvctl stop home -o <ORACLE_HOME> -s <status file location> -n <node name>` $ORACLE_HOME/bin/srvctl stop home -o $ORACLE_HOME -s /tmp/stophome.log -n xxx01

实际这一步没成功,也没看出对应用补丁什么影响.

5.2 运行rootcrs.pl

--2.Run the pre root script. If this is a GI Home, as the root user execute:
`# <GI_HOME>/crs/install/rootcrs.pl -unlock` 停止节点1的服务
su - root
$GRID_HOME/crs/install/rootcrs.pl -unlock

5.3 应用CRS补丁

--3.Apply the CRS patch using. As the GI home owner execute:
$ <GI_HOME>/OPatch/opatch napply -oh <GI_HOME> -local <UNZIPPED_PATCH_LOCATION>/<GI_PSU_number>/<OCW Components_number>
As the GI home owner execute:
$ <GI_HOME>/OPatch/opatch napply -oh <GI_HOME> -local <UNZIPPED_PATCH_LOCATION>/<GI_PSU_number>/<ACFS Components_number>
As the GI home owner execute:
$ <GI_HOME>/OPatch/opatch apply -oh <GI_HOME> -local <UNZIPPED_PATCH_LOCATION>/<GI_PSU_number>/<DB_PSU_number>

grid用户登录,打对应补丁:

su - grid
$GRID_HOME/OPatch/opatch napply -oh $GRID_HOME -local /usr2/23274134/23054319
$GRID_HOME/OPatch/opatch napply -oh $GRID_HOME -local /usr2/23274134/22502505
$GRID_HOME/OPatch/opatch apply -oh $GRID_HOME -local /usr2/23274134/23054359

5.4 补丁安装前执行脚本

--4.Run the pre script for DB component of the patch. As the database home owner execute:
$ <UNZIPPED_PATCH_LOCATION>/<GI_PSU_number>/<OCW Components_number>/custom/server/<OCW Components_number>/custom/scripts/prepatch.sh -dbhome <ORACLE_HOME>

Oracle用户登录,补丁安装前检查:

su - oracle
$ /usr2/23274134/23054319/custom/server/23054319/custom/scripts/prepatch.sh -dbhome $ORACLE_HOME

5.5 应用DB补丁

--5.Apply the DB patch. As the database home owner execute:
$ <ORACLE_HOME>/OPatch/opatch napply -oh <ORACLE_HOME> -local <UNZIPPED_PATCH_LOCATION>/<GI_PSU_number>/<OCW Components_number>/custom/server/<OCW Components_number>
$ <ORACLE_HOME>/OPatch/opatch apply -oh <ORACLE_HOME> -local <UNZIPPED_PATCH_LOCATION>/<GI_PSU_number>/<DB_PSU_number>

oracle用户登录,打对应补丁:

$ORACLE_HOME/OPatch/opatch napply -oh $ORACLE_HOME -local /usr2/23274134/23054319/custom/server/23054319
$ORACLE_HOME/OPatch/opatch apply -oh $ORACLE_HOME -local /usr2/23274134/23054359

5.6 补丁安装后执行脚本

--6.Run the post script for DB component of the patch. As the database home owner execute:
$ <UNZIPPED_PATCH_LOCATION>/<GI_PSU_number>/<OCW Components_number>/custom/server/<OCW Components_number>/custom/scripts/postpatch.sh -dbhome <ORACLE_HOME>

oracle用户登录,补丁修复完确定:

$ /usr2/23274134/23054319/custom/server/23054319/custom/scripts/postpatch.sh -dbhome $ORACLE_HOME

5.7 root用户执行脚本

--7.Run the post script. As the root user execute:
# <GI_HOME>/rdbms/install/rootadd_rdbms.sh
If this is a GI Home, as the root user execute:
# <GI_HOME>/crs/install/rootcrs.pl -patch
If this is an Oracle Restart Home, as the root user execute:
# <GI_HOME>/crs/install/roothas.pl -patch

root用户登录,执行脚本:

su - root
# $GRID_HOME/rdbms/install/rootadd_rdbms.sh
# $GRID_HOME/crs/install/rootcrs.pl -patch

5.8 可能的报错

--8.If the message, "A system reboot is recommended before using ACFS??? is shown, then a reboot must be issued before continuing. Failure to do so will result in running with an unpatched ACFS\ADVM\OKS driver.

5.9 呼应5.1步骤,这里也没做

--9.Start the CRS managed resources that were earlier running from DB homes. If this is a GI Home environment, as the database home owner execute:
$ <ORACLE_HOME>/bin/srvctl start home -o <ORACLE_HOME> -s <status file location> -n <node name>
If this is an Oracle Restart Home environment, as the database home owner execute:
$ <ORACLE_HOME>/bin/srvctl start home -o <ORACLE_HOME> -s <status file location>

6.数据库应用PSU

6.1 关闭数据库然后应用PSU

srvctl stop database -d lrnop

6.2 根据下面文档的内容操作

2.5.2 Loading Modified SQL Files into the Database

The following steps load modified SQL files into the database. For an Oracle RAC environment, perform these steps on only one node.

For each database instance running on the Oracle home being patched, connect to the database using SQL*Plus. Connect as SYSDBA and run the catbundle.sql script as follows:

cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
SQL> @catbundle.sql psu apply
SQL> QUIT
The catbundle.sql execution is reflected in the dba_registry_history view by a row associated with bundle series PSU. For information about the catbundle.sql script, see My Oracle Support Document 605795.1 Introduction to Oracle Database catbundle.sql. If the OJVM PSU was applied for a previous GI PSU patch, you may see invalid Java classes after execution of the catbundle.sql script in the previous step. If this is the case, run utlrp.sql to re-validate these Java classes. cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> @utlrp.sql
Check the following log files in $ORACLE_BASE/cfgtoollogs/catbundle for any errors: catbundle_PSU_<database SID>_APPLY_<TIMESTAMP>.log
catbundle_PSU_<database SID>_GENERATE_<TIMESTAMP>.log
where TIMESTAMP is of the form YYYYMMMDD_HH_MM_SS. If there are errors, see Section 3, "Known Issues". This patch now includes the OJVM Mitigation patch (Patch:19721304). If an OJVM PSU is installed or planned to be installed, no further actions are necessary. Otherwise, the workaround of using the OJVM Mitigation patch can be activated. As SYSDBA do the following from the admin directory: SQL > @dbmsjdev.sql
SQL > exec dbms_java_dev.disable
For more information on the OJVM mitigation patch, see Document 1929745.1 Oracle Recommended Patches -- "Oracle JavaVM Component Database PSU" (OJVM PSU) Patches. 2.5.3 Upgrade Oracle Recovery Manager Catalog If you are using the Oracle Recovery Manager, the catalog needs to be upgraded. Enter the following command to upgrade it: $ rman catalog username/password@alias
RMAN> UPGRADE CATALOG;

7.应用OJVM PSU

7.1 打OJVM PSU

p23177551_112040_Linux-x86-64.zip

7.2 应用OJVM PSU

su - oracle
cp /tmp/p23177551_112040_Linux-x86-64.zip /usr2 && cd /usr2 && unzip p23177551_112040_Linux-x86-64.zip $ cd <PATCH_TOP_DIR>/23177551
$ opatch prereq CheckConflictAgainstOHWithDetail -ph ./ cd /usr2/23177551 && opatch apply

7.3 数据库应用OJVM PSU

--1.For an Oracle RAC environment, reload the packages on one of the nodes using the following commands. Make sure no other instance of the database is up on the remote nodes.

cd $ORACLE_HOME/sqlpatch/23177551
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
SQL> alter system set cluster_database=false scope=spfile;
SQL> SHUTDOWN
SQL> STARTUP UPGRADE
SQL> @postinstall.sql
SQL> alter system set cluster_database=true scope=spfile;
SQL> SHUTDOWN
SQL> STARTUP
--2.After installing the SQL portion of the patch, some packages could become INVALID. This will get recompiled upon access or you can run utlrp.sql to get them back into a VALID state. cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> @utlrp.sql

8.应用补丁结果

最终验证应用补丁的结果:
各节点的$GRID_HOME,$ORACLE_HOME,都可以使用opatch lspatches查看补丁应用的情况:

[root@db02 tmp]# su - grid
[grid@db02 ~]$ $ORACLE_HOME/OPatch/opatch lspatches
23054359;Database Patch Set Update : 11.2.0.4.160719 (23054359)
22502505;ACFS Patch Set Update : 11.2.0.4.160419 (22502505)
23054319;OCW Patch Set Update : 11.2.0.4.160719 (23054319) OPatch succeeded.
[grid@db02 ~]$ exit
logout
[root@db02 tmp]# su - oracle
[oracle@lrnopdb02 ~]$ $ORACLE_HOME/OPatch/opatch lspatches
23177551;OJVM PATCH SET UPDATE 11.2.0.4.160719
23054359;Database Patch Set Update : 11.2.0.4.160719 (23054359)
23054319;OCW Patch Set Update : 11.2.0.4.160719 (23054319) OPatch succeeded.
[oracle@db02 ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Thu Aug 18 17:39:41 2016 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options SQL> set linesize 1000
SQL> select * from dba_registry_history; ACTION_TIME ACTION NAMESPACE VERSION ID BUNDLE_SERIES COMMENTS
--------------------------------------------------------------------------- ------------------------------ ------------------------------ ------------------------------ ---------- ------------------------------ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
24-AUG-13 12.03.45.119862 PM APPLY SERVER 11.2.0.4 0 PSU Patchset 11.2.0.2.0
28-JUN-16 12.36.13.876461 PM APPLY SERVER 11.2.0.4 0 PSU Patchset 11.2.0.2.0
18-AUG-16 03.49.29.881506 PM APPLY SERVER 11.2.0.4 160719 PSU PSU 11.2.0.4.160719
18-AUG-16 05.20.06.098533 PM jvmpsu.sql SERVER 11.2.0.4.160719OJVMPSU 0 RAN jvmpsu.sql
18-AUG-16 05.20.06.213324 PM APPLY SERVER 11.2.0.4.160719OJVMPSU 0 OJVM PSU post-install
18-AUG-16 05.20.06.245501 PM APPLY 23177551 Patch 23177551 applied 6 rows selected. SQL> select count(1) from gv$instance; COUNT(1)
----------
4 SQL>

至此,Oracle 11g RAC 应用补丁简明版整个过程的示例完毕。

Oracle 11g RAC 应用补丁简明版的更多相关文章

  1. Oracle 11g RAC 自动应用PSU补丁简明版

    环境:Oracle RAC(GI 11.2.0.4 + DB 11.2.0.4) 本文应用补丁信息: Patch 23615403 - Combo of OJVM Component 11.2.0.4 ...

  2. Oracle 11g RAC运维总结

    转至:https://blog.csdn.net/qq_41944882/article/details/103560879 1 术语解释1.1 高可用(HA)什么是高可用?顾名思义我们能轻松地理解是 ...

  3. 【Oracle 集群】Oracle 11G RAC教程之集群安装(七)

    Oracle 11G RAC集群安装(七) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总. ...

  4. Oracle 11g RAC停止和启动步骤

    关闭前备份控制文件/参数文件:   sqlplus / as sysdba alter database backup controlfile to '/home/oracle/control.ctl ...

  5. oracle 11g RAC安装节点二执行结果错误CRS-5005: IP Address: 192.168.1.24 is already in use in the network

    [root@testdb11b ~]# /u01/app/oraInventory/orainstRoot.sh Changing permissions of /u01/app/oraInvento ...

  6. Oracle 11g RAC环境下Private IP修改方法及异常处理

    Oracle 11g RAC环境下Private IP修改方法及异常处理 Oracle 11g RAC环境下Private IP修改方法及异常处理 一. 修改方法 1. 确认所有节点CRS服务以启动 ...

  7. Oracle 11g RAC 第二节点root.sh执行失败后再次执行root.sh

    Oracle 11g RAC 第二节点root.sh执行失败后再次执行root.sh前,要先清除之前的crs配置信息 # /u01/app/11.2.0/grid/crs/install/rootcr ...

  8. 安装Oracle 11g RAC R2 之Linux DNS 配置

    Oracle 11g RAC 集群中引入了SCAN(Single Client Access Name)的概念,也就是指集群的单客户端访问名称.SCAN 这个特性为客户端提供了单一的主机名,用于访问集 ...

  9. Oracle 11g RAC oc4j/gsd Offline

    Oracle 11g RAC中,发现oc4j以及gsd服务都处于offline状态,这是Oracle 11g RAC默认情形.即便如此,并不影响数据库的使用,因为 oc4j 是用于WLM 的一个资源, ...

随机推荐

  1. win10 环境 gitbash 显示中文乱码问题处理

    gitbash 是 windows 环境下非常好用的命令行终端,可以模拟一下linux下的命令如ls / mkdir 等等,如果使用过程中遇到中文显示不完整或乱码的情况,多半是因为编码问题导致的,修改 ...

  2. 终于等到你:CYQ.Data V5系列 (ORM数据层)最新版本开源了

    前言: 不要问我框架为什么从收费授权转到免费开源,人生没有那么多为什么,这些年我开源的东西并不少,虽然这个是最核心的,看淡了就也没什么了. 群里的网友:太平说: 记得一年前你开源另一个项目的时候我就说 ...

  3. AutoMapper随笔记

    平台之大势何人能挡? 带着你的Net飞奔吧! http://www.cnblogs.com/dunitian/p/4822808.html#skill 先看效果:(完整Demo:https://git ...

  4. 猖獗的假新闻:2017年1月1日起iOS的APP必须使用HTTPS

    一.假新闻如此猖獗 刚才一位老同事 打电话问:我们公司还是用的HTTP,马上就到2017年了,提交AppStore会被拒绝,怎么办? 公司里已经有很多人问过这个问题,回答一下: HTTP还是可以正常提 ...

  5. javascript单元测试框架mochajs详解

    关于单元测试的想法 对于一些比较重要的项目,每次更新代码之后总是要自己测好久,担心一旦上线出了问题影响的服务太多,此时就希望能有一个比较规范的测试流程.在github上看到牛逼的javascript开 ...

  6. 奇葩问题-TextView无法获取值

    问题场景 前几天写一个界面的时候,遇到一个非常奇葩的问题.app第一次安装的时候,这里针对用户第一次安装的时候,后来是不会出现这个问题了.我明明是对某个界面的一个textview赋值了,而且服务端也返 ...

  7. 源码分析netty服务器创建过程vs java nio服务器创建

    1.Java NIO服务端创建 首先,我们通过一个时序图来看下如何创建一个NIO服务端并启动监听,接收多个客户端的连接,进行消息的异步读写. 示例代码(参考文献[2]): import java.io ...

  8. pdo的使用

    PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口. PDO 提供了一个数据访问抽象层,这意味着,不管使用哪种数据库,都可以用相同的函数(方法)来查询和获取数据. PDO随 ...

  9. duang~免费的学习视频来啦:学霸君之全栈测试

    学霸君向童鞋们推荐一款 同名学霸学习 视频教程 重点是完全免费收看学习噢!!! 今天 学霸君推荐腾讯课堂的学霸君之全栈测试 复制下方链接至腾讯课堂中报名学习 https://ke.qq.com/cou ...

  10. c#比较两个数组的差异

    将DataTable中某一列数据直接转换成数组进行比较,使用的Linq,要引用命名空间using System.Linq; string[] arrRate = dtRate.AsEnumerable ...