Wednesday, January 6, 2010

Installation of Oracle SOA 10.1.3.4 on Weblogic 9.2: Part 2

As discussed in my last post (Steps to install Oracle SOA 10.1.3.4 on Weblogic 9.2: Part 1) we will be moving ahead with the following topics in the second part of the above mentioned post.:


- Installation of Weblogic server 9.2 MP3
- Configuring Oracle SOA suite on Weblogic 9.2 MP3
- Installation of latest MLR patch
- Verification of Installation


4. Installation of Weblogic server 9.2 MP3


Many of the apps DBAs/SOA admins might not be familiar with Weblogic Application server.Weblogic was originally owned by BEA which was later acquired by Oracle. Post BEA acquisition Oracle has brought up its products on Weblogic. The latest Oracle Fusion Middleware 11g uses Weblogic as its Application server. As this is not the right post to talk much about Weblogic I will be coming up with exclusive Weblogic administration posts later.


Installation of Weblogic server 9.2 MP 3 is quite simple and straight. Please refer to the oracle install document for Weblogic 9.2:


All the install related documents can be obtained from the below link:
http://download.oracle.com/docs/cd/E13179_01/common/docs92/index.html


The installer provides you with two alternatives for installation ie COMPLETE and CUSTOM. You can choose COMPLETE type of installation.


In case you face issues or require the screen shots please let me know. I will be sending the screen shots via mail.






5. Configure SOA on Weblogic:


- Application of Hotpluggability patch on SOA for Weblogic:


Before configuring SOA to run on Weblogic a patch numbered 7337034(HOTPLUG: SOASUITE 10.1.3.4 ON WEBLOGIC 9.2 - CHANGES FOR HOTPLUGGABILITY) needs to be applied on the SOA home. This step is mandatory and should not be skipped. In order to apply the patch please follow the below steps:


1. On the OS level issue the command export OPATCH_PLATFORM_ID=0.This environment variable if not set leads to failure in patch application.This is one of the mandatory prerequisites of the patch.
2. Stop the SOA application using opmnctl stopall
3. Apply the patch by navigating into the unzipped patch directory and issuing the command $ORACLE_HOME/OPatch/opatch apply.(Note: ORACLE_HOME should be set to the SOA Home or the directory path where you have installed SOA Application.
4. Check if the patch was applied successfully by the issuing $ORACLE_HOME/OPatch/opatch lsinventory.


- Creation of new directory structures inside BEA_HOME:


Create the following directory structures under the BEA_HOME.These directories will hold the domain related files for the SOA domain to be created in forthcoming steps:


$BEA_HOME/user_projects/domains
$BEA_HOME/user_projects/apps


(Note: user_projects directory may not be present and you have to create it)


- Edit the SOADomain.properties file


In order to configure SOA on Weblogic we need to run certain scripts. All these scripts and associated templates and files are provided by Oracle via a patch.The patch number is 7490612 and it can be downloaded from metalink.


The Oracle install guide for SOA 10.1.3.4 with Weblogic 9.2 does not provide the number for this patch and refers to it as Weblogic_SOA10134.zip. The zip file is originally named p7490612_101340_GENERIC.zip.


Download the patch file p7490612_101340_GENERIC.zip on to any location (on the same server hosting Weblogic and SOA application) and unzip it. On unzipping the file you would get Weblogic_SOA10134 folder. Inside this folder you would get the Weblogic_SOA10134_Base folder which contains all the required templates, files, scripts etc, required to configure SOA on Weblogic.


1. Edit the SOADomain.properties file present inside Weblogic_SOA10134_Base directory. Let me describe the properties you would have to edit in the file:


# BEA_HOME is the path where Bea home directory exist.


(Dont get confused with BEA_HOME with WEBLOGIC_HOME. Both are different. BEA_HOME is the directory where multiple BEA products like Weblogic server, portal, Aqualogic etc can be installed. On the other hand Weblogic Home refers to the directory containing weblogic specific files ie $BEA_HOME/weblogic92)


BEA_HOME=/u01/bea


# WL_HOME is the path where Weblogic is exist (usually it should be under bea home directory)


WL_HOME= /u01/bea /weblogic92


# JAVA_HOME is the path of jrockit folder inside your bea directory


( Do not mention jdk150_12 in place of jrockit_150_12 as both directories exist in BEA_HOME.Weblogic 9.2 uses jrockit_150_12)




JAVA_HOME/u01/bea /weblogic92/jrockit_150_12


# Set this property to 'YES' if you wish to create SOA Server in the new domain "SOADomain" In our case we set it to yes as we don’t have any pre existing Weblogic domains.


CREATE_NEW_DOMAIN=YES


The domain home will contain all the files and folders related to the new SOA domain formed. We will discuss about Weblogic domains in our forth coming posts.


DOMAIN_HOME=/u01/bea/user_projects/domains


EXISTING_DOMAIN_NAME is the name of the existing domain where you wish to create SOA Server as a managed server


This property value should be set only when you set the CREATE_NEW_DOMAIN as NO.Hence in our case its useless as we are going to create a new domain.


EXISTING_DOMAIN_NAME= SOADomain


ADMIN_SERVER_PORT is the port where the existing domain's Admin Server is runningThis property value should be set only when you se CREATE_NEW_DOMAIN as NO. So again its of no use for us.


ADMIN_SERVER_PORT=7001


NEW_ADMIN_SERVER_PORT is the port where you wish to run the Admin Server of the SOA domain to be created newly:


NEW_ADMIN_SERVER_PORT=8001


SOA_SERVER_NAME is the name of the managed server on which SOA application will run.This managed server will be a part of the new SOA domain formed by us and will be managed by the SO domain’s admin server.
SOA_SERVER_NAME= OracleSOAServer


SOA_SERVER_PORT is the PORT where OracleSOAServer (Managed server) will be running


SOA_SERVER_PORT=8892


APPS_HOME is the path where you wish to copy your applications and adapters that are required for OracleSOAServer


APPS_HOME=/u01/bea/user_projects/apps


# SOA_HOME is the path where Oracle SOA Suite is Installed


SOA_HOME=/u01/soa_home


# DB_URL is the url to connect to ORABPEL,ORAESB and ORAWSM schemas
DB_URL=jdbc:oracle:thin:@::


Eg: DB_URL=jdbc:oracle:thin:@mydbserver.learnoracle.com:1521:aiadb


#DB_BPEL_PASSWORD is the password for ORABPEL schema in database
DB_BPEL_PASSWORD=orabpel


#DB_ESB_PASSWORD is the password for ORAESB schema in database
DB_ESB_PASSWORD=oraesb


#DB_OWSM_PASSWORD is the password for ORAWSM schema in database
DB_OWSM_PASSWORD=orawsm


#PROXY_HOST is set to true if any proxy server is existing and running.Set this to false else you would get an error during AIA installation.We will discuss in our future posts.


PROXY_SET=false


Comment the following:


#PROXY_HOST=www-proxy.us.oracle.com
#PROXY_PORT=80


Keep these parameters as they are:


SECURITY_MODEL=DDOnly
SECURITY_GROUP_NAME=SoaGroup


-Set the environment variables:


Once you are done with editing the file, save and exit from the vi editor. Set the environment variables as mentioned below. If not set the configuration script wont work:


Make the following entries to the bash_profile of the user owning the SOA/Weblogic application:


export ORACLE_HOME=/u01/soa_home
PATH=$PATH:$ORACLE_HOME/bin


export WL_HOME=/u01/bea/weblogic92
export BEA_HOME=/u01/bea
export JAVA_HOME=/u01/bea/jdk150_12


Note:


WL_HOME is the directory inside BEA_HOME where Weblogic server is installed


BEA_HOME is the directory under which all the BEA products are installed


JAVA_HOME is the jdk directories present under BEA_HOME.Dont specify the jRockit directory.


Once you are done with this export the bash by issuing the command . ./bash_profile


- Run the setup.sh script:


Once you modify the SOADomain.properties file and set the required environment variables go to the Weblogic_SOA10134/Weblogic_SOA10134_Base directory and run setup.sh script.


Note : Weblogic_SOA10134 directory is the directory obtained after unzipping patch# p7490612_101340_GENERIC.zip.


The script does the following:


1. Creates a new Weblogic Domain named SOAdomain(Name depends on what you specify in the SOADomain.properties file)


2. Creates a managed server under the newly created domain called OracleSOAserver.(Name depends on what you specify in the SOADomain.properties file)


3. Deploys Oracle SOA server 10.1.3.4 on the managed server OracleSOAserver
4. Creates and configures the required files for admin server of the new SOAdomain in order to start/stop/manage managed server OracleSOAserver.


Note: The script in between asks you for a username and password for the new domain ie SOAdomain.Provide the account details and do remember it/store it.


The script must display “BUILD SUCCESSFUL” message indicating the successful integration of SOA with Weblogic.


Once this is done you can go ahead and shut doun the oc4j processes which are no longer required.This can be done using ./opmnctl stopall command.


- Start the node manager:


The node manager process ini Weblogic is responsible for managing managed servers on behalf of the domains admin server. When you start the node manager, it creates a mapping to the SOA domain, which enables you to start and stop OracleSOA server managed server remotely using admin console.


In order to start the node manager run the startNodeManager.sh script present in the $WEBLOGIC_HOME/server/bin directory.Run the script as a background process because if you don’t do so it getts killed once you close the os session from which you ran it.This can be done by the following command:


$WEBLOGIC_HOME/server/bin/startNodeManager.sh &




The node manager sh should start without any errors displaying all its domains mappings. Though it runs fine for me on Linux 4.On Linux 5.4 we facec some issue as mentioned below:


Issue: weblogic.nodemanager.common.ConfigException: Native version is enabled but node manager native library could not be loaded


./startNodeManager.sh


+ CLASSPATH=/u01/bea/patch_weblogic923/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/u01/apps/oracle/product/bea/WLI92/jrockit_150_12/lib/tools.jar:/u01/apps/oracle/product/bea/WLI92/weblogic92/server/lib/weblogic_sp.jar:/u01/apps/oracle/product/bea/WLI92/weblogic92/server/lib/weblogic.jar:/u01/apps/oracle/product/bea/WLI92/weblogic92/server/lib/webservices.jar::/u01/apps/oracle/product/bea/WLI92
+ export CLASSPATH
+ export PATH
+ cd /u01/apps/oracle/product/bea/WLI92/weblogic92/common/nodemanager
+ set -x
+ '[' '' '!=' '' ']'
+ '[' '' '!=' '' ']'
+ /u01/bea/jrockit_150_12/bin/java -jrockit -Xms128m -Xmx256m -Xverify:none -Djava.security.policy=/u01/apps/oracle/product/bea/WLI92/weblogic92/server/lib/weblogic.policy -Dweblogic.nodemanager.javaHome=/u01/apps/oracle/product/bea/WLI92/jrockit_150_12 weblogic.NodeManager -v


weblogic.nodemanager.common.ConfigException: Native version is enabled but node manager native library could not be loaded
at weblogic.nodemanager.server.NMServerConfig.initProcessControl(NMServerConfig.java:239)


+ set +x


This issue occurred while trying to start the node manager after setup.sh script was run successfully during the Weblogic integration phase.


Resolution:


Go to $WL_HOME/common/nodemanager


Check for nodemanager.properties file


If not present make one by referring to past installations on appsnet.


Just modify the NativeVersionEnabled property to false in nodemanager.properties file, that will solve the pb. If you dont have a property in nodemanager.properties file add one.




Sample nodemanager.properties file:


#Wed Sep 16 13:40:21 IST 2009
DomainsFile=/u01/bea/weblogic92/common/nodemanager/nodemanager.domains
LogLimit=0
PropertiesVersion=9.2.3.0
javaHome=/u01/bea/jrockit_150_12
AuthenticationEnabled=true
NodeManagerHome=/u01/bea/weblogic92/common/nodemanager
JavaHome=/u01/bea/jrockit_150_12/jre
LogLevel=INFO
DomainsFileEnabled=true
StartScriptName=startWebLogic.sh ListenAddress=
NativeVersionEnabled=false
ListenPort=5556
LogToStderr=true
SecureListener=true
LogCount=1
StopScriptEnabled=false
QuitEnabled=false
LogAppend=true
StateCheckInterval=500
CrashRecoveryEnabled=false
StartScriptEnabled=false
LogFile=/u01/bea/weblogic92/common/nodemanager/nodemanager.log
LogFormatter=weblogic.nodemanager.server.LogFormatter
ListenBacklog=50




- Start weblogic server:


$BEA_HOME/user_projects/SOADomain/bin/startWebLogic.sh &


The server on starting must display “Server started in running mode”


- Start the managed server:


1. Login to Weblogic admin screen [APPLICATION_HOSTNAME]:8001/console


2. Enter username/password as the one you gave during running the setup.sh script.


3. Click on Environments->Servers->OracleSOAserver


4. Cick on control tab




5. Click on start to start the server. The server should take some 3 minutes to start.


- Verification of URLs:


Verify the BPEL, ESB & OWSM Url’s


[APPLICATION_HOSTANAME]:8892/BPELConsole
[APPLICATION_HOSTANAME]:8892/esb
[APPLICATION_HOSTNAME]:8892/ccore/Login.jsp


You can login using the same admin passwords used for Weblogic.


- Apply MLR#8 Patch:


Once your SOA on Weblogic instance is up and running you can apply the latest MLR patch available.In my case I applied MLR 8 patch.The application process is pretty simple and can be done using the readme guide.Do perform the pre and post steps mentioned in thye readme of the patch.


Hence here we complete the post. Our Oracle SOA 10.1.3.4 on Weblogic 9.2 MP3 MLR#8 instance is ready for use. The same instance will now be used for AIA 2.4 installation. I will be writing about the AIA 2.4 Installation on SOA with Weblogic in my forthcoming posts.


Please let me know if this post was helpful and what other technologies would you like to hear about.


Signing off…Happy Learning…
Soumya
Why try fitting in when I am born to stand apart….



1 comment:

  1. Bluehost is ultimately the best hosting company for any hosting plans you require.

    ReplyDelete