OPatch uses the jar utility that comes with JDK for its jar, war, and ear operations. Opatch searches for JDK inside the specified Oracle home. If the Oracle home does not have JDK, you have to use the
-jdkoption in OPatch to provide an alternate location. OPatch displays an error if there is a jar/war/ear operation and cannot locate the Java SDK location.
are you applying Optach using Command Prompt , if yes set JAVA_HOME in command prompt before applying Optach.
I am applying Optach in Linux and I have set JAVA_HOME too
initially I set java during installation for obiee 12c to /apps/app/oracle/product/fmw12c/jdk1.8.0_92
Then I upgrade it to jdk1.8.0_121 and I created a directory jdk and mv jdk1.8.0_121 to jdk so now it looks like this
I set JAVA_HOME in the environment variable to /apps/app/oracle/product/fmw12c/CDF_DEV/jdk and it works fine but giving the error as I mention before during patching
I have attached the screen shot of the problem
Also can you please just tell me how to give the -jdk option in Opatch if you can just give me some hints
Capture.PNG 3.5 K
Here is the syntax:
opatch apply <PATCHpath> -oh <ORACLE_HOME_PATH> -jre <Java path>
./opatch apply 21672441 –oh /obiee/app/oracle/product/Middleware/oracle_common -jre /obiee/app/oracle/product/Middleware/jdk1.6.0_121
based on you screenshot ,i hope the Java installation is not accessible for the user which you are using for patch apply.
This is almost right, but we just need to set the oracle_home as an environment variable and ignore the -oh on the opatch command.
Correct me if i am wrong
You need not, we can do it either by setting it as an environment variable or use -oh command. I always use -oh and it works fine.