Search: For:
Browsing Single Category
www.dbatoolz.com ORACLE DBA Forums Solutions › Topic Id: 1204 | Permalink

APPS patching technique - the workflow

Topic ID: 1204
Created By: 2006-OCT-16 15:13:36 [Vitaliy]
Updated By: 2006-OCT-16 15:13:36 []
Status: New
Severity: Normal
Read Only: No
4460
2006-OCT-16 15:13:36
Moderator
 
 
Registered On: Mar 2006
Total Posts: 289
2006-OCT-16 15:15 Vitaliy npatch.sh 2794 Bytes    
APPS patching technique - the workflow

Lets talk about a procedural technique -- how to efficiently apply APPS 
patches.

My workflow starts with a request to apply a patch or a series of patches to 
our test system.  I immediately create a new "script" for this series of 
patches by calling it:

   001.txt
   002.txt
   ...
   00n.txt

... you get the idea ...

The script is just a step by step instructions of how to make each patch work 
on our system.  I usually follow this format:

- - - - - - - - - - APPS PATCH SCRIPT SAMPLE [002.txt] - - - - - - - - - - >

01 --------------------------
02   SERIES APPLIED TO:
03      OTST1 - 12-SEP-2006
04      OTST2 - 13-SEP-2006
05      OPROD - 13-SEP-2006
06 --------------------------
07 
08 ## 4488851 (CONS11510.2CU.9:CREDT CHCK NOT WRKING WHEN CRDT .. )
09 ## Req: RAVI
10 ## p4488851_11i_GENERIC.zip
11 ##
12 
13 [BE 2 min]
14    npatch.sh /copy/APPS_PATCHES/2006/002/4488851 4 yes yes
15 
16 [MT 1 min]
17    npatch.sh /u01/app/applmgr/APPS_PATCHES/2006/002/4488851 2 yes yes
18 
19 
20 ## 5162862 (ROI Preprocessor Enhancement On Header ...)
21 ## Req: MADHUR
22 ## p5162862_11i_GENERIC.zip
23 ##
24 
25 [BE 3 min]
26    npatch.sh /copy/APPS_PATCHES/2006/002/5162862 4 yes yes
27 
28 [MT 1 min]
29    npatch.sh /u01/app/applmgr/APPS_PATCHES/2006/002/5162862 2 yes yes
30 

< - - - - - - - - - - - APPS PATCH SCRIPT SAMPLE [002.txt] - - - - - - - - - -

Lets go over line by line of the above script:

01-06: the dates and SID names of where this series was applied to

   08: a patch detail, it's number and description
   09: the requestor of the patch
   10: patch zip filename

   13: BE stands for back-end (CM/ADMIN host) -- it took 2 minutes to apply
   14: the command used to apply this patch (see npatch.sh description below)

   16: MT stands for middle-tier (FORM/WEB host) -- it took 1 minute to apply
   17: the command used to apply this patch

20-29: similar details for a second patch in the series (patch# 5162862)

I use a custom script called npatch.sh to apply majority of our patches.  It's 
very simple wrapper shell script that simplifies calling adpatch, here's what a 
typical session looks like:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

genesis.applmgr->npatch.sh /copy/APPS_PATCHES/2006/002/5162862 4 yes yes


PATCHTOP=/copy/APPS_PATCHES/2006/002/5162862
WORKERS=4
INTERACTIVE=yes
HOTPATCH=yes
PATCH=5162862
DRIVER=u5162862.drv
DEFFILE=/u02/app/applmgr/11.5/admin/OTST2/def.txt



will call adpatch with the following:

adpatch defaultsfile=/u02/app/applmgr/11.5/admin/OTST2/def.txt \
        logfile=all_5162862.log \
        patchtop=/copy/APPS_PATCHES/2006/002/5162862 \
        driver=u5162862.drv \
        workers=4 \
        interactive=yes \
        options=novalidate,hotpatch

Do you want to call adpatch?  Y or N:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

As you can see npatch.sh simply builds a call to adpatch then asks if you would 
like to continue.  There are couple of parameters that it takes:

genesis.applmgr->npatch.sh

--------------------------------------------------------------
WARNING:
        this script is designed to run u<PATCH>.drv drivers ONLY!
        to apply c,d,g drivers use rpatch.sh or bpatch.sh
--------------------------------------------------------------

USAGE:
   npatch.sh <PATCH_DIR> <WORKERS> <INTERACTIVE> <HOTPATCH>

   INTERACTIVE is an optional parameter [DEFAULT=no]
   HOTPATCH is an optional parameter [DEFAULT=no]

EXAMPLE:
   npatch.sh /u02/app/applmgr/11i_upgrade/2005/002/4057971 14 yes yes

   in this example the driver will be:
          /u02/app/applmgr/11i_upgrade/2005/002/4057971/u4057971.drv

--------------------------------------------------------------

CONCLUSION
-----------

By having a clear step-by-step instructions (script) for each series of patches 
you can easily get back to a series of patches even if a project gets postponed 
by few weeks or even months.