At start of my career I was applying apps patches with couple of my colleagues ( all freshers), there was huge bunch of patches (I know everybody has to apply lot of patches initially) and we were applying patches individually one by one. Our team lead came & asked us how come you are still applying patches speed up & finish it early (You can’t afford this much downtime for patching) . One of my colleague replied look we are not doing anything its Server (Unix Machine) which is applying patches & we can’t do much . My TL said give attention what adpatch is doing & try to remove redundant steps which are repeated with each patch.
that’s where we really started looking at we realized that
In each patch adpatch is
1. Asking basic questions like , Default APPL_TOP, Log file name, ORACLE_HOME, apps password, system password
2. Compiling database at end of some patches
3. Compiling JSP at end of most of patches
4. Running maintain MRC Multiple reporting Currency in installation where MRC was configured.
5. It was by default taking number of workers as twice the CPU + 1
6. There was some thing called batchsize
Then I looked at metalink to find if there is anyway I can reduce repeated tasks and came across defaults file which I am going to discuss in subsequent pages.
Other thing I came across is merging patched via admrgpch I’ll discuss about this after defaults file may be tomorrow
You can also play with batchsize & number of workers to reduce patch timing
Using Defaults file with adpatch (Non Interactive)
How to create defaults file ?
adpatch defaultsfile=$APPL_TOP/admin/$SID/defaults.txt ( You can keep this txt file in any location of your choice)
Now abort autopatch section at point where it asks for patch directory by ctrl +c or ctrl+d
Now check if this file exists
You have to do above steps only once in an environment to create defaults file.
How to apply patches in future ?
Now any future patches you apply non interactive using defaults file like
adpatch defaultsfile=$APPL_TOP/admin/$SID/defaults.txt logfile=654321.log patchtop=/patches/654321 driver=u654321.drv interactive=no
You will see that it will apply patch by itself using defaults file , adpatch will pick APP_TOP, ORACLE_HOME information, system password and apps password from defaults file.
This will save lot of time & you can reduce your patch timing usign defaults file .
More on how to reduce patch time in coming posts …