Tuesday 29 May 2012

Step by Step Installation Guide for SOA 11g

Download all the software to get started.

  1. Oracle Database OracleXEUniv.exe
  2. WebLogic Server  wls1035_oepe111172_win32.exe
  3. Repository Creation Utility  ofm_rcu_win_11.1.1.5.0_disk1_1of1.zip
  4. SOA Suite  ofm_soa_generic_11.1.1.5.0_disk1_1of2.zip, ofm_soa_generic_11.1.1.5.0_disk1_2of2.zip
  5. OSB  ofm_osb_generic_11.1.1.5.0_disk1_1of1.zip

Oracle Database Setup


This is the first step towards Installation of SOA Suite.

For this you need to have anyone of following versions but I will be using Oracle XE Universal database version 10.2.0.1 as it is already installed on my machine  
                   i. Oracle XE Universal database version 10.2.0.1
                  ii. Oracle 10g database version 10.2.0.4+
                 iii. Oracle 11g database version 11.1.0.7+  


Note: You can not use any other database version in 11gR1 (certification of additional database is on the road map). Specifically, you cannot use XE Standard, It must be Universal.  


Note: When you are using XE, you will see a warning when you install the database schema that this database version is too old. You can safely Ignore this warning as it applies only to production environments.

Once you are done with Installation of Oracle XE, you must update database parameters.
Set the processes parameter to >=500 using the following instructions.
Login to sqlplus with sysdba and run following commands

sqlplus connect sys as sysdba
SQL> show parameter session
SQL> show parameter processes
SQL> alter system reset sessions scope=spfile sid='*';
SQL> alter system set processes=500 scope=spfile;
SQL> shutdown immediate
SQL> startup
SQL> show parameter session


SQL> show parameter processes

Schema Configuration 

Note: If you want to use Oracle XE as your database, you need to set the RCU_JDBC_TRIM_BLOCKS environment variable to TRUE *prior* to running RCU

1. To create the new schema, unzip ofm_rcu_win_11.1.1.5.0_disk1_1of1.zip navigate to rcuHome\bin and open a command window and run rcu.bat

2. The bat command returns to the prompt immediately and, after a few seconds, the Repository Creation Utility opens (if you just ran the utility to drop the schema, it opens the second time much more quickly).

3. On the Welcome screen, click on Next..
4. Select Create and click on Next.
5. Enter the database information.
6. Click on Next.
7. If you are using XE, you will see a warning at this point that this version is too old. You can safely ignore this warning as it applies only to production environments.

Monday 14 May 2012

Root cause of ServletException java.lang.AssertionError: CurrencyKey not preserved


After finishing up with the installation of AIA on SOA 11g when I access AIA home I was disappointed to see empty tabs of AIA including Project Life Cycle, CAVA, ect. When I check server log file I found following big error log.. which says....

Referer: http://localhost:7001/AIA/faces/oracle/apps/aia/home/ui/page/Home.jspx?_afrWindowMode=0&_afrLoop=8046694499161&_adf.ctrl-state=1b2migk5rh_9
Cookie: JSESSIONID=82k3PwvbRfLGCv3hGL5rK2sHQPJlzsWyBSmylvLLRptRhcmjS1T2!273321565; ADMINCONSOLESESSION=LMKjPwnCf10njbLYhNKwbPFGHX7cW2L94zgT7TC1jyYhJrJpyMyM!273321565
Content-Type: application/x-www-form-urlencoded
Content-Length: 263

]] Root cause of ServletException.
java.lang.AssertionError: CurrencyKey not preserved
    at org.apache.myfaces.trinidad.component.UIXCollection.encodeEnd(UIXCollection.java:540)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:937)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:399)
    at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:2633)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelStretchLayoutRenderer.encodeCenterFacet(PanelStretchLayoutRenderer.java:769)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelStretchLayoutRenderer._encodeCenterPane(PanelStretchLayoutRenderer.java:1140)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelStretchLayoutRenderer._encodeMiddlePanes(PanelStretchLayoutRenderer.java:348)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelStretchLayoutRenderer.encodeAll(PanelStretchLayoutRenderer.java:313)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1396)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:767)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:937)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:399)
    at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:2633)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelStretchLayoutRenderer.encodeTopFacet(PanelStretchLayoutRenderer.java:781)

Solution
For this we need to update your Environment file which is available at following location
  
  <MiddlwareHome>/user_projects/domains/<Domainname>/bin/setSOADomainEnv.cmd  
                                                               OR
<MiddlwareHome>/user_projects/domains/<Domainname>/bin/setSOADomainEnv.sh 



set EXTRA_JAVA_PROPERTIES=%EXTRA_JAVA_PROPERTIES% -da:org.apache.myfaces.trinidad.component.UIXCollection
 
and restart the server... 
Now tabs will be successfully visible with no error

Sunday 13 May 2012

Node Manager not reachable for machine "Local Machine", please ensure node manager service is running and port 5556

 While running Installer for Oracle AIA on local machine I faced following error
"Node Manager not reachable for machine "Local Machine", please ensure node manager service is running and port 5556". Because I forget to start Node manager ....




Solution

To start the nodemanager, you need to browse to MiddlewareHOME\wlserver_10.3\server\bin and execute "startNodeManager.cmd".

"nodemanager.properties" will get created under "MiddlewareHOME\wlserver_10.3\common\nodemanager\" once you start the nodemanager as shown in following GUI dump




You can also check the status of nodemanager from weblogic console.
  1. Login to weblogic console.
  2. Browse to Environment -> Machines in the Domain Structure panel (located left side)
  3. Click on "LocalMachine".
  4. Click on "Monitoring" tab to know the status of nodemanager.

Wednesday 9 May 2012

MDS-01330: unable to load MDS configuration document

After successful installation  of SOA(11g) 11.1.1.5 on Oracle XE when I started the managed server I faced following exception which makes me worried.... and kept on thinking for few minutes ....do I need to reinstall everything but thanks God I got a solution.
I hope this helps to all who faced such an issue.

Exception
oracle.mds.lcm.exception.MDSLCMException: MDS-01330: unable to load MDS configuration document
MDS-01329: unable to load element "persistence-config"
MDS-01370: MetadataStore configuration for metadata-store-usage "soa-infra-store" is invalid.
ORA-04063: package body "DEV_MDS.MDS_INTERNAL_SHREDDED" has errors
ORA-06508: PL/SQL: could not find program unit being called: "DEV_MDS.MDS_INTERNAL_SHREDDED"
ORA-06512: at line 1.....



Solution   

  1. First  of all drop SOA Suite schemas and associated tablespaces using RUC. 
  2. Then go to command line (cmd) and set environment variable RCU_JDBC_TRIM_BLOCKS=TRUE
  3. Run RCU again to re-create the SOA Suite schemas and tablespace

Now restart  server and this time there will be no error associated with "MDS-01330: unable to load MDS configuration document"