Yesterday we looked at how to use default file so that you can reduce repetative questions asked in adpatch session each time its initiated like APPL_TOP, ORACLE_HOME confirmation. Lets check what else you can do to reduce patch time ( All these tricks & tips to reduce patch time is useful if you are applying lots of patches may be five or more )
With lot of patches adpatch compile database objects & compile JSP’s in end so if you are applying 10 patches & out of those six patches execute compile database in end so adpatch will compile database six time which is waste of resource in terms of time. If you instruct adpatch not to compile of JSP & Database objects & do it in last manually this will reduce lot of your patch timing . So lets see how to do it .
Yesterday I told that you can use defaults file like
adpatch defaultsfile=$APPL_TOP/admin/$SID/defaults.txt logfile=654321.log patchtop=/patches/654321 driver=u654321.drv interactive=no
so if you don’t want adpatch to compile database & jsp with each execution of adpatch you can use options nocompiledb & nocompilejsp
adpatch defaultsfile=$APPL_TOP/admin/$SID/defaults.txt options=nocompilejsp,nocompiledb logfile=654321.log patchtop=/patches/654321 driver=u654321.drv interactive=no
Once your patching is complete and you have applied all patches you can compile jsp & database once.
How to compile database objetcs ?
Use adadmin compile database option else
Use utlrp.sql script on database tier at $ORACLE_HOME/rdbms/admin
How to compile JSP in Apps ?
Use perl script ojspCompile.pl under $JTF_TOP/admin/scripts like
perl ojspCompile.pl –compile
Merge Patches to reduce patch timing
Another option to reduce patch timing is to use ad tool admrgpch, so lets say you have 10 patches to apply you can merge 10 patches & create single patch and apply that single patch. ( Sometime applying patches after merging may fail because of conflict in driver file so check first on test server)
create a directory lets say source_directory & put all patches which you want to merge in that & create another directory where your final single patch will come lets say destination_directory then use
admrgpch source_directory destination_directory
If there is any error in merging patch by default it will be in directory from where you are initiating admrgpch by name admrgpch.log
Apply patch from target directory via normal adpatch way.
If you are Upgrading your apps instance lets say from 11.5.8 or 11.5.9 to 11.5.10 you can use stagged APPL_TOP (ddifferent from shared APPL_TOP)
More on stagged APPL_TOP coming in near future ….
Oracle ACE, Author, Speaker and Founder of K21 Technologies & K21 Academy : Oracle Gold Partner specialising in Design, Implement, and Trainings.