首页 > 其他分享 >11.2.0.4 RAC,手动方式安装PSU补丁

11.2.0.4 RAC,手动方式安装PSU补丁

时间:2024-09-15 20:13:02浏览次数:6  
标签:execute RAC 补丁 0.4 11.2 opatch Oracle owner home

1、前言

注意:Oracle不建议客户使用手动方式进行补丁安装,客户应该使用opatch auto方式进行补丁安装工作。但是,在opatch auto的过程中如果出现问题,我们可以将本文档中的步骤作为临时解决方法。

 

2、故障描述

客户有一套Exadata环境下的11.2.0.4 RAC,近期进行安全扫描时,提示一些数据库和OJVM安全漏洞,于是计划针对该环境安装11.2.0.4的最后一个BP补丁。补丁安装的方式也非常简单,主要就是执行opatch auto命令,结果对第一个节点执行opatch auto命令后,最终提示有几个补丁安装成功,而GRID_HOME有一个小补丁安装失败。错误日志如下。

Following active files are used by ORACLE_HOME: /u01/app/11.2.0.4/grid

/u01/app/11.2.0.4/grid/lib/libclntsh.so.11.1

UtilSession failed: Prerequisite check "CheckActiveFilesAndExecutables" failed...

 

3、故障处理

3.1 从错误日志可以看出,grid集群下的libclntsh.so.11.1文件被占用,导致GRID_HOME有一个小补丁安装失败。使用fuser命令查看哪些进程占用该文件。

# fuser /u01/app/11.2.0.4/grid/lib/libclntsh.so.11.1

/u01/app/11.2.0.4/grid/lib/libclntsh.so.11.1:  71475m

从fuser命令输出可以看出,的确有进程占用该文件。查看了下当前打开的所有secureCRT窗口,发现有个窗口正在执行asmcmd命令,很可能就是这个asmcmd命令未退出,导致libclntsh.so.11.1被锁。

3.2 虽然知道了故障的原因,但现在遇到了新的问题,那就是该节点由于只安装成功了一部分补丁,最终导致该节点无法正常启动。 重新执行crsctl stop crs -f, crsctl start crs, 但仍然无法启动集群。这很可能是由于补丁未成功安装导致的。

3.3 此时,手动方式安装补丁的办法派上了用场。在集群未能正常启动的情况下,将刚才报错的补丁进行手动安装。

Steps for Applying the Patch


Note:

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

As the Oracle RAC database home owner execute:

$ <ORACLE_HOME>/bin/emctl stop dbconsole

Execute the following on each node of the cluster in non-shared CRS and DB home environment to apply the patch.

  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>
    

    If this is an Oracle Restart Home environment, as the database home owner execute:

    $ <ORACLE_HOME>/bin/srvctl stop home -o <ORACLE_HOME> -s <status file location>
    

    Note:

    You need to make sure that the Oracle ACFS file systems are unmounted (see My Oracle Support document 1494652.1 How to Mount or Unmount ACFS File System While Applying GI Patches?) and all other Oracle processes are shutdown before you proceed.
  2. Run the pre root script.

    If this is a GI Home, as the root user execute:

    # <GI_HOME>/crs/install/rootcrs.pl -unlock
    

    If this is an Oracle Restart Home, as the root user execute:

    # <GI_HOME>/crs/install/roothas.pl -unlock
    
  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>
    
  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>
    
  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>
    
  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>
    
  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
    
  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.

  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> 
    
  10. Refer Section 2.5, "Patch Post-Installation Instructions" step after installing the patch

3.4 使用手动方式安装了刚才报错的补丁后,该节点的GI集群正常启动。

 

4、手动安装补丁的方式相对于opatch auto方式比较繁琐,但在特殊的情况下,真的能救命。

 

标签:execute,RAC,补丁,0.4,11.2,opatch,Oracle,owner,home
From: https://www.cnblogs.com/missyou-shiyh/p/18415581

相关文章

  • 车载软件调试工具系列---Trace32简介(Lauterbach TRACE32)开头篇
    我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节能减排。无......
  • `character_set_server` 和 `collation_server`
    目录标题1.`character_set_server`的取值范围和相关性取值范围相关性2.`collation_server`的取值范围和相关性取值范围相关性3.默认值4.配置方法5.注意事项MySQL中`character_set_server`和`collation_server`参数修改对现有数据库和表的具体影响是什么?如何在不......
  • oracle 存储加数据检查
    在Oracle数据库中,可以使用存储过程和触发器来实现数据检查。以下是一个简单的例子,展示了如何使用触发器来在数据插入之前进行数据检查。假设我们有一个名为orders的表,其中包含order_id和order_amount两个字段。我们想确保每个order_id都是唯一的,且order_amount大于零......
  • 【Unity精品源码】Ultimate Character Controller:高级角色控制器完整解决方案
    ......
  • 达梦数据库之Oracle到DM的数据迁移
    文章目录一、环境说明二、迁移前准备三、数据迁移一、环境说明源数据库:OracleV11.2.0.4.0目标数据库:DM8二、迁移前准备在DM数据库中执行如下:创建表空间:createtablespace"TEST"datafile'/dmdata/data/DAMENG/TEST.DBF'size50autoextendonnext10;创......
  • 达梦数据库之异构数据库(dm-oracle)的dblink
    文章目录一、安装客户端二、添加环境变量三、配置tnsnames.ora四、开始创建dblink准备一台装有oracle数据库和一台装有DM数据库一、安装客户端解压客户端文件到/opt/oracle/下查看解压文件二、添加环境变量vim.bash_profileexportPS1="[`whoami`@`hostname`......
  • OpenCV和Tesseract OCR识别复杂验证码喽~~
    目录代码实现思路流程:主要流程:整体代码效果展示原图处理之后的图总结流程图代码实现思路使用OpenCV进行图像预处理,并通过TesseractOCR来识别验证码中的字符。以下是其实现思路的详细讲解:流程:加载验证码图像:使用cv2.imread()读取验证码图片,将其加载为......
  • oracle之spool详细使用总结
    一、通过spool命令,可以将select数据库的内容写到文件中,通过在sqlplus设置一些参数,使得按指定方式写到文件中(1)常规使用spool方法,将set的一些命令和spool,select等放入.sql脚本中,然后再sqlplus中运行该脚本。以下为logmnr.sql脚本,在sqlplus中执行@logmnr.sql就可以写入文件record......
  • [AGC003F] Fraction of Fractal
    题意给定一个由黑白组成的网格。保证黑子四联通。规定一次操作为使用最初的网格图替换当前网格图的所有黑色格子。操作\(k\)次。问最终有多少个黑色连通块,对\(10^9+7\)取模。\(k\le10^{18}\)。Sol先不难注意到这个东西只和原网格图是否左右联通和上下联通有关......
  • OracleJDK的下载安装与配置
    1、JDK版本与商用协议JDK版本BCL协议(商用免费)OTN协议(商用收费)NFTC协议(商用免费)1.1√1.2√1.3√1.4√5√6√7√88u202及之前的版本8u211及之后的版本9√10√11√12√13√14√......