ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 打补丁时ORACLE无法找到已经安装组件的解决

打补丁时ORACLE无法找到已经安装组件的解决

原创 Linux操作系统 作者:westzq1984 时间:2009-10-25 13:04:13 0 删除 编辑

客户的机器打了10204的补丁,告诉我sqlplus 进去还是10201
让客户发了日志过来,发现一个和诡异的地方:
 Summary
 Global Settings
     Source: /setup/orapatch/Disk1/stage/products.xml
     Oracle Home: /oracle/product/10.2.0/db_1 (OUIHome1)
 Product Languages
 Space Requirements
    /oracle/ Required 35MB : Available 12.38GB
    /tmp/ Required 26MB (only as temporary space) : Available 3.15GB
 New Installations (1 products)
    Oracle Configuration Manager 10.2.7.1.0

竟然只打了1个组件的补丁,再次让客户确认补丁版本,一切都是OK的,操

远程支持了下,让客户使用opatch查看安装的组件
 [WMSp655B:oracle:/oracle/product/10.2.0 _1/OPatch]ventory -detail          <
 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       : /oracle/product/10.2.0 _1
 Central Inventory : /oracle/product/10.2.0 _1/inventory
   from           : /oracle/product/10.2.0 _1/oraInst.loc
 OPatch version    : 10.2.0.1.0
 OUI version       : 10.2.0.1.0
 OUI location      : /oracle/product/10.2.0 _1/oui
 Log file location : /oracle/product/10.2.0 _1/cfgtoollogs/opatch/opatch-00_Oct
 _25_12-00-17-GMT+08_Sun.log
 
 Lsinventory Output file location : /oracle/product/10.2.0 _1/cfgtoollogs/opatc
 h/lsinv/lsinventory-00_Oct_25_12-00-17-GMT+08_Sun.txt
 
 --------------------------------------------------------------------------------
 Installed Top-level Products (0):
 
 There are 0 products installed in this Oracle Home.

显示安装了0个组件。。。。晕

接着让客户做了个truss来研究
在truss的输出中搜索 open ,因为我记得ORACLE确认安装了那些组件是读取一个配置文件,但是一下记不起是那个文件了

看着看着,觉得这个配置文件很脸熟,/oracle/product/10.2.0/db_1/inventory/ContentsXML/comps.xml

让客户传过来看看,发现这个文件基本没东西
 
 <!-- Copyright (c) 2005 Oracle Corporation. All rights Reserved -->
 <!-- Do not modify the contents of this file by hand. -->
 
 
 

 
 

 
 

 


对应着,查看了下我本机的comps.xml文件,发现有很多东西,都是记录着安装的组件。
于是尝试用客户的这个comps.xml替换我本机的comps.xml,然后运行opatch
 [oracle10@WESTZQ OPatch]$ ./opatch lsinventory -detail
 Invoking OPatch 10.2.0.4.2
 
 Oracle Interim Patch Installer version 10.2.0.4.2
 Copyright (c) 2007, Oracle Corporation.  All rights reserved.
 
 
 Oracle Home       : /u01/oracle10/app/oracle/product/10.2.0/db_1
 Central Inventory : /u01/oracle9/app/oracle/oraInventory
    from           : /etc/oraInst.loc
 OPatch version    : 10.2.0.4.2
 OUI version       : 10.2.0.4.0
 OUI location      : /u01/oracle10/app/oracle/product/10.2.0/db_1/oui
 Log file location : /u01/oracle10/app/oracle/product/10.2.0/db_1/cfgtoollogs/opatch/opatch2009-10-25_12-26-10PM.log
 
 Lsinventory Output file location : /u01/oracle10/app/oracle/product/10.2.0/db_1/cfgtoollogs/opatch/lsinv/lsinventory2009-10-25_12-26-10PM.txt
 
 --------------------------------------------------------------------------------
 Installed Products (0):
 
 There are 0 products installed in this Oracle Home.
 
 
 There are no Interim patches installed in this Oracle Home.
 
 
 --------------------------------------------------------------------------------
 
 OPatch succeeded.

操,看来果然是这个文件的问题
让客户尝试删除该文件,看ORACLE能不能重新查找

果然,删除该文件后,ORACLE会重新去扫描安装的组件。
跟了下补丁程序,也要读取该文件

问题解决

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

请登录后发表评论 登录
全部评论

注册时间:2009-04-06

  • 博文量
    251
  • 访问量
    948695