适当的侦查操作系统,OPatch 失败
应用:
Oracle Fusion Middleware - Version: 9.0.4.1.0 to 10.1.4.3.0 - Release: to AS10gR2
本文档的信息可以应用到任何平台
Oracle Application Server 10g Enterprise Edition - Version: 9.0.4.1.0 - 10.1.4.3.0
现象
使用OPatch 实用程序安装一个临时补丁时,可能会有一个警告:
OPatch 侦查平台为453,补丁xxxxxx 支持该平台:
23 (Solaris Operating System (SPARC 64-bit))
这个补丁不适合这个操作系统
请联系支持正确的补丁
错误:在pre-reqs检查过程中OPatch 失败
或者
OPatch 侦查平台为226,补丁xxxxxx 支持该平台:
46 (Linux Intel)
这个补丁不适合这个操作系统
请联系技术支持,获取正确的补丁
错误:在pre-reqs检查过程中OPatch 失败
原因
补丁里的OPatch 文件可能创建错误,因为某些补丁适用于多种平台。最普遍的情况是在上
面的两个例子中,在32和64位平台上采用同样的补丁。另一种情况可能是由于最近注册的
平台所造成。
OPatch 应该预期所有可应用的平台ID,这些ID是定义在每个平台的内部序号里。当创建
一个补丁时,它应该被适当的设置,以便OPatch 侦查。有时候会出现一个错误。有时候,
会因为认证而限制平台。
如果这种错误发生在普通补丁上,则它能应用到任何操作系统。另一个例子就是,同样的补
丁被运用到32和64位系统。这是因为oracle应用服务器作为一个32位应用程序运行在64
位平台上。32和64位平台ID是不同的,但是相反的那个用于OPatch 检查。
这例子使用的平台ID是453和46,下面是ID和平台的列表供参考:
46 (Linux Intel)226 (Linux x86-64)
38 (AIX-Based Systems (64-bit))
912 (MS Windows NT)
100 (MS Windows 2000)
207 (Microsoft Windows XP)
215 (MS Windows Server 2003)
233 (MS Windows 2008)
912 (MS Windows NT)
59 (HP 9000 Series HP-UX (64-bit))
100 (MS Windows 2000)
87 (Compaq Tru64 UNIX)
23 (Sun SPARC Solaris (64-BIT))
453 (Sun SPARC Solaris)
50 (MS Windows 98)
212 (AIX-Based Systems (64-bit) 5L)
197 (HP-UX Itanium)
重点:
首先要确保在正确的操作系统上应用正确的补丁,这是OPatch 封装的主要目的。OPatch 被
设计用来检查补丁的/etc/config/inventory,以及与被管理的oracle home相比较。
然而,有一些补丁是不正确的,在改正或者上传新补丁之前,这文档可以作为一个变通方案。
这可能发生在丢失的和不正确的配置上。
oraclehomeproperties.xml 文件用来和补丁说明像比较。在这种情况下,提供一个新的
oraclehomeproperties.xml 文件作为补丁,类似下面例子的情况:
在更新oracle应用服务器10g和Linux, HP, 以及AIX平台的10.1.2.2 Patchset后,补丁
5861907必须在应用任何补丁前被应用。这问题的现象和解释在下面的文档里:
注释413788.1:在应用服务器Patchset 2 (10.1.2.2)之后,在除windows和SPARC Solaris以外的其他所有操作系统,应用临时补丁。
在安装Oracle SOA后,然后在使用OPatch之前应用补丁5669155。如果使用的是Patchset 2
(10.1.3.2) 或者以后版本,这就没必要应用。
解决方案
确保使用的OPatch 版本是最新的10.1.0.0.0版本,如果本地安装的是OUI10.2,则这情况就
是一个例外。
在应用与平台侦查错误相关的补丁前,执行下列变通方案(A, B, C) 之一
下面的例子用于 ID 为453和23的32 和64 位Sun OS 。最普遍的情况,当这发生时,同
样的产品/补丁两者都适用。
如果它被发现是一个错误,请错误归档以便在确认认证后重新下载补丁
A
这选项将永久的解决这问题
重点:
这不是一个普通的变通方案
这只是申明显示OPatch 从哪获得平台ID。有些情况是oraclehomeproperties.xml文件不正确。
这发生在应用一个补丁设置之后,未能提供正确的oraclehomeproperties.xml文件。
在这个例子里,假设所有补丁应用时将有“23”,尽管丢失“453”,这个时候补丁被获取。
编辑下面的文件并用正确的 ARU_ID 代替 ARU_ID (Solaris 64-bit):
$ORACLE_HOME/inventory/ContentsXML/oraclehomeproperties.xml
更改:453
为:23
然后应用补丁xxxxxx
B
每次有补丁安装在ORACLE_HOME时,这选项就需要执行一次
重点:
如果确认是正确的补丁后,才推荐用这选项
这是最普遍且最快的变通方法,特别是在知道在某个指定的平台上确定有正确的补丁的
情况下。
10.1.0.5.0补丁是用来传送Linux x86 和 Linux x86-64。确保在 Linux x86平台上,你已经下
载了补丁。即使是在Linux x86-64平台上,也要确保已经下载了补丁。
在这个例子里,“23”用于所有的Solaris Sparc装备,“46”是用于所有的 Linux x86和 Linux
x86-64装备,因为同样的媒介用于各自的平台。
设置下面的环境变量:
OPATCH_PLATFORM_ID=23
OPATCH_PLATFORM_ID=46
然后应用补丁 xxxxxx
C
这选项只有在有疑问时才编辑opatch 文件,假设前面什么也没进行:
注释:推荐用于错误归档前的测试
这可能被认为是最好的变通方案,因为最终,在重新下载补丁之前它将被解决。这不影响其
他的补丁,它会明确处理平台上不是正确创建的补丁。10.1.0.5.0补丁用于传送 Linux x86 和
Linux x86-64。确保在 Linux x86平台上,你已经下载了补丁,即使是在Linux x86-64平台
上,也要确保已经下载了补丁。在某些情况下,确定你是否有正确的补丁可能是棘手的
此外,错误应该归档到oracle支持,重新下载补丁:
a. 进入补丁xxxxxx 解压的目录
b. 进入子目录 \etc\config
c. 打开内存文件,寻找‘’部分
d. 更改内存文件,添加合适的平台名字和预期的ID,参考上面的列表
例如:
或者
这目标是设置预期的ID
$ORACLE_HOME/inventory/ContentsXML/oraclehomeproperties.xml
在这部分可能有其他的平台
列表里平台的次序是无所谓的
确保在行尾没有空间
e. 然后应用补丁xxxxxx
如果OPatch 文件没有正确的配置所有的OS注意事项,则对于OPatch ,这是一个已知的
问题。这变通方案至少允许OPatch 继续,在下载新的OPatch 包的同时变通方案也会被给
出。实际的补丁文件是不受影响的。