Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

2135

积分

502

好友

184

主题
1#
发表于 2012-3-20 13:10:51 | 查看: 8735| 回复: 2
网友提问,Question:

OPATCH_PLATFORM_ID 是做什么用的
下载专业ORACLE数据库恢复工具PRM-DUL  For Oracle http://www.parnassusdata.com/zh-hans/emergency-services

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638  QQ: 47079569   
2#
发表于 2012-3-20 13:14:48
Answer:

OPatch is a java based utility that allow the application and rolling back
of interim patches to an Oracle product. The program has sub-commands that
may take arguments. The program requires Java(JVM) to be present on the
current system. Every ORACLE_HOME will by default have the Java in it,
if not please download it from http://java.sun.com.

OPATCH_PLATFORM_ID:
       OPatch has its own mechanism of finding the platform ID. If this
       variable to set to some numeric value, then OPatch skips its mechanism
       and assumes the platform ID to be the one specified here.


OPATCH_PLATFORM_ID是 OPatch工具使用的 关于操作系统平台号的 内部数字变量, 若用户设置了该变量则OPatch工具会跳过自身 检测 OS PLATFORM ID的环节, 而直接使用 变量提供的平台号。

以下为OPATCH_PLATFORM_ID对应的平台名:

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"

回复 只看该作者 道具 举报

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.

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-11-15 07:36 , Processed in 0.046910 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569