Want to know The Truth About CPM?

02 March 2012

Stupid Programming Tricks #11 – OPatch RTM

An easier way to figure out if Essbase (and everything else) is patched

Remember the last post’s twists and turns to figure out the Essbase patch?  Oh, if only I could have been bothered to RTM.  Yes, it is sad that I still do this but there it is.

It’s so easy, even an Essbase/Planning/ODI consultant can do it

It’s right there in the documentation, in the very last section of the documentation (actually, it’s in all of the EPM patch readmes and is called Troubleshooting FAQs (this is EAS’ ReadMe but they’re all the same).  Hmm, maybe reading all the way to the end of the documentation is beyond the ability of mere non-infrastructure consultants.  It’s at least beyond me.  I feel so…dumb.  Had I simply read further in documentation, I would have seen this:

Huh?  You mean that OPatch can tell me what’s patched?  Sort of makes sense, doesn’t it?  Duh, again.

There’s a twist.  Of course.

I can’t speak to the UNIX/Linux command as my development environment is Windows, but this command looks an awful like not-Windows:

And in fact, it doesn’t work:

But you know what does?
C:\Oracle\Middleware\EPMSystem11R1\OPatch>opatch.bat lsinventory -oh c:\oracle\middleware\epmsystem11r1 -jdk c:\oracle\middleware\jdk160_21

Yup, it works.  Hurray, huzzah, three cheers for OPatch, etc.

I only need to look in the APS ReadMe to see that the patch number is 11823281.  

And what do we see in the output of opatch’s lsinventory?

Guess what?  The APS patch is applied.

NB – I had to apply that patch but of course had no idea that OPatch had the lsinventory command.  So please note that John’s Planning AMI has Essbase but not APS  

What have we learnt?

<insert whatever expletive  you wish, I am keeping this SFW>


A Wilcox said...

Why oh why do they issue us commands that are incorrect? Can they not edit/test prior to making public? Very good of you to figure out Windows syntax would work much better!

Pablo Bryan said...

Love your posts Cameron and can't wait to get my hands on the new book. On the OPatch command you can also issue the -detail in order to get much more detail. You would do something like: opatch lsinventory -detail ..... and you can see which files are affected by each patch applied.


Cameron Lackpour said...


I'm glad you like the blog -- it is definitely a labor of love. I am pretty sure it has brought me exactly zero work, so I sure am not doing it for the money. Hmm, there must be a lesson in there about tilting at windmills although my name isn't Don Quixote.

Re the book -- we are now looking at covers -- it was a very pleasurable shock to actually see one mocked up. I sort of can't believe I (and 12 others) did it.

Lastly, I'm going to have to try the -detail parameter to see what gets thrown. One thing I was kind of hoping was that OPatch would tell me, "Hey, you have patch 123456 installed which equals APS" As far as I can tell, you have to know what the patch numbers mean. But at least we can find out.


Cameron Lackpour