OFM相关故障的说明_Tomcat, WebLogic及J2EE讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Tomcat, WebLogic及J2EE讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4312 | 回复: 0   主题: OFM相关故障的说明        下一篇 
yanghui
注册用户
等级:上尉
经验:584
发帖:92
精华:0
注册:2011-12-13
状态:离线
发送短消息息给yanghui 加好友    发送短消息息给yanghui 发消息
发表于: IP:您无权察看 2011-12-13 9:09:57 | [全部帖] [楼主帖] 楼主

How To Diagnose/Debug a Portal One-Off Patch Installation?
Applies to:
Portal - Version: 10.1.2.0 to 10.1.4 - Release: 10gR2 to
Information in this document applies to any platform.
Goal
How To Diagnose/Debug a Portal One-Off Patch Installation?
This note helps to provide extra information, while attempting to apply a one-off patch to the Application Server product stack, in particular to the Oracle Portal product.
Solution
Overview
Oracle Portal patches can come in two forms:
* Portal Repository one-off patches - patches which will update the Portal Database
* Portal Midtier one-off patches - patches which will update files in the Midtier Oracle Home
The very first thing is to read very carefully the README file which comes within the zip file from the patch - to make sure all pre-requisites are satisfied and that all the steps are carefully reviewed prior to the patch apply.
The vehicle to apply both type of patches is done via the OPatch utility. OPatch utility comes now with Oracle Configuration Manager (OCM). Kindly refer to following link for more information on OCM: http://www.oracle.com/technology/documentation/ocm.html.
To know whether the patch is a Portal Repository or a Portal Midtier one-off patch, there will be a different form of installing the one-off patch - kindly review carefully the README file of the patch and the Metalink Note:375628.1 - How to apply Portal patches to a multi-midtier environment.
For Portal Repository patches the command structure is:
./opatch apply [-silent]
[-invPtrLoc
/oraInst.loc] -ocmrf -pre -s
-p
-c
For Portal Midtier patches the command structure is:
./opatch apply [-silent]
[-invPtrLoc
/oraInst.loc] -ocmrf
Note:
The -silent flag (optional) will ignore any question asked during the patch apply - it will use the defaults.
The -invPtrLoc flag (optional) should be used in case the central inventory is NOT unique and for Unix systems only. Please review carefully Note 564192.1, in case of any doubts - it is similar for iAS ORACLE_HOMEs.
The is in the form of ::.
What to Collect or Important to Review?
1. Validate the OPatch version and the Perl version being used prior to install the one-off patch.
# Set the ORACLE_HOME to the midtier ORACLE_HOME
$ perl -version > perlversion.log
$ $ORACLE_HOME/OPatch/opatch version > opatchversion.log
Note:
Check the latest version of the OPatch by checking the following Metalink Patch 6880880 - this version comes with Oracle Configuration Manager (OCM).
The OPatch is platform dependant and the version to be chosen is 10.1.0.0.0 for iAS 10.1.2.x as the database client is a 10.1.x client.
2. Validate the (shared or not) central inventory. Read carefully the Note:564192.1 - FAQs on Central Inventory and Oracle Home Inventory (Local Inventory) in Oracle RDBMS.
For Unix:
$ cat
/oraInst.loc > central_inv.log
Zip up the Local and Central inventory directories:
Local : $ORACLE_HOME/inventory -- where you are trying to apply the patch (midtier) -- local.zip
Central :
-- given by the above command -- central.zip
For Windows:
Kindly supply the value of the registry key in a file named : central_inv.log
\\HKEY_LOCAL_MACHINE\\Software\Oracle\inst_loc
Zip up the Local and Central inventory directories:
Local : %ORACLE_HOME%/inventory -- where you are trying to apply the patch (midtier) -- local.zip
Central :
-- the value taken within the Windows registry -- central.zip
3. In case the patch is a Portal Repository one-off patch it is needed to setup the right environment variable as described within the Metalink Note 316775.1 - Installing Portal patches with OPATCH on Unix environments completes successfully but the patches are not installed.
4. In case there are problems with the one-off patch apply, please set up the following environment variables as they will give extra information to Oracle Support on the one-off patch apply:
# Set the OPATCH_DEBUG and PERL_DL_DEBUG environment variables
$ export OPATCH_DEBUG=true
$ export PERL_DL_DEBUG=1
$ env > opatchenv.log
5. In case the patch is a Portal Repository one-off patch, validate what is the service_name from the database. In SQL*Plus as any DBA user onto the database:-
SQL> spool servicename.log
SQL> show parameter service_names
SQL> spool off
SQL> exit
6. In case this is the very first time you are using OPatch with OCM, then you'll need to create a response (.rsp) file in order to run the opatch command in -silent mode as following:-
$ cd $ORACLE_HOME/OPatch
$ ./ocm/bin/emocmrsp
Example for the usage of the -ocmrf flag ():
opatch ... -ocmrf /usr/oracle/midtier/OPatch/ocm.rsp ...
Note:
The response file (ocm.rsp) will be later used by the opatch utlity to apply any Portal patch (midtier or repository patch).
7. Apply the one-off patch as described within the README file of the patch:
For Portal Repository patches the command structure is:
$ cd $ORACLE_HOME/OPatch
$ ./opatch apply [-silent]
[-invPtrLoc
/oraInst.loc] -ocmrf -pre -s
-p
-c
For Portal Midtier patches the command structure is:
$ cd $ORACLE_HOME/OPatch
$ ./opatch apply [-silent]
[-invPtrLoc
/oraInst.loc] -ocmrf
Note:
1. The order of the -ocmrf flag is important! It should come after the -silent and/or -invPtrLoc flag!
2. The run of the patch will generate a file onto:
$ORACLE_HOME/.patch_storage//Apply__DD-MM-YYYY_HH-MI-SS.log
8. Validate the OPatch inventory as it will help to check not only the patches already installed, but to validate all the Oracle Application Server components.
$ cd $ORACLE_HOME/OPatch
$ ./opatch lsinventory -detail [-invPtrLoc
/oraInst.loc] > opatchdetails.log
Note:
Careful with the ORACLE_HOME which you are providing the opatchdetails.log, eg, this must be the one where you are about to install the patch or where you've installed it already. This should be seen within the opatchdetails log as seen below:
(...)
Oracle recommends you to use the latest OPatch version
and read the OPatch documentation available in the OPatch/docs
directory for usage. For information about the latest OPatch and
other support-related issues, refer to document ID 293369.1
available on My Oracle Support (https://myoraclesupport.oracle.com)
Oracle Home : /opt/product/1012/midtier
Oracle Home Inventory : /opt/product/1012/midtier/inventory
Central Inventory : /opt/product/1012/inventory
from : /etc/oraInst.loc
OUI location : /opt/product/1012/midtier/oui
OUI shared library : /opt/product/1012/midtier/oui/lib/linux/liboraInstaller.so
Java location : /opt/product/1012/midtier/jre/1.4.2/bin/java
Log file location : /opt/product/1012/midtier/.patch_storage/patch ID/*.log
(...)
9. In case the patch is a Portal Repository one-off patch, validate whether the patch got installed or not. In SQL*Plus as PORTAL onto the database:
SQL> set pagesize 9999
SQL> set linesize 128
SQL> spool repospatchcheck.log
SQL> select * from WWC_VERSION$;
SQL> select * from WWUTL_PATCH$;
SQL> select * from WWUTL_PATCHLOG$;
SQL> spool off
SQL> exit
Validate also the following file:
$ORACLE_HOME/portal/oneoffs/patch.log
10. In case the patch is a Portal Repository one-off patch and the query from point 9 doesn't return the patch being applied, then attempt to install the one-off patch by using Portal PTLPATCH utility.
$ cd $ORACLE_HOME/portal/patch/oneoffs
$ ./ptlpatch.csh -z P_PATCHBUNDLE.zip \
-s portal -p
\
-c :: \
> ptlpatch_.log
Note: After this point, make sure point 9 is redone.
Important Information to Supply to Oracle Support
It is important to supply to Oracle Support all the contained information from this Note. Depending on the type of one-off patch to be installed please kindly supply the following information:
Step #
Portal Midtier one-off patch
Portal Repository one-off patch
#1
perlversion.log & opatchversion.log
perlversion.log & opatchversion.log
#2
central_inv.log , local.zip & central.zip
central_inv.log , local.zip & central.zip
#4
opatchenv.log
opatchenv.log
#5
- - - - - - - - - -
servicename.log
#6
Apply__DD-MM-YYYY_HH-MI-SS.log
Apply__DD-MM-YYYY_HH-MI-SS.logApply__DD-MM-YYYY_HH-MI-SS.log
#7
ocm.rsp
ocm.rsp
#8
opatchdetails.log
opatchdetails.log
#9
- - - - - - - - - -
repospatchcheck.log & patch.log
#10
- - - - - - - - - -
ptlpatch_.log


如何判断/调试临时补丁的安装?

应用:

Portal - Version: 10.1.2.0 to 10.1.4 - Release: 10gR2 to


本文档的信息可以运用到任何平台

目标

如何判断/调试临时补丁的安装?

在将临时补丁应用到服务器产品堆时,特别是 应用到Oracle Portal产品,这些注解能够提供额外的信息

解决方案

概述

Oracle Portal补丁能在两种形式中起作用

* Portal Repository one-off patches - patches which will update the Portal Database
* Portal Midtier one-off patches - patches which will update files in the Midtier Oracle Home


第一件事是要认真的阅读README文件在压缩文件内的补丁,确保满足所有的先决条件,并且保证在申请补丁之前所有的步骤都认真检查了的

申请补丁类型的媒介是通过OPatch实用工具完成的。OPatch实用工具来自于Oracle配置管理器,参考以下链接能获取更多关于OCM的信息:http://www.oracle.com/technology/documentation/ocm.html.

有个不同形式的安装临时补丁的方法,可以知道补丁是一个存储库补丁还是一个Midtier临时补丁。仔细回顾补丁的README文件和Metalink Note:375628.1,如何将补丁应用到多种midtier环境中

存储库补丁的指令结构是:

./opatch apply [-silent]
[-invPtrLoc
/oraInst.loc] -ocmrf -pre -s
-p
-c


Midtier补丁的指令结构是:

./opatch apply [-silent]
[-invPtrLoc
/oraInst.loc] -ocmrf


 注释:

silent flag 将会忽略任何在申请补丁的过程中所问到的问题,它将会实用默认值

invPtrLoc flag 应该在主要的存储中实用,对于unix系统来说不是唯一的

仔细查阅注释Note 564192.1,毫无疑问,它是和 iAS ORACLE_HOMEs类似的

收集或者回顾一些重要的知识:

1.验证Opatch版本,之前的版本用来安装临时补丁

# Set the ORACLE_HOME to the midtier ORACLE_HOME
$ perl -version > perlversion.log
$ $ORACLE_HOME/OPatch/opatch version > opatchversion.log


注释:

通过检查以下的Metalink Patch 6880880 来检查Opatch的最新版本

该版本和Oracle配置管理器绑定

Opatch平台版本选择的是 10.1.0.0.0  iAS 是10.1.2.x,因为数据库的客户端是一个 10.1.x 的客户端

2.确认是否共享主要内存。仔细阅读注释564192.1关于在 Oracle RDBMS里主要内存和本地内存的问题和解答

对于unix系统:

$ cat
/oraInst.loc > central_inv.log


压缩本地的和主要内存目录

本地:$ORACLE_HOME/inventory --申请补丁的位置--local.zip

主要的:-- central.zip

对于windows系统:

在central_inv.log文件里提供注册码的值:\\HKEY_LOCAL_MACHINE\\Software\Oracle\inst_loc

    压缩本地和主要内存目录:

本地:%ORACLE_HOME%/inventory --申请补丁的位置--local.zip

主要的:在windows内部的注册码的值--central.zip

3.如果补丁是存储库临时补丁的话,它需要在安装正确的环境变量和Metalink Note 316775.1 描述的一样--在unix环境下能正确安装有OPATCH得补丁,但是一般的补丁却不能安装

4。在申请临时补丁出现问题时,要先设置以下环境变量,因为他们会提供额外的信息区支持临时补丁的申请

# Set the OPATCH_DEBUG and PERL_DL_DEBUG environment variables
$ export OPATCH_DEBUG=true
$ export PERL_DL_DEBUG=1
$ env > opatchenv.log


5.如果是存储库临时补丁,在数据库里确认服务器的名字

SQL> spool servicename.log
SQL> show parameter service_names
SQL> spool off
SQL> exit


6.如果是第一次使用OPatch,需要先创建一个响应文件来运行opatch指令--silent mode 如下:

$ cd $ORACLE_HOME/OPatch
$ ./ocm/bin/emocmrsp


the -ocmrf flag ()的用法:

opatch ... -ocmrf /usr/oracle/midtier/OPatch/ocm.rsp ...


注释:

opatch实例会使用响应文件来申请任何补丁

7.申请和README文件里描述一样的补丁:

存储库补丁的指令结构是:

$ cd $ORACLE_HOME/OPatch
$ ./opatch apply [-silent]
[-invPtrLoc
/oraInst.loc] -ocmrf -pre -s
-p
-c


Midtier补丁的指令结构是:

$ cd $ORACLE_HOME/OPatch
$ ./opatch apply [-silent]
[-invPtrLoc
/oraInst.loc] -ocmrf


注释:

1. -ocmrf flag 的次序很重要,它应该在 -silent and/或者 -invPtrLoc flag之后

2.运行补丁会产生一个映射文件:

$ORACLE_HOME/.patch_storage//Apply__DD-MM-YYYY_HH-MI-SS.log


8.确认OPatch的内存,它不仅会帮助你检查补丁是否被安装还会确认所有的的Oracle应用服务器组件

$ cd $ORACLE_HOME/OPatch
$ ./opatch lsinventory -detail [-invPtrLoc
/oraInst.loc] > opatchdetails.log


注释:

要注意ORACLE_HOME变量,它会提供 opatchdetails.log等等。在即将安装补丁的地方或者已经安装补丁的地方,它必须是唯一的,在以下opatchdetails log 里可以看到:

(...)


Oracle推荐使用最新版本的OPatch,在 OPatch/docs目录阅读可利用的OPatch文件编制。关于最新的OPatch和其他技术支持相关的问题信息可以参考文档293369.1(https://myoraclesupport.oracle.com)

Oracle Home : /opt/product/1012/midtier
Oracle Home Inventory : /opt/product/1012/midtier/inventory
Central Inventory : /opt/product/1012/inventory
from : /etc/oraInst.loc
OUI location : /opt/product/1012/midtier/oui
OUI shared library : /opt/product/1012/midtier/oui/lib/linux/liboraInstaller.so
Java location : /opt/product/1012/midtier/jre/1.4.2/bin/java
Log file location : /opt/product/1012/midtier/.patch_storage/patch ID/*.log
(...)


9.如果是存储库临时补丁,先确认补丁是否安装

SQL> set pagesize 9999
SQL> set linesize 128
SQL> spool repospatchcheck.log
SQL> select * from WWC_VERSION$;
SQL> select * from WWUTL_PATCH$;
SQL> select * from WWUTL_PATCHLOG$;
SQL> spool off
SQL> exit


也要确认以下文件:

$ORACLE_HOME/portal/oneoffs/patch.log


10.如果是存储库临时补丁,并且对地9点还有疑问的话,不要返回正在申请的补丁,尝试着通过使用PTLPATCH 实例俩安装临时补丁

$ cd $ORACLE_HOME/portal/patch/oneoffs
$ ./ptlpatch.csh -z P_PATCHBUNDLE.zip \
-s portal -p
\
-c :: \
> ptlpatch_.log


注释:在第10之后要确保第9已经重新被执行

提供Oracle支持的重要信息

提供Oracle支持所有从注释里获取的信息是很重要的。根据临时补丁的类型来安装。提供以下信息:

Step #
Portal Midtier one-off patch
Portal Repository one-off patch
#1
perlversion.log & opatchversion.log
perlversion.log & opatchversion.log
#2
central_inv.log , local.zip & central.zip
central_inv.log , local.zip & central.zip
#4
opatchenv.log
opatchenv.log
#5
- - - - - - - - - -
servicename.log
#6
Apply__DD-MM-YYYY_HH-MI-SS.log
Apply__DD-MM-YYYY_HH-MI-SS.logApply__DD-MM-YYYY_HH-MI-SS.log
#7
ocm.rsp
ocm.rsp
#8
opatchdetails.log
opatchdetails.log
#9
- - - - - - - - - -
repospatchcheck.log & patch.log
#10
- - - - - - - - - -
ptlpatch_.log




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论