Reduce Patch timing in apps , defaults file, nocompilejsp , nocompiledb , merge patch

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 …

Share This Post with Your Friends over Social Media!

About the Author Atul Kumar

Oracle ACE, Author, Speaker and Founder of K21 Technologies & K21 Academy : Specialising in Design, Implement, and Trainings.

follow me on:

Leave a Comment:

Anonymous says November 15, 2006


How to specify the work number in the command line when apply patch

Atul Kumar says November 15, 2006

Thanks a lot (I would love to see name of my readers but you have full right not to disclose it at same time)

Do you mean by number of workers or any other thing ?

Anonymous says November 17, 2006

how to register.jsp pages in oracle apps in reg to frame work.i developed a application in jdeveloper and how to convert .xml into .jsp


Atul Kumar says November 17, 2006

Apologies but I don’t think I will be able to answer this .

Check in some developer forum

Anonymous says March 23, 2007

Great web site. Is there any way to move the app into maintenace mode non-interactively too? SO that I could use the crontab to shut the app down, stick the app into maint mode then use adpatch with the defaults file to apply the patches…all ovwernight?? Thanks

Atul Kumar says March 23, 2007

Here it comes

$AD_TOP/patch/115/sql/ adsetmmd.sql

Anonymous says May 3, 2007

We first apply patches to the test menvironment. The test environment has a different APPL_TOP, apps password, system password, ORACLE_HOME…etc. I apply a patch to the test environment, do I just copy the default file to th production environment to appl it noninteractively? Looks to me the only way you can apply a patch non interactivley is if you have already applied it same machine, or if you applied it in another machine which has exact passowrd, ORACLE_HOME…etc. Am I right?

supriya says August 11, 2007

hi atul!!

what is this maintenance patch!! and how can we determine taht we need a maintenance patchand more over how can we get it

Anonymous says September 13, 2007


You can refer the metalink document(375130.1) for
How to apply patch without enabling Maintenance Mode


Add Your Reply