Sunday, June 29, 2014

Kill System Restart Process

if you are like me who are lazy and never let their machine shutdown, you might have encountered this message saying that your shutdown will get restart in next X minutes and there is no way you can postpone the restart this time. Unfortunately, this happened to me while I was doing some critical work for my project and a restart would have put 5-6 hours behind the schedule. Initially, I accepted this as my fate, cribbing about how this will impact my schedule and timelines and ultimately wasted couple of minutes.

With only 60seconds left, I thought let's try killing this process, tried various options like shutdown /a shutdown /s, tried finding process using task manager and few more options that were on top of my head but nothing worked. Then I went to google guru for the command to stop it and this time the clock was showing only 25seconds. Luckily, I was able to find the command at 15seconds and I was able to execute it with only 5 seconds left with first two attempts failed due to my fat fingers.

Here is the command:

taskkill /im SMSCliUI.exe /f

Note: This command is case-sensitive.

Google Saved the day for me.

Saturday, June 28, 2014

MDS-00010 DuplicateRefException Issue

When one of my team mate reported me an issue saying that they not able to modify and create user in OIM and are seeing the below exception every time they click on Create User/ Modify User link in OIM:

oracle.mds.exception.MDSRuntimeException: MDS-00010: DuplicateRefException. In document /oracle/iam/ui/runtime/form/view/pages/userCreateForm.jsff there are multiple elements with the same ID _xg_pfl0

My first impression was that I am the culprit and it’s due to some of the UDF changes I did few days back and made me curse the sandbox. I hate Sandbox. However, after ransacking all the sandboxes that I have imported in OIM and not able to find the ID _xg_pf in them. I didn't even saw the /oracle/iam/ui/runtime/form/view/pages folder. I started looking at the list of configuration changes made in the environment and found out that one of my team mate has accidentally installed Web Tier in the IAM middleware instead of IDM Middleware. Due to installation of web tier installation in IAM 11g R2 Middleware, some of the library files inside $MW_HOME/oracle_common got modified which caused this issue. I tried copying all the modified folders inside $MW_HOME/oracle_commons from another environment but that didn’t worked; the OIM Admin server didn’t get started.

Here are the list of sub-directories that got modified inside the $MW_HOME/oracle_common directory:
  • bin
  • modules
  • common
  • lib
  • jlib
There were few files (I think 2) that were also modified but they were not environment specific.

I also found a note# 1615855.1 on MOS which confirms the same. However the notes tells you to run the opatch lsinventory command on $MW_HOME/oracle_common to find if any IDM component is installed in IAM but I didn’t see OUI inventory being modified. The note says the solution is to install the IDM and IAM components again but you know that’s stupid and not doable.  A file system restore has worked for us. You might need to do db restore also if you have made significant changes in database or MDS recently.

Here is the error snippet:

2013-12-04T15:41:29.938-04:00] [WLS_OIM1] [NOTIFICATION] [J2EE JSP-00008] [oracle.j2ee.jsp] [tid: [ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: xelsysadm] [ecid: 11d1def534ea1be0:67c0781c:142bf1864c8:-8000-0000000000000050,0] [APP: oracle.iam.console.identity.self-service.ear#V2.0] unable to dispatch JSP page: The following exception occurred:.[[
oracle.mds.exception.MDSRuntimeException: MDS-00010: DuplicateRefException. In document /oracle/iam/ui/runtime/form/view/pages/userCreateForm.jsff there are multiple elements with the same ID _xg_pfl0.
at oracle.mds.internal.melement.MDocument.insertMapNode(MDocument.java:2502)
at oracle.mds.internal.melement.MDocument.insertMapNode(MDocument.java:1194)
 
....
 
Cheers!