Focus On Oracle

Installing, Backup & Recovery, Performance Tuning,
Troubleshooting, Upgrading, Patching


当前位置: 首页 » 技术文章 » Oracle EBS

adpatch on EBS R12.1

--本文大部分内容引自朱龙春《ERP DBA实践指南》

AutoPatch是一个自动完成多种补丁工作的工具,只能用于Oracle Applications Server、Oracle Development Tools和应用模块产品补丁,不能用于Oracle应用系统数据库层。

1.工作原理
AutoPatch首先验证放在PATCH_TOP下的Patch driver files,对比要进行的补丁文件和原来文件的版本,如果是比原来文件还旧的版本,AutoPatch就不会复制。在替换一个文件前,会自动备份一个副本到子目录中,然后PATCH_TOP复制新文件到产品目录。如果补丁文件是一个C对象模块,AutoPatch会自动Relink相关的Oracle库文件;如果是要更新到特殊的Driver,Checkfile特性会确认唯一性。如果是打一个普通的Driver补丁,会产生Forms、Reports或者Message文件,补丁记录会把信息更新到数据库中。

2.打adpatch的一般过程
    00.执行前置健康检查,包含应用、数据库、URL、WF组件、有效用户、无效对象等,并通知用户维护时间开始

无效对象
set lines 200 pages 50000
col object_name format a30
col owner format a20
select owner, object_name, object_type,status from dba_objects where status = 'INVALID';

WF组件
set linesize 120
set pagesize 50
column COMPONENT_NAME format a45
column STARTUP_MODE format a15
column COMPONENT_STATUS format a16
select fsc.COMPONENT_NAME,fsc.STARTUP_MODE,fsc.COMPONENT_STATUS from APPS.FND_CONCURRENT_QUEUES_VL fcq,fnd_svc_components fsc where fsc.concurrent_queue_id = fcq.concurrent_queue_id(+) order by COMPONENT_STATUS,STARTUP_MODE,COMPONENT_NAME;

    01.应用系统用户登录到服务器中,例如applmgr
    02.执行应用系统的环境变量. 如${ORACLE_BASE}/apps/apps_st/appl/APPS${CONTEXT_FILE}.env
    03.确认有足够的空间,APPLTEMP/APPLTMP_REPORT_TMPS至少要有50MB的空间
    04.复制补丁文件到PATCH_TOP目录下
    05.仔细研读Readme文件的每个细节
    06.备份可能被覆盖的文件
    07.确认有一个最近备份过的可用的系统全备份
    08.确认所有用户都正常退出Oracle电子商务套件
    09.关闭应用层所有服务adstpall.sh apps/apps_passwd
    10.切换应用系统到维护模式sqlplus apps/apps_passwd @$AD_TOP/patch/115/sql/adsetmmd.sql ENABLE
    11.执行AutoPatch(执行Readme文件规定的操作步骤)
    12.如果Readme文件中有需要手动执行的步骤,则手动执行
    13.仔细查看相关的几个Log、OutPut和Restart文件
    14.删掉一些确定不再用的文件
    15.如果Readme文件中有特殊要求,需要更新MLS
    16.对数据库的一些操作,可能会引起SGA的增加,需要注意
    17.切换到非维护模式sqlplus apps/apps_passwd @$AD_TOP/patch/115/sql/adsetmmd.sql DISABLE
    18.执行后置健康检查,包含应用、数据库、URL、WF组件、有效用户、无效对象等
    19.重启服务器所有进程adsrtal.sh apps/apps_passwd
    20.通知用户维护时间结束

注意:把补丁文件放到PATCH_TOP里面,通过设置BatchSize的大小以及Worker的数量来提高性能;安装过程中可能有失败的情况,可能需要restart

3.日志文件
主要有以下两个最重要的日志文件:
    ◇ adpatch.log:一般放在APPL_TOP/admin/<SID>/log,默认的名字是adpatch.log。建议每次打补丁补丁的时候用对应的补丁编号+语言作为日志名字。
    ◇ adpatch.lgi: 这是一个信息日志文件,例如包含一些由于问题没有被打上的文件并列出这些文件的名字。系统会随着adpatch.log的名字自动产生adpatch.lgi

另外还有adrelink.log、adlibout.log、adlibin.log、adwork.log

4.补丁历史记录管理
补丁历史信息数据记录了补丁应用的结果,据此可以查询当前系统什么时候应用了哪些补丁及其版本等信息。
    ◇ 记录了补丁历史信息数据库的信息特性
    ◇ 可以通过查询数据库中跟补丁历史数据相关的表比如ad_applied_patches等,生成补丁历史数据报表
Oracle应用默认医用此功能。如果想了解生产环境已经安装的补丁列表,可以通过以下SQL查询:
select patch_name from apps.ad_applied_patches;
select b.bug_number, b.language, to_char(b.LAST_UPDATE_DATE, 'YYYY-MM-DD HH24:MI:SS') Last_update from apps.ad_bugs b where bug_number='&a';

5. shared_appltop distributed adpatch
#erpapp1
cd /R12/SEED/patch/20319158
adpatch patchtop=/R12/SEED/patch/20319158 driver=u20319158.drv logfile=u20319158_US.log workers=40 localworkers=20

batch 10000

#erpapp2
adctrl distributed=y
Enter the worker range: 21-40

6.Merge Multi-patch
cd /R12/SEED/patch/task_num
mkdir source
mkdir destination
mv unzip_patches to source
cd ..
admrgpch -s /R12/SEED/patch/task_num/source -d /R12/SEED/patch/task_num/destination -merge_name merge99

关键词:adpatch ebs 

相关文章

EBS跨平台迁移与传输表空间(TTS)
Oracle EBS中文MOS文档列表
GoldenGate在EBS环境中的认证
Oracle EBS R12.1使用11gR2物理备库实现业务连续性-第3节:准备主库以进行备库创建
Oracle EBS R12.1使用11gR2物理备库实现业务连续性-第2节:开始之前
Oracle EBS R12.1使用11gR2物理备库实现业务连续性-第1节:概述
将EBS R12报表载入到Active Data Guard实例
adpatch on EBS R12.1
EBS中用于clone创建数据库的脚本auclondb.sql

联系我们

韩朝阳



    Phone:186-9589-1286

    E-mail:ohsdba@qq.com

    微  信: ohsdba


电话(186-9589-1286)

QQ(375349564)

微信(ohsdba)


常用链接

Oracle
eDelivery
My Oracle Support

Exadata 12.1 Document

Exadata 12.2 Document

Oracle 11gR2 Document

Oracle 12cR1 Document

Oracle 12cR2 Document

GoldenGate 12c

Oracle Fusion Middleware

Mysql Document

PostgreSQL

Python

github

sourceforge



Top
Cell186-9589-1286
QQ 375349564
E-mail ohsdba@qq.com