Skip to main content

Multiple database patches using opatch

During the last upgrade I had to upgrade the database but also prepare the database for R12.2 so there were a few db patches that needed to be applied. Normally with two or three patches this is not a problem. However with twenty patches this makes things a bit more monotanous. My boss came to the rescue with this little jewel.

First unzip ALL patches to $PATCH_TOP on DB tier
unzip "p*.zip" -d $PATCH_TOP

Add opatch to PATH in the $HOME/.bash_profile if not already in PATH
export PATH=$PATH:$ORACLE_HOME/Opatch

Check opatch is working
opatch lsinventory 

Apply all patches in a single command (one line)
opatch napply -silent $PATCH_TOP -id 18485835,18689530,18893947,18966843,19291380,19393542,19472320,19627012,19649152,19779059,19835133,19896336,20093776,20177858,20181016,20204035,20294666,20476776,20830911,20994102,21091055

Now all I need is to figure out how to use this in non interactive mode so that I don't have to also answer the questions in between.

Comments

Popular posts from this blog

Cancel or abort adop session

ADOP is in my opinion still pretty half baked. This is a critical tool that just isn't as intuitive as the old adpatch was. However we move with the times and get the hang of the new way of doing things. Along the way you might want to abort or cancel a patching cycling. With the two file systems and db editioning this can be a bit more to manage. I have learnt the hard way so you need to use the full cleanup after aborting a session.
adop phase=abort
adop phase=cleanup cleanup_mode=full

Creating new WLS domain ends with exit code 255

Cloning the instance I ran into this weird error. Was not sure what to do but after learning my lesson I dug through the error logs after seeing this in the adcfgclone log file.
START: Creating new WLS domain.
Running /u03/APPLYES/YES/fs2/FMW_Home/oracle_common/bin/pasteConfig.sh -javaHome /u03/APPLYES/YES/fs2/EBSapps/comn/util/jdk64 -al /u03/APPLYES/YES/fs2/EBSapps/comn/clone/FMW/WLS/EBSdomain.jar -tdl /u03/APPLYES/YES/fs2/FMW_Home/user_projects/domains/EBS_domain_YES -tmw /u03/APPLYES/YES/fs2/FMW_Home -mpl /u03/APPLYES/YES/fs2/EBSapps/comn/clone/FMW/WLS/plan/moveplan.xml -ldl /u03/APPLYES/YES/fs2/inst/apps/YES_erpapyes/admin/log/clone/wlsT2PApply -silent true -debug true -domainAdminPassword /u03/APPLYES/YES/fs2/EBSapps/comn/clone/FMW/tempinfo.txt
Script Executed in 1903 milliseconds, returning status 255
ERROR: Script failed, exit code 255

Dig a bit deeper into the log files
cd /u03/APPLYES/YES/fs2/inst/apps/YES_erpapyes/admin/log/clone/wlsT2PApply
cat CLONE2016-01-10_04-37-11PM.log

Failed to initialize the application 'EBSDataSource' due to error weblogic.application.ModuleException after FNDCPASS apps change

Started testing password changes in our clone environments. Weblogic seems to love throwing you curve balls and when I changes the apps password with the below:
FNDCPASS apps/$APPS_PASS 0 Y system/system SYSTEM APPLSYS $APPS_PASS
I was not able to start the weblogic managed servers. A look in the log an I found this:

weblogic.application.ModuleException:
        at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:327)
        at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)
        at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:517)
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
        at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:159)
        at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:45)
        at weblogic.application.internal.BaseDep…