Sunday, March 11, 2012

OEM12c : database page personalization corruption

Few weeks ago we upgraded our Enterprise Manager from 11g to 12c.
There’s still no Peoplesoft plugin for OEM12c, even though it is planned there’s no given date yet (#1370012.1).
As I said few months ago in a previous post, in my opinion, one of the main problem with OEM12c is the supported agent. Only agent 12c, that’s a big limitation.
Since few of our plateforms do not support agent 12c, we first have had to create a dedicated 11g OMS/repository for those and move the agents to this new OMS (and repository), you could follow the note #413228.1 for more details about moving agent between different OMSs and repository.
Then we upgraded the other agents, OMS and repository to OEM12c. And to my surprise, whether it took a lot of time, everything went smoothly. At least the upgrade was much better than previous upgrade from 10gR5 to 11g.
There’re a lot of steps against the agents prior the upgrade itself, but in the end we got it. I won’t go through all the steps though, it’s not the subject here (and if it sounds tricky in the beginning, it is rather well documented here).

OEM12c revamps all the menus across the GUI, it’s some times not very easy to find out what is where. As a DBA, you can choose to make your homepage the databases page :
OEM12c_dbpage_001
You might or might not like it. If you don’t, there’s an option to personalize the view of that page. Rather useful, personally I don’t like the default preview of databases page. So, here we go :
OEM12c_dbpage_002 There’s too much wasting space on the top of the page for nothing, unfortunately that cannot be changed.
You can choose to modify the layout. Moreover, there’s an option allow you to add content, let’s try it :
OEM12c_dbpage_003 Exactly what I would like, adding a summary on a part of the databases page :
OEM12c_dbpage_004
And now what ? Error “ADFC-10009: An exception occurred during invocation of 'getData' method.” is raised, followed by an internal error. Your user and databases page are corrupted… err… for ever.
OEM12c_dbpage_005
Close the content pagelet :
OEM12c_dbpage_006
From now, where ever you click, you’ll get an error :
OEM12c_dbpage_007    
No way, close the browser, reopen it, relogin, clear the caches, internal error is always triggered. Drop and recreate the user is surprisingly even not an option, error comes back again. And since the databases page has been choose has the homepage, there’s no way to connect anymore for my user : 
OEM12c_dbpage_009
OEM12c_dbpage_010
OEM12c_dbpage_011  
However, if I use a direct link to any of other pages of OEM, I can connect, looks like the databases page only is corrupted. But as a DBA this is the most of interest in OEM.

At this point of time, there was nothing much in My Oracle Support to help and suggest a workaround. Just a similar bug  #1408243.1, opened since Oct’11, but nothing suggested.
I asked the question in OTN Enterprise Manager forum, and a big thanks to Leslie who helps me a lot across my thread, as well as Sushil and Daniel. Find out more here : OEM12c : ADFC-10009 after homepage personalized
Finally, following this thread, the note #1399625.1 (Personalizing or Customizing a Database Target Page Gives Error: ADFC-10009: An exception occurred) has been created on My Oracle Support and we got a workaround to make this corrupted user able to logon again on OEM. That’s really good to see that Oracle team is listening customers. The note is not entirely true in the given example (actually the paths directories of the 2 given docs are wrong), so within the thread link above, you should be able to have the fix.
UPDATE 12-MAR-2012 : the note #1399625.1 has again been updated and everything from there should work fine now.

Honestly, before this error and all the Leslie’s suggestions, I had no idea about MDS, WLST and Metadata. A lot has been learnt on my side.

I hope this will help some of you who encountered this error which puzzled me for several days.

As a side note, if you are lucky enough to have your OMS 12c on Linux, this bug is solved in OEM12c patch 1 available from Feb-2012. Otherwise you may have to wait for the Q3-2012, read to the note #1395505.1.

Enjoy,

Nicolas.