RUI个人博客 首页>>Oracle RAC>>Oracle RAC 打补丁11.2.0.4.8 psu

Oracle RAC 打补丁11.2.0.4.8 psu

补丁基础知识:

1.38.2 PSR (Patch Set Release   PSU Patch Set Update 8i,9i,10g,11g这是其主要版本号,每一版本会陆续有两至三个发行版,如10.110.2, 11.111.2 分别是 10g 11g 的两个发行版。对于每一个发行版软件中发现的 BUG,给出相应的修复补丁。每隔一定时期,会将所有补丁集成到软件中,经过集成测试后,进行发布,也称为 PSR Patch Set Release) ) 。以 10.2 为例,10.2.0.1.0 是基础发行版,至今已有三个 PSR 发布,每个 PSR 修改 5 位版本号的第 4 位,最新 10.2 PSR 10.2.0.4.0(11.1.0.6.0 11.1 的基础发行版,11.1.0.7.0 是第一次PSR) 。在某个 PSR 之后编写的补丁,在还没有加入到下一个 PSR 之前,以个别补丁(Interim Patch)的形式提供给客户。某个个别补丁是针对 Oracle 公司发现的或客户报告的某一个 BUG 编写的补丁,多个个别补丁之间一同安装时可能会有冲突,即同一个目标模块分别进行了不同的修改。另外,即便在安装时没有发现冲突, 由于没有进行严格的集成测试,运行过程中由于相互作用是否会发生意外也不能完全排除。除去修改功能和性能 BUG 的补丁,还有应对安全漏洞的安全补丁。Oracle公司定期(一年四期)发布安全补丁集,称之为 CPUCritical Patch Updates) 。

由于数据库在信息系统的核心地位,对其性能和安全性的要求非常高。理应及时安装所有重要补丁。另外一个方面,基于同样的理由,要求数据库系统必须非常稳定,安装补丁而导致的系统故障和性能下降同样不可接受。DBA 经常面临一个非常困难的选择: 对于多个修复重要 BUG 的个别补丁是否安装。 不安装,失去预防故障发生的机会,以后故障发生时,自己是无作为;安装,如果这些补丁中存在着倒退 BUG,或者相互影响,以后发生由于安装补丁而造成的故障时,自己则是无事生非!而等待下一个 PSR,一般又需要一年时间。因此,出现了

PSU (Patch Set Update

PSU 解决以下几个问题:

1. 减轻 PSR 周期长而带来的不能及时更新的影响;

2. 解决多个个别补丁冲突和相互影响的问题;

3. 减轻 DBA 安装补丁的负担:补丁安装次数,不定期检查补丁发布。

PSU 具有如下特点:

第一、PSU PSR 的补充,在两次 PSR 发布之间发布多个 PSU,加快更新速度。 每个 PSU 修改 5 位版本号的第 5 位。 例如, 安装此次发布的 PSU 后, 11.1版本―升级‖为 11.1.0.7.110.2 版本为 10.2.0.4.2

第二、 每个 PSU 中包含 25 100 个重要补丁, 作为一个整体进行严格测试,解决冲突问题, 保证系统的稳定性。 PSU 不仅包括对功能、 性能修复的一般补丁,也包括安全补丁。

第三、PSU 定期发布,计划一年分布四次,发布日期与 CPU 发布日期相同。由于 PSU 包括同期发布的 CPU,只要安装 PSU 即可。 (对部分平台,仍提供单独的 CPU,供客户选择)

第四、如同 PSR CPU 一样,PSU 是累积型的,即只要安装最新的 PSU 就自动包括以前所有 PSU 的内容。

第五、使用 DBA 已经熟悉的 Opatch 工具安装/删除 PSU,命令仍是 apply rollback。一个 PSU 可视作一个个别补丁,安装和删除操作都很简便。

第六、现有的个别补丁与 PSU 的关系分为三类:完全独立;是 PSU 的一部分;与 PSU 冲突。第一类的个别补丁与 PSU 相互没有影响,可以独立的安装或删除。对于第二类,在安装 PSU 之后,自然没有必要安装。若在 PSU 之前已安装,则在安装 PSU 时会被自动删除。对于第三类个别补丁,如在 PSU 之前已安装,必须在安装 PSU 时删除。客户可以向 Oracle 公司技术支持部门提出申请,由 Oracle 负责提供与 PSU 不冲突的,在 PSU 之上安装的相应的新的版本。

PSU  的限制:必须是在正常技术支持范围之内的版本(11.211.1 10.2) ,并且 PSU 只能在最新 PSR 之上安装。



前序:当前环境情况:

[root@RAC1 ~]# cat /etc/redhat-release

Red Hat Enterprise Linux Server release 5.6 (Tikanga)

[root@RAC1 ~]# uname -a

Linux RAC1 2.6.18-238.2.AXS3 #1 SMP Tue May 17 10:04:54 CST 2011 x86_64 x86_64 x86_64 GNU/Linux

the(INCLUDES CPUOCT2015) is 21352635;

 theis 21352649;

 theis 21352642;

 and theis 21352635.

1、备份/oracle/grid目录

root用户执行

tar -cvf /tmp/oracle.tar.20151203 /oracle

tar -cvf /tmp/grid.tar.20151203  /grid

cp -R /grid/oraInventory /tmp

2、更新Oracle database homeGI homeOPatch(两边)

节点1

Grid 用户、oracle 用户都执行:

2.1备份当前的OPatch工具:

cd $ORACLE_HOME

mv OPatch OPatch.20151203

2.2 解压从mos下载下来的OPatch

(https://updates.oracle.com/download/6880880.html)

unzip /oracle/p6880880_112000_Linux-x86-64.zip -d $ORACLE_HOME

A

2.3 查看替换之后的OPatch工具版本

*********本操作是由于Patch中的README.HTML中明确规定*********

You must use the OPatch utility version 11.2.0.3.6 or later to apply this patch. Oracle recommends that you use the latest released OPatch version for 11.2 releases, which is available for download from My Oracle Support patch6880880 by selecting ARU link for the 11.2.0.0.0 release. It is recommended that you download the Opatch utility and the patch in a shared location to be able to access them from any node in the cluster for the patch application on each node.

**************************************************************

$ORACLE_HOME/OPatch/opatch version

OPatch Version: 11.2.0.3.12

 

OPatch succeeded.

cd /grid/grid_home/OPatch

./opatch lsinventory

 

    List the inventory for a particular $ORACLE_HOME or display all

    installations that can be found.

 

Oracle 中间补丁程序安装程序版本 11.2.0.3.12

版权所有 (c) 2015, Oracle Corporation。保留所有权利。

 

 

Oracle Home       : /grid/grid_home

Central Inventory : /grid/oraInventory

   from           : /grid/grid_home/oraInst.loc

OPatch version    : 11.2.0.3.12

OUI version       : 11.2.0.4.0

Log file location : /grid/grid_home/cfgtoollogs/opatch/opatch2015-12-03_15-50-37下午_1.log

 

Lsinventory Output file location : /grid/grid_home/cfgtoollogs/opatch/lsinv/lsinventory2015-12-03_15-50-37下午.txt

 

--------------------------------------------------------------------------------

Local Machine Information::

Hostname: ncsrep1

ARU platform id: 226

ARU platform description:: Linux x86-64

 

已安装的顶级产品 (1):

 

Oracle Grid Infrastructure 11g                                       11.2.0.4.0

Oracle 主目录中已安装 1 个产品。

 

 

Oracle 主目录中未安装任何中间补丁程序。

 

 

包含多个节点的 RAC 系统

  Local node = ncsrep1

  Remote node = ncsrep2

 

--------------------------------------------------------------------------------

OPatch succeeded.

节点2

Grid 用户、oracle 用户都执行:

unzip /tmp/20151203/p6880880_112000_Linux-x86-64.zip -d $ORACLE_HOME

A

$ORACLE_HOME/OPatch/opatch version

$ORACLE_HOME/OPatch/opatch lsinventory

注:完成后注意OPatch工具的属主和权限问题

3、配置OCM (如果使用auto的方式打补丁就需要配置OCM文件)

grid用户:

cdgrid用户的home目录

$ORACLE_HOME/OPatch/ocm/bin/emocmrsp

遇到:

Email address/User Name: --回车

Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]:  Y

会产生一个名为ocm.rsp的文件:

ls -l ocm.rsp

4、解压PSU补丁

grid用户:

mkdir /tmp/psu

p21523375_112040_Linux-x86-64.zip 上传到/tmp/psu

cd /tmp/psu

unzip p21523375_112040_Linux-x86-64.zip

ls -lrt

total 4

drwxrwxrwx 5 grid oinstall 4096 Sep  3 15:13 21523375

*******查看是否有dbconsole服务****************

如有,使用如下命令停止

As the Oracle RAC database home owner execute:

$ORACLE_HOME/bin/emctl stop dbconsole

*************************************************

5One-off Patch Conflict Detection and Resolution

补充(README.HTML文件中)

Table 3 Patch Numbers Getting Installed as Part of this GI PSU Patch

Patch Number

Description

Applicable Homes

21352635

DB PSU 11.2.0.4.8 (INCLUDES CPUOCT2015)

Both DB Homes and Grid Home

21352649

OCW PSU 11.2.0.4.8

Both DB Homes and Grid Home

21352642

ACFS PSU 11.2.0.4.8

Only Grid Home

grid用户:(三个补丁包)

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /tmp/psu/21523375/21352642 -oh $ORACLE_HOME

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /tmp/psu/21523375/21352649 -oh $ORACLE_HOME

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /tmp/psu/21523375/21352635 -oh $ORACLE_HOME

示例输出:

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /tmp/soft/21523375/21352635 -oh $ORACLE_HOME

 

Oracle 中间补丁程序安装程序版本 11.2.0.3.4

版权所有 (c) 2012, Oracle Corporation。保留所有权利。

 

PREREQ session

 

Oracle Home       : /oracle/db11g

Central Inventory : /grid/oraInventory

   from           : /oracle/db11g/oraInst.loc

OPatch version    : 11.2.0.3.4

OUI version       : 11.2.0.4.0

Log file location : /oracle/db11g/cfgtoollogs/opatch/opatch2015-12-03_15-59-21下午_1.log

 

Invoking prereq "checkconflictagainstohwithdetail"

 

Prereq "checkConflictAgainstOHWithDetail" passed.

 

OPatch succeeded.

oracle用户:(两个补丁包)

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /tmp/psu/21523375/21352635 -oh $ORACLE_HOME

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /tmp/psu/21523375/21352649 -oh $ORACLE_HOME

6、手工打补丁(两边)

6.1 oracle用户:

$ORACLE_HOME/bin/emctl stop dbconsole

如果没有安装EM 的话,会报错找不到

/oracle/db11g/oc4j/j2ee/OC4J_DBConsole_hostname_sid not found

确认没有dbconsole进程就可以:

ps -ef | grep dbconsole

6.2 oracle用户:

Usage: srvctl stop home -o-s-n[-t] [-f]

节点1:

$ORACLE_HOME/bin/srvctl stop home -o $ORACLE_HOME -s /home/oracle/status -n civsdb1

节点2:

$ORACLE_HOME/bin/srvctl stop home -o $ORACLE_HOME -s /home/oracle/status -n civsdb2

6.3 停止Oracle数据库和crs集群(如果没有库的话直接停止集群)

crsctl stop crs

CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'ncsrep1'

CRS-2673: Attempting to stop 'ora.crsd' on 'ncsrep1'

CRS-2790: Starting shutdown of Cluster Ready Services-managed resources on 'ncsrep1'

CRS-2673: Attempting to stop 'ora.LISTENER.lsnr' on 'ncsrep1'

CRS-2673: Attempting to stop 'ora.DGARCH.dg' on 'ncsrep1'

CRS-2673: Attempting to stop 'ora.DGDATA.dg' on 'ncsrep1'

CRS-2673: Attempting to stop 'ora.DGSYS.dg' on 'ncsrep1'

CRS-2673: Attempting to stop 'ora.OCR_VOTE.dg' on 'ncsrep1'

CRS-2673: Attempting to stop 'ora.registry.acfs' on 'ncsrep1'

CRS-2673: Attempting to stop 'ora.LISTENER_SCAN1.lsnr' on 'ncsrep1'

CRS-2673: Attempting to stop 'ora.cvu' on 'ncsrep1'

CRS-2673: Attempting to stop 'ora.oc4j' on 'ncsrep1'

CRS-2677: Stop of 'ora.cvu' on 'ncsrep1' succeeded

CRS-2677: Stop of 'ora.LISTENER.lsnr' on 'ncsrep1' succeeded

CRS-2673: Attempting to stop 'ora.ncsrep1.vip' on 'ncsrep1'

CRS-2677: Stop of 'ora.LISTENER_SCAN1.lsnr' on 'ncsrep1' succeeded

CRS-2673: Attempting to stop 'ora.scan1.vip' on 'ncsrep1'

CRS-2677: Stop of 'ora.DGDATA.dg' on 'ncsrep1' succeeded

CRS-2677: Stop of 'ora.DGARCH.dg' on 'ncsrep1' succeeded

CRS-2677: Stop of 'ora.DGSYS.dg' on 'ncsrep1' succeeded

CRS-2677: Stop of 'ora.registry.acfs' on 'ncsrep1' succeeded

CRS-2677: Stop of 'ora.ncsrep1.vip' on 'ncsrep1' succeeded

CRS-2677: Stop of 'ora.scan1.vip' on 'ncsrep1' succeeded

CRS-2677: Stop of 'ora.oc4j' on 'ncsrep1' succeeded

CRS-2677: Stop of 'ora.OCR_VOTE.dg' on 'ncsrep1' succeeded

CRS-2673: Attempting to stop 'ora.asm' on 'ncsrep1'

CRS-2677: Stop of 'ora.asm' on 'ncsrep1' succeeded

CRS-2673: Attempting to stop 'ora.ons' on 'ncsrep1'

CRS-2677: Stop of 'ora.ons' on 'ncsrep1' succeeded

CRS-2673: Attempting to stop 'ora.net1.network' on 'ncsrep1'

CRS-2677: Stop of 'ora.net1.network' on 'ncsrep1' succeeded

CRS-2792: Shutdown of Cluster Ready Services-managed resources on 'ncsrep1' has completed

CRS-2677: Stop of 'ora.crsd' on 'ncsrep1' succeeded

CRS-2673: Attempting to stop 'ora.crf' on 'ncsrep1'

CRS-2673: Attempting to stop 'ora.ctssd' on 'ncsrep1'

CRS-2673: Attempting to stop 'ora.evmd' on 'ncsrep1'

CRS-2673: Attempting to stop 'ora.asm' on 'ncsrep1'

CRS-2673: Attempting to stop 'ora.drivers.acfs' on 'ncsrep1'

CRS-2673: Attempting to stop 'ora.mdnsd' on 'ncsrep1'

CRS-2677: Stop of 'ora.evmd' on 'ncsrep1' succeeded

CRS-2677: Stop of 'ora.crf' on 'ncsrep1' succeeded

CRS-2677: Stop of 'ora.mdnsd' on 'ncsrep1' succeeded

CRS-2677: Stop of 'ora.ctssd' on 'ncsrep1' succeeded

CRS-2677: Stop of 'ora.asm' on 'ncsrep1' succeeded

CRS-2673: Attempting to stop 'ora.cluster_interconnect.haip' on 'ncsrep1'

CRS-2677: Stop of 'ora.cluster_interconnect.haip' on 'ncsrep1' succeeded

CRS-2673: Attempting to stop 'ora.cssd' on 'ncsrep1'

CRS-2677: Stop of 'ora.cssd' on 'ncsrep1' succeeded

CRS-2673: Attempting to stop 'ora.gipcd' on 'ncsrep1'

CRS-2677: Stop of 'ora.drivers.acfs' on 'ncsrep1' succeeded

CRS-2677: Stop of 'ora.gipcd' on 'ncsrep1' succeeded

CRS-2673: Attempting to stop 'ora.gpnpd' on 'ncsrep1'

CRS-2677: Stop of 'ora.gpnpd' on 'ncsrep1' succeeded

CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'ncsrep1' has completed

CRS-4133: Oracle High Availability Services has been stopped.

6.4 root用户:

. /home/grid/.bash_profile    

 

$ORACLE_HOME/crs/install/rootcrs.pl -unlock

Using configuration parameter file: /grid/grid_home/crs/install/crsconfig_params

CRS-4544: Unable to connect to OHAS

CRS-4000: Command Stop failed, or completed with errors.

Successfully unlock /grid/grid_home

提示:

如果上面的应用环境变量跑成了

. /home/oracle/.bash_profile执行命令报错:

$ORACLE_HOME/crs/install/rootcrs.pl -unlock

[160343]Configuration parameter file/oracle/db11g/crs/install/crsconfig_paramscannot be found at /oracle/db11g/crs/install/crsconfig_lib.pm line 11969.

6.5 CRS补丁

grid用户:

$ORACLE_HOME/OPatch/opatch napply -oh $ORACLE_HOME -local /tmp/psu/ 21523375/21352642

$ORACLE_HOME/OPatch/opatch napply -oh $ORACLE_HOME -local /tmp/psu/ 21523375/21352649

$ORACLE_HOME/OPatch/opatch napply -oh $ORACLE_HOME -local /tmp/psu/ 21523375/21352635

中间需要交互输入三次:

是否继续? [y|n]

y

User Responded with: Y

All checks passed.

提供电子邮件地址以用于接收有关安全问题的通知, 安装 Oracle Configuration Manager 并启动它。如果您使用 My Oracle

Support 电子邮件地址/用户名, 操作将更简单。

有关详细信息, 请访问 http://www.oracle.com/support/policies.html

电子邮件地址/用户名: 回车

 

尚未提供电子邮件地址以接收有关安全问题的通知。

是否不希望收到有关安全问题 ( [Y], [N]) [N] 的通知Y

 

请关闭本地系统上在此 ORACLE_HOME 之外运行的 Oracle 实例。

(Oracle 主目录 = '/grid/grid_home')


本地系统是否已准备打补丁? [y|n]

Y

User Responded with: Y

Backing up files...

6.6 oracle用户执行

/tmp/psu/21523375/21352649/custom/scripts/prepatch.sh -dbhome $ORACLE_HOME

输出:

/tmp/psu/21523375/21352649/custom/scripts/prepatch.sh completed successfully.

6.7 database补丁

oracle用户:

$ORACLE_HOME/OPatch/opatch napply -oh $ORACLE_HOME -local /tmp/psu/21523375/21352649/custom/server/21352649

$ORACLE_HOME/OPatch/opatch napply -oh $ORACLE_HOME -local /tmp/psu/21523375/21352635

同样需要三次交互

是否继续? [y|n]

y

User Responded with: Y

All checks passed.

提供电子邮件地址以用于接收有关安全问题的通知, 安装 Oracle Configuration Manager并启动它。如果您使用 My Oracle

Support 电子邮件地址/用户名, 操作将更简单。

有关详细信息, 请访问 http://www.oracle.com/support/policies.html

电子邮件地址/用户名:  回车

 

尚未提供电子邮件地址以接收有关安全问题的通知。

是否不希望收到有关安全问题 ( [Y], [N]) [N] 的通知Y


请关闭本地系统上在此 ORACLE_HOME 之外运行的 Oracle 实例。

(Oracle 主目录 = '/oracle/db11g')


本地系统是否已准备打补丁? [y|n]

Y

User Responded with: Y

Backing up files...

……

6.8 oracle用户执行脚本:

oracle用户:

/tmp/psu/opatch/21523375/21352649/custom/scripts/postpatch.sh  -dbhome $ORACLE_HOME

6.9 执行脚本

root用户执行:

. /home/grid/.bash_profile

$ORACLE_HOME/rdbms/install/rootadd_rdbms.sh

$ORACLE_HOME/crs/install/rootcrs.pl -patch

6.10 此时如果报“ "A system reboot is recommended before using ACFS” ”,重启机器,没报的话就继续,不需重启

6.11 oracle用户

node 1上:

$ORACLE_HOME/bin/srvctl start home -o $ORACLE_HOME -s /home/oracle/status -n civsdb1

node 2上:

$ORACLE_HOME/bin/srvctl start home -o $ORACLE_HOME -s /home/oracle/status -n civsdb2

检查:

每个节点都执行:

oracle用户:

$ORACLE_HOME/OPatch/opatch lsinventory

grid用户:

$ORACLE_HOME/OPatch/opatch lsinventory

7. 打完补丁后数据库:

node1上执行,同时node2的数据库要down

oracle用户:

cd $ORACLE_HOME/rdbms/admin

sqlplus /nolog

SQL> CONNECT / AS SYSDBA

SQL> STARTUP

SQL> @?/rdbms/admin/catbundle.sql psu apply

SQL> select * from dba_registry_history;

SQL> quit

检查日志文件:

cd $ORACLE_BASE/cfgtoollogs/catbundle/

grep error *.log

详细检查的话,日志文件的命名规则是:

catbundle_PSU__APPLY_.log

catbundle_PSU__GENERATE_.log

检查数据库中是否存在无效的对象:

select OWNER,OBJECT_NAME,OBJECT_ID,OBJECT_TYPE,STATUS from dba_objects where status <>'VALID';

无效对象重新编译一下就可以了

alter view aucdb.view_preview_18_20 compile;


2015 年 12月6号

    王慧  tyger.wang  于北京  康馨家

昵  称:
邮  箱:
评论内容:
验 证 码:
可用[code][/code]插入代码
点击刷新验证码