RAC 升级补丁

安装前准备:

环境变量配置好

Oracle 用户

vi ~/.bash_profile

export GI_HOME=/app/11.2.0/grid

export  PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:$GI_HOME/bin:$ORACLE_HOME/OPatch

GI用户

vi ~/.bash_profile

export GI_HOME=/app/11.2.0/grid

export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:$GI_HOME/bin:$GI_HOME/OPatch

补丁的READ ME 要反复读,做之前写下详细脚本,搞清楚每句话的意思,以此为例。一定要谨记,此笔记仅供参考,一切以read me为准

记录脚本,操作信息。

4注意:打补丁之前一定要备份,在关闭实例之后备份,避免检查点不一致。备份/app 目录

oracle grid用户下,分别执行opatch lspatches,保留截图。

 

主机:  248.36/27

需要打的补丁

 

根据read me 下面这句话:

If you are installing the PSU to an environment that has a Grid Infrastructure (GI) home, note the following:

  1. Grid Infrastructure PSU 11.2.0.4.161018 Patch 24436338 should be applied to the Grid Infrastructure home and Database home using the readme instructions provided with the patch.

可得知GI244)的补丁先打,DB240)的补丁后打;

注意:打补丁之前一定要备份,在关闭实例之后备份。备份/app 目录

GI PSU

解压文件

Oracle用户下

unzip 24436338 d /app/oracle/utils/DB_PSU

export PATH=$PATH:$ORACLE_HOME/OPatch

 

##建议GI补丁放在GI_PSU 下,DB补丁放在DB_PSU,方便看,还有XML文件不会让你重命名。

 

产生ocm文件

分别跑$ORACLE_HOME/OPatch/ocm/bin/emocmrsp(grid用户下)和 $ORACLE_HOME/OPatch/ocm/bin(oracle用户) 产生ocm.rsp响应文件。

详细步骤:

grid用户

[eipdb01][grid][/app/11.2.0/grid/OPatch/ocm/bin]#./emocmrsp (进入此目录执行emocmrsp)

[eipdb01][grid][/app/11.2.0/grid/OPatch/ocm/bin]#ls

emocmrsp ocm.rsp

分别在1节点grid用户,oracle用户,2节点grid用户,Oracle用户执行以上步骤

 

检查GI HOME DB HOME 的一致性(oracle 用户下)

$ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME

结果是成功的。

 

 

关闭 EM agent

You must stop the EM agent processes running from the database home, prior to patching the Oracle RAC database or GI Home and prior to rolling back the patch from Oracle RAC database or GI Home. Execute the following command on the node to be patched or the node where the patch is to be rolled back.

As the Oracle RAC database home owner execute:

$ <ORACLE_HOME>/bin/emctl stop dbconsole

 

emctl console status 发现我们的主机没有开,所以这步略过

 

检查有没有相矛盾的补丁,read me 建议使用DB patch中的应用检查,需要结合DB read me来查看。

cd /app/utils/24006111

opatch prereq CheckConflictAgainstOHWithDetail -ph ./

 

检查结果:没有相矛盾的补丁

 

6 使用root用户可以使得打GI HOME补丁以及rac HOME补丁自动化。在非共享的storage中,需要用户在每个节点依次执行,不能并行执行。

 

打补丁的方式根据GI DB HOME 结构的不同而不同,下面分两种常见的情况

第一种:GI rac 都是非共享的模式,并且没有配ACFS系统

(属于我们的情况)

第二种:GI非共享,但是DB home 共享,ACFS 被使用。

 

下面我们按照第一种来做:

 1 oracle用户下:

登录到数据库关闭实例。关闭实例后,关闭所有监听(注意查看监听在哪个用户下面,rac下,监听都在grid,一般oracle用户下的监听启了也没用,关掉好了)

 

 root用户的身份,在每个节点依次执行下面命令,注意,因为ocm文件有两个,分别由oracle gird用户产生。打GI补丁的话,用GI opatchocm响应文件。

 

opatch auto <UNZIPPED_PATCH_LOCATION> /app/oracle/24436338 -ocmrf <ocm response file>

 

opatch auto /app/oracle/utils/GI_PSU/24436338

-ocmrf /app/11.2.0/grid/OPatch/ocm/bin/ocm.rsp

 

####如果是GI的补丁,用GI的opatch和GI的ocm响应文件,root用户每个节点执行一次便可,下面是安装补丁包的log,看红色字体,发现在打GI补丁的时候,系统已经把DB 的补丁打了进去,而回头看GI补丁包的子包里面也包含了DB的包,如果用的是ORACLE 的OPatch 和ocm,则没有这种情况,需要另外在打DB的包,那么直接在GI补丁打完后,进入到DB_PSU ,以oracle用户执行 opatch apply 具体情况省略###

日志:

 

This is the main log file: /app/11.2.0/grid/cfgtoollogs/opatchauto2016-10-28_22-00-29.log

 

This file will show your detected configuration and all the steps that opatchauto attempted to do on your system:

/app/11.2.0/grid/cfgtoollogs/opatchauto2016-10-28_22-00-29.report.log

 

2016-10-28 22:00:29: Starting Clusterware Patch Setup

Using configuration parameter file: /app/11.2.0/grid/crs/install/crsconfig_params

 

Unable to determine if /app/oracle/product/11.2.0/db_1 is shared oracle home

Enter 'yes' if this is not a shared home or if the prerequiste actions are performed to patch this shared home (yes/no):yes

 

Unable to determine if /app/11.2.0/grid is shared oracle home

Enter 'yes' if this is not a shared home or if the prerequiste actions are performed to patch this shared home (yes/no):yes

 

Stopping RAC /app/oracle/product/11.2.0/db_1 ...

Stopped RAC /app/oracle/product/11.2.0/db_1 successfully

 

patch /app/oracle/utils/24436338/24006111  apply successful for home  /app/oracle/product/11.2.0/db_1

patch /app/oracle/utils/24436338/23054319/custom/server/23054319  apply successful for home  /app/oracle/product/11.2.0/db_1

 

Stopping CRS...

Stopped CRS successfully

 

patch /app/oracle/utils/24436338/24006111  apply successful for home  /app/11.2.0/grid

patch /app/oracle/utils/24436338/23054319  apply successful for home  /app/11.2.0/grid

patch /app/oracle/utils/24436338/22502505  apply successful for home  /app/11.2.0/grid

 

Starting CRS...

Installing Trace File Analyzer

CRS-4123: Oracle High Availability Services has been started.

 

Starting RAC /app/oracle/product/11.2.0/db_1 ...

Started RAC /app/oracle/product/11.2.0/db_1 successfully

 

opatch auto succeeded.

8 load sql files,启动crs和数据库实例,在其中一个节点执行就好。

cd $ORACLE_HOME/rdbms/admin

sqlplus /nolog

SQL> CONNECT / AS SYSDBA

SQL> STARTUP

alter system set job_queue_processes=0;

SQL> @catbundle.sql psu apply

alter system set job_queue_processes=1000;再这样改回来。)

SQL> QUIT

建议开一个节点,另一个节点关闭,避免修改JOB参数为0,避免library cache pin.

如果有 OJVM PSU .的话,那么执行下面的,但是我们这次没有,忽略。

 

cd $ORACLE_HOME/rdbms/admin

sqlplus /nolog

SQL> CONNECT / AS SYSDBA

SQL> @utlrp.sql

 

10 如果你使用RMAN的话,需要更新catalog

$ rman catalog username/password@alias

RMAN> UPGRADE CATALOG;

我们没用,所以忽略。

 

11. 最后,启动数据库,打开监听,从外界连入数据库查看数据库是否正常。

12 附录相关的两个README

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30262847/viewspace-2129350/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30262847/viewspace-2129350/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值