- 最后登录
- 2023-8-16
- 在线时间
- 1686 小时
- 威望
- 2135
- 金钱
- 50532
- 注册时间
- 2011-10-12
- 阅读权限
- 200
- 帖子
- 5207
- 精华
- 39
- 积分
- 2135
- UID
- 2
|
3#
发表于 2012-3-20 13:17:06
ODM FINDING:
Error "OPatch detects your platform as 23 while this patch is for Linux"
Applies to:
Oracle Fusion Middleware - Version: 10.1.2.2.0 and later [Release: AS10gR2 and later ]
Linux x86
Symptoms
Trying to apply one-off patch to Oracle Application Server 10.1.2.2 on Linux
"opatch apply" fails with:
OPatch detects your platform as 23 while this patch xxxxxx supports platforms:
46 (Linux Intel)
This patch is not suitable for this operating system.
Please contact support for the correct patch.
Cause
When 10.1.2.2 is installed, 10.1.0.5 RSF's are also installed.
There is a problem when applying one offs to 10.1.0.5, and its returns the problem described above
Solution
To implement the solution, execute the following steps::
1. Download the latest version of OPatch. See Note 224346.1 Where Can I Find the Latest Version of Opatch?
2. Set the environment variable:
export OPATCH_PLATFORM_ID=46
- Run "opatch apply" again
OPatch Fails to Detect Platform or Operating System Appropriately
Symptoms
When installing a one-off patch to an Oracle Application Server 10g or Oracle Fusion Middleware 11g installation using the OPatch utility, there may be a warning like below except specific to your platform:
OPatch detects your platform as 453 while this patch xxxxxx supports platforms:
23 (Solaris Operating System (SPARC 64-bit))
This patch is not suitable for this operating system.
Please contact support for the correct patch.
ERROR: OPatch failed during pre-reqs check.
or
OPatch detects your platform as 226 while this patch xxxxxx supports platforms:
46 (Linux Intel)
This patch is not suitable for this operating system.
Please contact support for the correct patch.
ERROR: OPatch failed during pre-reqs check.
Cause
OPatch files in the patch may be improperly created since some patches are applicable to multiple platforms. The most common case is in the above two examples where there are 32 and 64 bit platforms which would take the same patch. Another case may be due to a recently certified platform.
OPatch should expect all applicable Platform IDs, which are internal numbers identifying each platform. When a patch is created, this should be set appropriately for OPatch to detect. Sometimes, there is a mistake. Sometimes, it is restricting platforms due to certification.
An example when this mistake occurs is if its a generic patch, (e.g., jar files), then it applies to any operating system. Another example is if the same patch is applied to 32 and 64 bit systems because the Oracle Application Server runs as a 32 bit application on a 64 bit platform. The 32 and 64 bit Platform IDs are different, but the opposite used in the OPatch check.
While this example uses the platform ID 453 and 46, below are a list of IDs and platforms for reference:
46 "Linux Intel"
226 "Linux x86-64"
209 "IBM zSeries Based Linux"
23 "Sun SPARC Solaris (64-BIT)"
453 "Sun SPARC Solaris"
912 "MS Windows NT"
100 "MS Windows 2000"
207 "Microsoft Windows XP"
215 "MS Windows Server 2003"
233 "MS Windows 2008"
59 "HP 9000 Series HP-UX (64-bit)"
197 "HP-UX Itanium"
87 "Compaq Tru64 UNIX"
38 "AIX-Based Systems (64-bit)"
212 "AIX-Based Systems (64-bit) 5L"
Important:
You should first ensure you are applying the correct patch for the correct Operating System. That is the primary purpose of this OPatch check, and OPatch is designed to check the patch's build and compare with the Oracle home inventory being administered. However, some patches are mistakenly incorrect, and this document may be given as a workaround before correcting and/or re-uploading a new patch.
This error can also happen when there is a missing or improperly configured oraclehomeproperties.xml file, which is used to compare the patch instructions verses the Oracle home. In such a case, a new oraclehomeproperties.xml file should be provided as a patch, such as the case in the below examples:
After updating Oracle Application Server 10g with the 10.1.2.2 Patchset on Linux, HP, and AIX Platforms, Patch 5861907 must be applied before applying any other patch with OPatch. The symptoms and explanation for this issue is in the following document:
Note 413788.1 Applying a One-Off Patch On All Operating Systems Except Windows and SPARC Solaris After Application Server Patchset 2 (10.1.2.2)
After installing Oracle SOA Suite 10g Release 3 (10.1.3.1), it is important to then apply Patch 5669155 before using OPatch. This is not necessary if Patchset 2 (10.1.3.2) or later is applied.
Solution
Ensure OPatch version in use is the latest 10.1.0.0.0 version for the Oracle Application Server 10g installations, (Patch 6880880). An exception is if the OUI 10.2 installed the home, then use 10.2.0.0.0. If Oracle Fusion Middleware 11g, choose 11.1.0.0.0.
Implement ONE of the following workarounds before applying the patch associated with the platform detection error.
The following examples use the 32 and 64 bit Sun OS with an ID of 453 and 23. (32 bit Solaris has an ID of 453, and 64 bit Solaris has an ID of 23), the most common case when this happens, as the same product/patch is applicable to both)
If its found to be a mistake, please have a bug filed in order to re-upload the patch after confirming certification.
A.
This option will permanently workaround the issue within the ORACLE_HOME. If it has been improperly configured (e.g. during installation), setting to the correct Platform ID is the direct solution for all future patching requirements.
Important:
This would not be a common workaround.
This is only stated to show where OPatch obtains the Platform ID for the installed Oracle home. There are cases when oraclehomeproperties.xml is not correct. This has occurred after applying a Patch Set that failed to provide the correct oraclehomeproperties.xml.
In this example, it is assuming all patches going forward will have "23" , though might be missing "453", when the patch is obtained.
Edit the following file and replace the ARU_ID with the correct ARU_ID (Solaris 64-bit):
$ORACLE_HOME/inventory/ContentsXML/oraclehomeproperties.xml
Change: < ARU_ID >453
to: < ARU_ID >23
Note: This changes what OPatch will detect as your system, in this case the 64-bit Solaris. It should be an accurate Platform ID for your platform to align with expectations.
Then apply patch xxxxxx
B.
This option will need to be done each time a patch is installed on the ORACLE_HOME. You may permanently set this if the problem is consistent across all patch installations for your product. Setting this overrides the actual expectation as set in the oraclehomeproperties.xml, and allows OPatch to assume your product's Platform ID.
Important:
This is only recommended if you have confirmed the correct patch for your platform.
This is the most common and quickest workaround, especially when you know you are on a specific platform and sure you have the correct patch for your platform. For example, be aware that 10.1.0.5.0 patches are delivered for both Linux x86 and Linux x86-64, and Oracle Application Server 10g installations are all 32-bit, and only use Linux-x86 patches. Ensure you have downloaded the patch for Linux x86, even when on the Linux x86-64 platform. Setting this for the wrong reason will allow 64 bit patches to be applied on an Oracle home with only 32 bit libraries (or vice versa)
In this example, "23" is for all Solaris Sparc installations, and "46" is for all Linux x86 and Linux x86-64 Oracle Application Server 10g installations, since the same media is used for their respective flavors.
Set the following environment variable (and may desire to always keep set):
OPATCH_PLATFORM_ID=23
OPATCH_PLATFORM_ID=46
Then apply patch xxxxxx
Issues related to this been a known issue if the OPatch files were not properly configured for all OS considerations. In some cases, the consideration is an improper installation, but all customers are under the same circumstance. The first workaround will enable the oraclehomeproperties.xml to be properly configured for a given platform. The second workaround will allow OPatch to continue if you know you have the correct patch for your environment. |
|