Oracle RAC 平台下 Patch 安装与卸载 步骤 收藏


 
 
之前整理过一篇Oracle Patch 的文章,参考:
       Oracle 补丁体系 及 opatch 工具 介绍
       http://blog.csdn.net/tianlesoftware/archive/2010/08/13/5809526.aspx
 
       关于Oracle Patch 的知识,参考之前的文章。 这篇主要是演示下RAC 平台下Patch 的安装与卸载。
 
一.  Path 安装说明
       在metalink 上下了个Path:5689937,在readme 文档里有RAC下的安装方法。
 
1.1 安装Patch
(1).      关闭其中一个节点上的DB实例。
(2).      关闭在第一步操作节点上的nodeapps services:
       srvctl stop nodeapps -n
(3).      在第一步操作的节点上应用patch:
       进入Patch的目录,然后运行opatch命令,注意加上-local 参数。    
              cd 5689937
              opatch apply -local
(4).      启动该节点的nodeapps 和ASM服务。
              srvctl start nodeapps -n
              srvctl start asm -n rac1 -i +ASM1
(5).      启动该节点上的DB实例。
              srvctl start instance -d sid -i sid1
(6)  在其他节点上,重复以上步骤来安装Patch。
 
1.2  Patch 安装的后续操作
       选择一个节点,执行如下操作即可。 在这个操作期间,用户可以访问数据库。
 
(1)启动所有实例
(2)在其中一个节点上用SYSDBA 连接并执行catcpu.sql脚本:
 
              cd $ORACLE_HOME/cpu/CPUJan2007 --必须进入这个目录
              sqlplus /nolog
              sql> connect /as sysdba
              sql> startup
              sql> @catcpu.sql
              sql> quit
      
       运行完该脚本之后, 注意查看alert log,有无错误信息,并检查有无无效对象。
可以通过如下SQL,来查看无效对象:
       sql> select object_name from dba_objects where status= 'INVALID';
 
如果有无效对象,执行utlrp.sql 来编译这些对象:
       cd $oracle_home/rdbms/admin
       sqlplus /nolog
       sql> connect /as sysdba
       sql> startup
       sql> @utlrp.sql
 
1.3  Patch 卸载
(1) 在其中一个节点上关闭DB 实例
(2) 在第一步的节点上关闭nodeapps 服务。
              srvctl stop nodeapps -n
(3) 回滚Patch,进入Patch 文件的目录,执行命令
              cd 5689937
              opatch rollback -id 5689937
       如果出现什么错误,对照readme 文档,该文档里有一些常见错误的处理方法。
(4)启动该节点上的nodeapps 和ASM服务
              srvctl start nodeapps -n
(5) 启动该节点上的DB实例
(6) 在其他节点上重复上述操作
 
       因为在打patch 期间,每次只对一个实例进行操作,所以DB 还可以对外提供访问。
 
1.4  Patch卸载的后续操作
       在其中一个节点上执行如下操作:
(1)执行如下脚本:
       cd $ORACLE_HOME/cpu/CPUJan2007
       sqlplus /nolog
       SQL> CONNECT / AS SYSDBA
       SQL> STARTUP
       SQL> @catcpu_rollback.sql
       SQL> QUIT
(2)如果在第一步脚本结束时报有无效对象,则执行如下脚本,编译这些无效对象:
       cd $ORACLE_HOME/rdbms/admin
       sqlplus /nolog
       SQL> CONNECT / AS SYSDBA
       SQL> STARTUP
       SQL> @utlrp.sql 
 
查看无效对象
       SQL> SELECT OBJECT_NAME FROM DBA_OBJECTS WHERE STATUS = 'INVALID'; 
 
      
 
二. RAC 情况
[oracle@rac1 u01]$ sh crs_stat.sh
Name                           Target     State      Host     
------------------------------ ---------- ---------  -------  
ora.dave.dave1.inst            ONLINE     ONLINE     rac1     
ora.dave.dave2.inst            ONLINE     ONLINE     rac2     
ora.dave.db                    ONLINE     ONLINE     rac2     
ora.dave.taf.cs                ONLINE     ONLINE     rac2     
ora.dave.taf.dave1.srv         ONLINE     ONLINE     rac1     
ora.dave.taf.dave2.srv         ONLINE     ONLINE     rac2     
ora.rac1.ASM1.asm              ONLINE     ONLINE     rac1     
ora.rac1.LISTENER_RAC1.lsnr    ONLINE     ONLINE     rac1     
ora.rac1.gsd                   ONLINE     ONLINE     rac1     
ora.rac1.ons                   ONLINE     ONLINE     rac1     
ora.rac1.vip                   ONLINE     ONLINE     rac1     
ora.rac2.ASM2.asm              ONLINE     ONLINE     rac2     
ora.rac2.LISTENER_RAC2.lsnr    ONLINE     ONLINE     rac2     
ora.rac2.gsd                   ONLINE     ONLINE     rac2     
ora.rac2.ons                   ONLINE     ONLINE     rac2     
ora.rac2.vip                   ONLINE     ONLINE     rac2     
 
我这里配置了Server-side TAF. 所以net service name(tnsnames.ora)配置:
RAC =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.82)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.83)(PORT = 1521))   
    (LOAD_BALANCE = yes)
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = dave)
    )
  )
 
 
测试:
C:\Users\Administrator.DavidDai>sqlplus sys/oracle@rac as sysdba;
SQL*Plus: Release 11.2.0.1.0 Production on 星期六 4月 2 23:03:47 2011
 
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
 
 
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
SQL> select instance_name from v$instance;
 
INSTANCE_NAME
--------------------------------
dave1
 
SQL>
 
 
三. 安装Patch 示例
 
节点1操作:
[oracle@rac1 u01]$ sh crs_stat.sh
Name                           Target     State      Host     
------------------------------ ---------- ---------  -------  
ora.dave.dave1.inst            ONLINE     ONLINE     rac1     
ora.dave.dave2.inst            ONLINE     ONLINE     rac2     
ora.dave.db                    ONLINE     ONLINE     rac2     
ora.dave.taf.cs                ONLINE     ONLINE     rac2     
ora.dave.taf.dave1.srv         ONLINE     ONLINE     rac1     
ora.dave.taf.dave2.srv         ONLINE     ONLINE     rac2     
ora.rac1.ASM1.asm              ONLINE     ONLINE     rac1     
ora.rac1.LISTENER_RAC1.lsnr    ONLINE     ONLINE     rac1     
ora.rac1.gsd                   ONLINE     ONLINE     rac1     
ora.rac1.ons                   ONLINE     ONLINE     rac1     
ora.rac1.vip                   ONLINE     ONLINE     rac1     
ora.rac2.ASM2.asm              ONLINE     ONLINE     rac2     
ora.rac2.LISTENER_RAC2.lsnr    ONLINE     ONLINE     rac2     
ora.rac2.gsd                   ONLINE     ONLINE     rac2     
ora.rac2.ons                   ONLINE     ONLINE     rac2     
ora.rac2.vip                   ONLINE     ONLINE     rac2     
[oracle@rac1 u01]$ srvctl stop instance -d dave -i dave1
[oracle@rac1 u01]$ srvctl stop nodeapps -n rac1
[oracle@rac1 u01]$ sh crs_stat.sh
Name                           Target     State      Host     
------------------------------ ---------- ---------  -------  
ora.dave.dave1.inst            OFFLINE    OFFLINE             
ora.dave.dave2.inst            ONLINE     ONLINE     rac2     
ora.dave.db                    ONLINE     ONLINE     rac2     
ora.dave.taf.cs                ONLINE     ONLINE     rac2     
ora.dave.taf.dave1.srv         ONLINE     OFFLINE             
ora.dave.taf.dave2.srv         ONLINE     ONLINE     rac2     
ora.rac1.ASM1.asm              OFFLINE    OFFLINE             
ora.rac1.LISTENER_RAC1.lsnr    OFFLINE    OFFLINE             
ora.rac1.gsd                   OFFLINE    OFFLINE             
ora.rac1.ons                   OFFLINE    OFFLINE             
ora.rac1.vip                   OFFLINE    OFFLINE             
ora.rac2.ASM2.asm              ONLINE     ONLINE     rac2     
ora.rac2.LISTENER_RAC2.lsnr    ONLINE     ONLINE     rac2     
ora.rac2.gsd                   ONLINE     ONLINE     rac2     
ora.rac2.ons                   ONLINE     ONLINE     rac2     
ora.rac2.vip                   ONLINE     ONLINE     rac2
 
[oracle@rac1 u01]$ cd 5689937/
[oracle@rac1 5689937]$ opatch apply -local
Invoking OPatch 10.2.0.1.0
 
Oracle interim Patch Installer version 10.2.0.1.0
Copyright (c) 2005, Oracle Corporation.  All rights reserved..
 
 
Oracle Home       : /u01/app/oracle/product/10.2.0/db_1
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/10.2.0/db_1/oraInst.loc
OPatch version    : 10.2.0.1.0
OUI version       : 10.2.0.1.0
OUI location      : /u01/app/oracle/product/10.2.0/db_1/oui
Log file location : /u01/app/oracle/product/10.2.0/db_1/cfgtoollogs/opatch/opatch-2011_Apr_03_15-47-59-CST_Sun.log
 
ApplySession applying interim patch '5689937' to OH '/u01/app/oracle/product/10.2.0/db_1'
ApplySession: Optional component(s) [ oracle.**panion, 10.2.0.1.0 ] , [ oracle.isearch.client, 10.2.0.1.0 ] , [ oracle.ons, 10.2.0.1.0 ]  not present in the Oracle Home or a higher version is found.
Invoking fuser to check for active processes.
Invoking fuser on "/u01/app/oracle/product/10.2.0/db_1/bin/genezi"
Invoking fuser on "/u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr"
Invoking fuser on "/u01/app/oracle/product/10.2.0/db_1/bin/lsnrctl"
Invoking fuser on "/u01/app/oracle/product/10.2.0/db_1/bin/oracle"
 
You selected -local option, hence OPatch will patch the local system only.
 
 
Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/u01/app/oracle/product/10.2.0/db_1')
 
Is the local system ready for patching?
 

本文来自CSDN博客,转载请标明出处: http://blog.csdn.net/tianlesoftware/archive/2011/04/03/6300295.aspx

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

转载于:http://blog.itpub.net/25243263/viewspace-696297/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值