An interesting one today; a Discoverer Plus Workbook called via an eBusiness Suite Menu errored out with:
OracleBI Discoverer: "Contact with the Discoverer Server has been lost. To continue your work, please restart Discoverer Plus. If this problem persists, please contact your Oracle Application Server administrator."
Doh! Who's that Application Server administrator ... oh! me :-(
Attempting to expand the workbook, after going directly into Discoverer Plus errors with:
"This workbook cannot be expanded".
Hmm, okay, let's look at the Java Console:
Reading bytes from input stream Unmarshalling response Session ID:2008111408252618857 BI Beans Graph version [3.2.3.0.37] DiscoApplet[0]: Error received by GlobalStatusListener.workerFailed() in SessionUI.java DiscoNetworkException - Nested exception: org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 208 completed: Maybe DiscoNetworkException - Nested exception: org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 208 completed: Maybe org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 208 completed: Maybe at com.sun.corba.se.internal.iiop.IIOPConnection.purge_calls(IIOPConnection.java:438) at com.sun.corba.se.internal.iiop.ReaderThread.run(ReaderThread.java:70) at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown Source) at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source) at sun.rmi.server.UnicastRef.invoke(Unknown Source) at oracle.disco.remote.rmi.serverbase.RMISessionBase_Stub.sendRecieveData(Unknown Source) at oracle.disco.model.corbaserver.ModelInterface.sendRecieveData(Unknown Source) at oracle.disco.model.corbaserver.ModelInterface.SendReceiveData(Unknown Source) at oracle.disco.model.corbaserver.serverrequest.DsrOpenWorkbook.xmlUpdateServer(Unknown Source) at oracle.disco.model.corbaserver.serverrequest.DsrCorbaXML.corbaUpdateServer(Unknown Source) at oracle.disco.model.corbaserver.serverrequest.DsrGeneralCorbaXML.updateServer(Unknown Source)
Ouch! Sounds like it hurts!
A quick blast through Metalink (oops MOS - My Oracle Support) and a bunch of old bugs later, not looking promising, however there's one major clue - the problem is only occurring for some Users. Okay, lets do a side by side comparison of Profile Options as a first guess:
User Level Profile Option Value Comparison Side by Side
select * from ( with prof_di as ( select 'USER' level_name, fu.user_name level_value, fpo.profile_option_id, fpot.user_profile_option_name, fpo.profile_option_name, fpov.profile_option_value from fnd_user fu, fnd_profile_options fpo, fnd_profile_option_values fpov, fnd_profile_options_tl fpot where fu.user_id = fpov.level_value and fpo.profile_option_id = fpov.profile_option_id and fpo.profile_option_name = fpot.profile_option_name and fpot.language = 'US' and fpov.level_id = 10004 and fu.user_name = 'SYSADMIN' ), prof_gr as ( select 'USER' level_name, fu.user_name level_value, fpo.profile_option_id, fpot.user_profile_option_name, fpo.profile_option_name, fpov.profile_option_value from fnd_user fu, fnd_profile_options fpo, fnd_profile_option_values fpov, fnd_profile_options_tl fpot where fu.user_id = fpov.level_value and fpo.profile_option_id = fpov.profile_option_id and fpo.profile_option_name = fpot.profile_option_name and fpot.language = 'US' and fpov.level_id = 10004 and fu.user_name = 'ROBERTSG' ) select pd.profile_option_id , pd.user_profile_option_name , pd.profile_option_name , pd.profile_option_value d_value , pg.profile_option_value g_value , decode(pd.profile_option_value,pg.profile_option_value,'EQUAL','DIFF') status from prof_di pd , prof_gr pg where pd.profile_option_name = pg.profile_option_name (+) union select pg.profile_option_id , pg.user_profile_option_name , pg.profile_option_name , pd.profile_option_value d_value , pg.profile_option_value g_value , decode(pg.profile_option_value,pd.profile_option_value,'EQUAL','DIFF') status from prof_di pd , prof_gr pg where pg.profile_option_name = pd.profile_option_name (+) ) where status != 'EQUAL';
The query gets output that includes the following:
USER_PROFILE_OPTION_NAME PROFILE_OPTION_NAME D_VALUE G_VALUE STATUS
------------------------ ------------------- ----------- ------- ------
ICX: Territory ICX_TERRITORY NEW ZEALAND AMERICA DIFF
Whenever I see anything related to "NLS_LANG" or "Territory" the alarm bells start ringing, and sure enough - for the problem User, just a quick navigate to the "Preferences" responsibility, General Preferences and change the Territory from New Zealand to United States and we're off and laughing again! Alternatively could have looked at the ICX: Territory profile option.
What was the real underlying problem? My guess is a clash on date formats for default parameter values ... but that's left for another day.
7 comments:
Hi Gareth,
This is really nice post. I am facing similar issue with our UK users while it works fine with same userid in US. I am struggling on this issue for last two days and now i was looking at your post, did query the profiles, all we have for ICX:Territory is AMERICA.
Do you remember any thing on this, as this is a quite old issue for you.
Thanks
Sri
Hi Sri,
Are you using Disco Plus or Desktop?
Feel free to email me, plus if you haven't tried already, post your error messages on Oracle Forums in Discoverer Forum.
Regards,
Gareth
Hi Gareth
we am getting same error but in a different stituation,we are trying to schedule a workbook in discoverer plus and we get this error, granted all the scheduling previlages to the USER_ID. no clue why we are getting this error, and we are able to schedule without an problem in discoverer desktop, and the most crazy thing that i have observed is, when my desktop session is open i am able to schedule from PLUS also. sounds craazy but thats is happening. could you please share your knowledge on this issue and help us out.
thanks
Sid
Hi Sid,
Hmm, that does sound weird, but nothings impossible. Either you're correct, and there is some IP address based session initialization coming into play around that area, or alternatively it could just be coincidence and there's something else going on. I'd guess something in the area of user specific based session initialization, but tough for me to help out without access to the system to diagnose.
Regards,
Gareth
Could you please provide the solution that was followed for this issue.
Hi Smita,
For the user that is getting the error, login to EBS, navigate to "Preferences" responsibility, General Preferences and change the Territory from to United States. If it is already United States, look at the ICX: Territory profile option for that User / Responsibility and set to United States (or set to whatever you are Territory you are running).
Regards,
Gareth
Hello Gareth,
AT "Preferences" responsibility, General Preferences the Territory is already set to United States. However changed the ICX: Territory profile option for that User / Responsibility to United States but it did not solve the problem.
Actually its a new responsibility where i add existing workbook, also shared the business area but when trying to execute the report through my user firstly it says "Workbbok cannot be expanded, Unable to open workbook" later when i close the page i get the below error
“Contact with the Discover server has been lost. To continue with your work, please restart Discoverer Plus. If this problem persists, please contact your Oracle Application Server Administrator” error message.
Regards,
Smita
Post a Comment