Install Oracle SOA 11g (11.1.1.4.0) on SPARC 64

 

Downloads

* Go to Oracle edelivery site and search for Fusion Middleware 11g Media Pack v23 for Oracle Solaris on SPARC (64-bit).
* Download
– Oracle WebLogic Server 11gR1 (10.3.4) Generic and Coherence: V24338-01.zip
– Oracle SOA Suite 11g Patch Set 3 (11.1.1.4.0) (Part 1 of 2): V24313-01_1of2.zip
– Oracle SOA Suite 11g Patch Set 3 (11.1.1.4.0) (Part 2 of 2): V24313-01_2of2.zip
– Oracle Fusion Middleware Repository Creation Utility 11g (11.1.1.4.0) for Microsoft Windows (32-bit): V24312-01.zip

Check Versions

* Check Oracle database version. Need 10.2.0.4 and above. Also need AL32UTF8 character set support.

SQL> SELECT * FROM v$version;
 
BANNER
----------------------------------------------------------------
Oracle DATABASE 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production
CORE    10.2.0.4.0      Production
TNS FOR Solaris: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production

* Also need AL32UTF8 character set support

SQL> SELECT parameter, VALUE 
    FROM v$nls_parameters 
    WHERE parameter = 'NLS_CHARACTERSET';
 
PARAMETER            VALUE
-------------------- --------------------
NLS_CHARACTERSET     AL32UTF8

Install

Setup Env

* Login as user oracle.

# Set JAVA_HOME to jdk 1.6
export JAVA_HOME=/opt/oracle/jdk1.6.0_21
export PATH=${JAVA_HOME}/bin/sparcv9:${PATH}
export LD_LIBRARY_PATH_64=${LD_LIBRARY_PATH_64}:${JAVA_HOME}/jre/lib/sparcv9/server
 
# Used for X Windows
export PATH=/usr/openwin/bin:$PATH
 
# Set locale to UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8

Install WebLogic Server

* Unzip V24338-01.zip to obtain wls1034_generic.jar (e.g. in /opt/oracle/sw directory)
* Start installer

java -d64 -Djava.security.egd=file:/dev/./urandom -jar wls1034_generic.jar

* Click Next on the Welcome screen.
* Enter Middleware Home directory

/opt/oracle/Middleware/home_11gr1

* Bypass Register for Security Updates for now.
* Select Typical install
* Check Local JDK/Sun SDK 1.6.0_21 (/opt/oracle/jdk1.6.0_21)
* Accept default installation directories for WebLogic Server and Oracle Coherence server.

/opt/oracle/Middleware/home_11gr1/wlserver_10.3
/opt/oracle/Middleware/home_11gr1/coherence_3.6

* Review installation summary and click Next
* On Installation Complete screen, uncheck Run Qickstart, then click Done.

Create Database Schema for BAM and SOA Servers

* See this post to create database schema for BAM and SOA servers.

Install SOA

Unzip zip files

unzip V24313-01_1of2.zip
unzip V24313-01_2of2.zip
(e.g. in /opt/oracle/sw directory)

Run installer

* Start installer GUI

cd /opt/oracle/sw/soa11.1.1.4/Disk1
./runInstaller -jreLoc /opt/oracle/jdk1.6.0_21/jre

* Click Next on welcome screen
* Select Skip Software Updates
* Click Next on Prerequisite Checks
* Enter

Oracle Middleware Home: /opt/oracle/Middleware/home_11gr1
Oracle Home Directory: Oracle_SOA1

* Select WebLogic Server
* Review Installation Summary screen and
– Click Save button to save a response file
– Click Install to start install
* On Installation Complete screen,
– Click Save to save installation details
– Click Finish to end installation

Create Domains

* Start Configuration Wizard

cd /opt/oracle/Middleware/home_11gr1/Oracle_SOA1/common/bin
./config.sh -log=soa_domain.log

* Select Create a new WebLogic domain and click Next
* On Select Domain Source screen, select

Oracle BPM Suite - 11.1.1.0[Oracle_SOA1] 
Oracle SOA Suite - 11.1.1.0[Oracle_SOA1]
Oracle Enterprise Manager - 11.1.1.0[oracle_common]
Oracle Business Activity Monitoring - 11.1.1.0[Oracle_SOA1]
Oracle WSM Policy Manager - 11.1.1.0[oracle_common]
Oracle JRF  - 11.1.1.0[oracle_common]

* Enter domain name and location

Domain name: soa_domain
Domain location: /opt/oracle/Middleware/home_11gr1/user_projects/domains
Application location: /opt/oracle/Middleware/home_11gr1/user_projects/applications

* Enter Administrator user name and pass

Name: weblogic
User password: welcome1

* Select Development Mode and Sun SDK 1.6.0_21
* On Configure JDBC Component Schema screen, select ALL component schema checkboxes and enter:

Vendor Oracle
Driver: Oracle's  Driver (Thin) for Service connections; Versions:9.0.1 and later
DBMS/Service: orcl.world # Since we select Service connections driver, sid won't work
Host Name: localhost
Port: 1521
Schema Password: welcome1

* Click Next after successful testing JDBC component schema
* Leave all optional configurations unchecked.
* Click Create on Configuration Summary screen.
* Click Done.

Create boot.properties file

* Create boot.properties file for managed servers so you don’t have to type in user name and password during managed server startups.
* If installed in Development mode as we did here, boot.properties file is necessary otherwise managed servers (soa_server1 and bam_server1) won’t start and will give following errors:

Server is Running in Development Mode and Native Library(terminalio) to read the password securely from commandline is not found.

* Create boot.properties file

# create boot.properties file for soa_server1
cd /opt/oracle/Middleware/home_11gr1/user_projects/domains/soa_domain/servers
mkdir soa_server1
cd soa_server1
mkdir security
cd security
vi boot.properties
# insert content as shown below
 
# create boot.properties file for bam_server1
cd /opt/oracle/Middleware/home_11gr1/user_projects/domains/soa_domain/servers
mkdir bam_server1
cd bam_server1
mkdir security
cd security
vi boot.properties
# insert content as shown below

* boot.properties file content:

username=weblogic
password=welcome1

Include WebLogic Native Library

* Set LD_LIBRARY_PATH_64 to include WebLogic native library before starting WebLogic server. Otherwise, you’ll get “Unable to load performance pack. Using Java I/O instead” warning when starting up.

wls_home=/opt/oracle/Middleware/home_11gr1/wlserver_10.3
export LD_LIBRARY_PATH_64=${LD_LIBRARY_PATH_64}:${wls_home}/server/native/solaris/sparc64

Adjust Memory Settings

* Adjust Java memory settings in setSOADomainEnv.sh file as needed:

cd /opt/oracle/Middleware/home_11gr1/user_projects/domains/soa_domain/bin
vi setSOADomainEnv.sh
 # Adjust memory on the following lines
DEFAULT_MEM_ARGS="-Xms512m -Xmx1024m"
PORT_MEM_ARGS="-Xms512m -Xmx1024m"

* I found this setting worked for me on a 8 GB Solaris box.

DEFAULT_MEM_ARGS="-Xmx2048m -Xms1024m -XX:NewSize=448m -XX:MaxNewSize=448m -XX:SurvivorRatio=6 -XX:PermSize=256m -XX:MaxPermSize=256m"
PORT_MEM_ARGS="-Xmx2048m -Xms1024m -XX:NewSize=448m -XX:MaxNewSize=448m -XX:SurvivorRatio=6 -XX:PermSize=256m -XX:MaxPermSize=256m"

Start/Stop Servers

* Start WebLogic servers

cd /opt/oracle/Middleware/home_11gr1/user_projects/domains/soa_domain/bin
nohup ./startWebLogic.sh >> AdminServer.out 2>> AdminServer.err < /dev/null &
nohup ./startManagedWebLogic.sh soa_server1 >> soa_server1.out 2>> soa_server1.err < /dev/null &
nohup ./startManagedWebLogic.sh bam_server1 >> bam_server1.out 2>> bam_server1.err < /dev/null &

* Stop WebLogic servers

cd /opt/oracle/Middleware/home_11gr1/user_projects/domains/soa_domain/bin
./stopManagedWebLogic.sh bam_server1  >> bam_server1.out 2>> bam_server1.err < /dev/null &
./stopManagedWebLogic.sh soa_server1  >> soa_server1.out 2>> soa_server1.err < /dev/null &
./stopWebLogic.sh  >> AdminServer.out 2>> AdminServer.err < /dev/null &

* Create aliases to start/stop soa servers

soa_domain_bin_dir=/opt/oracle/Middleware/home_11gr1/user_projects/domains/soa_domain/bin
 
alias startweblogic="nohup ${soa_domain_bin_dir}/startWebLogic.sh >> ${soa_domain_bin_dir}/AdminServer.out 2>> ${soa_domain_bin_dir}/AdminServer.err < /dev/null &"
alias startsoa11g="nohup ${soa_domain_bin_dir}/startManagedWebLogic.sh soa_server1 >> ${soa_domain_bin_dir}/soa_server1.out 2>> ${soa_domain_bin_dir}/soa_server1.err < /dev/null &"
alias startbam11g="nohup ${soa_domain_bin_dir}/startManagedWebLogic.sh bam_server1 >> ${soa_domain_bin_dir}/bam_server1.out 2>> ${soa_domain_bin_dir}/bam_server1.err < /dev/null &"
 
alias stopbam11g="${soa_domain_bin_dir}/stopManagedWebLogic.sh bam_server1  >> ${soa_domain_bin_dir}/bam_server1.out 2>> ${soa_domain_bin_dir}/bam_server1.err < /dev/null &"
alias stopsoa11g="${soa_domain_bin_dir}/stopManagedWebLogic.sh soa_server1  >> ${soa_domain_bin_dir}/soa_server1.out 2>> ${soa_domain_bin_dir}/soa_server1.err < /dev/null &"
alias stopweblogic="${soa_domain_bin_dir}/stopWebLogic.sh  >> ${soa_domain_bin_dir}/AdminServer.out 2>> ${soa_domain_bin_dir}/AdminServer.err < /dev/null &"
 
alias tailweblogiclog="tail -f ${soa_domain_bin_dir}/AdminServer.out"
alias tailsoa11glog="tail -f ${soa_domain_bin_dir}/soa_server1.out"
alias tailbam11glog="tail -f ${soa_domain_bin_dir}/bam_server1.out"

Console URLs

* See this post for various console URLs

Admin Console

Disable on-demand deployment of internal applications

* Login Admin Console
* Click on soa_domain on the left panel
* Click General tab
* Un-check Enable on-demand deployment of internal applications
* Click Save button

Deinstall

Remove Domain

* Stop all processes associated with the domain.
* Remove the relevant domain entry from the “$MW_HOME/domain-registry.xml” file.

<?xml version="1.0" encoding="UTF-8"?>
<domain-registry xmlns="http://xmlns.oracle.com/weblogic/domain-registry">
  <domain location="/u01/app/oracle/middleware/user_projects/domains/soa_domain"/>
</domain-registry>

* Remove the relevant domain entry from the “$WLS_HOME/common/nodemanager/nodemanager.domains” file.

#Domains and directories created by Configuration Wizard
#Thu Aug 23 22:53:14 BST 2012
soa_domain=/u01/app/oracle/middleware/user_projects/domains/soa_domain

* Delete the “soa_domain” application and domain directories.

$ rm -Rf $MW_HOME/user_projects/applications/soa_domain
$ rm -Rf $MW_HOME/user_projects/domains/soa_domain

Deinstall SOA

Stop all WebLogic Servers

cd /opt/oracle/Middleware/home_11gr1/user_projects/domains/soa_domain/bin
./stopManagedWebLogic.sh bam_server1 
./stopManagedWebLogic.sh soa_server1 
./stopWebLogic.sh

Start deinstaller

cd /opt/oracle/Middleware/home_11gr1/Oracle_SOA1/oui/bin
./runInstaller -deinstall -jreLoc /opt/oracle/jdk1.6.0_21

* Click Next on Welcome screen
* Click Deinstall
* When warned /opt/oracle/Middleware/home_11gr1/Oracle_SOA1 will be deleted after deinstall,
– Click Yes if you want Oracle_SOA1 directory removed
– Click No if you don’t want any file in the directory
* Click Finish when done.

Remove user project domain directories

cd /opt/oracle/Middleware/home_11gr1/user_projects/domains
rm -rf soa_domain
 
cd /opt/oracle/Middleware/home_11gr1/user_projects/applications
rm -rf soa_domain

Drop Schema

* See this post to remove database schema for BAM and SOA servers.

Uninstall WebLogic

* Run uninstaller

cd /opt/oracle/Middleware/home_11gr1/utils/uninstall
./uninstall.sh
rm -rf /opt/oracle/Middleware/home_11gr1

* Remove install directory

rm -rf /opt/oracle/Middleware/home_11gr1

Issues

Unable to load performance pack. Using Java I/O instead

* Error message:

 Unable to load performance pack. Using Java I/O instead. Please ensure that a native performance library is in: '/opt/oracle/jdk1.6.0_21/jre/lib/sparcv9/server:/opt/oracle/jdk1.6.0_21/jre/lib/sparcv9:/opt/oracle/jdk1.6.0_21/jre/../lib/sparcv9:/opt/oracle/product/10.2/lib:/opt/oracle/jdk1.6.0_21/jre/lib/sparcv9/server:/usr/jdk/packages/lib/sparcv9:/lib/64:/usr/lib/64'

* Cause:
Solaris Sparc 64 native library path not included in LD_LIBRARY_PATH_64
* Fix:
Set LD_LIBRARY_PATH_64 to include native library before starting WebLogic server.

wls_home=/opt/oracle/Middleware/home_11gr1/wlserver_10.3
export LD_LIBRARY_PATH_64=${LD_LIBRARY_PATH_64}:${wls_home}/server/native/solaris/sparc64

* Note
Setting LD_LIBRARY_PATH to include native library path didn’t work. Set LD_LIBRARY_PATH_64 instead.

Native Library(terminalio) is not found

* Error message:

Server is Running in Development Mode and Native Library(terminalio) to read the password securely from commandline is not found.

* Cause:
boot.properties file not found in security folder.
* Resolution 1:
Create boot.properties file in the security folder.
* Resolution 2:
Set
JAVA_OPTIONS=-Dweblogic.managerment.allowPasswordEcho=true

Numerous database connection exceptions in stdout

* Possible cause
– This could be caused by database not in AL32UTF8 mode.
* Possible resolution
– Convert database to AL32UTF8 character set.

Could not obtain an exclusive lock to the embedded LDAP data files directory

* Error message

 <Critical> <WebLogicServer> <BEA-000362> <Server failed. Reason: Could not obtain an exclusive lock to the embedded LDAP data files directory: /opt/oracle/Middleware/home_11gr1/user_projects/domains/soa_domain/servers/soa_server1/data/ldap/ldapfiles because another WebLogic Server is already using this directory. Ensure that the first WebLogic Server is completely shutdown and restart the server.>

* Possible cause
– WebLogic or SOA managed servers are not shutdown cleanly
* Possible fix
– Remove EmbeddedLDAP.lok files
– Example

# make sure not soa processes are running
ps -ef|grep -i "soa_domain"|grep -v grep
 
# cd to soa_domain
cd /opt/oracle/Middleware/home_11gr1/user_projects/domains/soa_domain
 
# find all lok files
find . -name "*.lok" -print
./config/config.lok
./edit.lok
./servers/AdminServer/tmp/AdminServer.lok
./servers/AdminServer/data/ldap/ldapfiles/EmbeddedLDAP.lok
./servers/soa_server1/tmp/soa_server1.lok
./servers/soa_server1/data/ldap/ldapfiles/EmbeddedLDAP.lok
./servers/bam_server1/tmp/bam_server1.lok
./servers/bam_server1/data/ldap/ldapfiles/EmbeddedLDAP.lok
 
# remove all lok files
find . -name "*.lok" -print -exec rm {} \;
./config/config.lok
./edit.lok
./servers/AdminServer/tmp/AdminServer.lok
./servers/AdminServer/data/ldap/ldapfiles/EmbeddedLDAP.lok
./servers/soa_server1/tmp/soa_server1.lok
./servers/soa_server1/data/ldap/ldapfiles/EmbeddedLDAP.lok
./servers/bam_server1/tmp/bam_server1.lok
./servers/bam_server1/data/ldap/ldapfiles/EmbeddedLDAP.lok
 
# start as usual

PersistentStoreException

* Error message

The persistent store "_WLS_soa_server1" could not be deployed: weblogic.store.PersistentStoreException: [Store:280105]The persistent file store "_WLS_soa_server1" cannot open file _WLS_SOA_SERVER1000000.DAT.
weblogic.store.PersistentStoreException: [Store:280105]The persistent file store "_WLS_soa_server1" cannot open file _WLS_SOA_SERVER1000000.DAT.
        at weblogic.store.io.file.Heap.open(Heap.java:325)
        at weblogic.store.io.file.FileStoreIO.open(FileStoreIO.java:104)

* Cause
– WebLogic or SOA managed servers are not shutdown cleanly
* Fix
– Stop all server instances.
– Remove all .lok files following previous section.
– Then remove all .DAT files:

# cd to soa_domain
cd /opt/oracle/Middleware/home_11gr1/user_projects/domains/soa_domain

# Find all .DAT files
find . -name "*.DAT" -print
./servers/AdminServer/data/store/default/_WLS_ADMINSERVER000000.DAT
./servers/AdminServer/data/store/diagnostics/WLS_DIAGNOSTICS000000.DAT
./servers/soa_server1/data/store/default/_WLS_SOA_SERVER1000000.DAT
./servers/soa_server1/data/store/diagnostics/WLS_DIAGNOSTICS000000.DAT
./servers/bam_server1/data/store/default/_WLS_BAM_SERVER1000000.DAT
./servers/bam_server1/data/store/diagnostics/WLS_DIAGNOSTICS000000.DAT
./BPMJMSFileStore/BPMJMSFILESTORE000000.DAT
./SOAJMSFileStore/SOAJMSFILESTORE000000.DAT
./UMSJMSFileStore_auto_1/UMSJMSFILESTORE_AUTO_1000000.DAT
./UMSJMSFileStore_auto_2/UMSJMSFILESTORE_AUTO_2000000.DAT
oracle@windu:/opt/oracle/Middleware/home_11gr1/user_projects/domains/soa_domain 

# remove all .DAT files
find . -name "*.DAT" -print -exec rm {} \;

# start as usual

java.lang.OutOfMemoryError: PermGen space

* Error message

java.lang.OutOfMemoryError: PermGen space

* See this post for JVM settings
* Possible fix: set MaxPermSize to higher value. For example,

cd /opt/oracle/Middleware/home_11gr1/user_projects/domains/soa_domain/bin
vi setSOADomainEnv.sh
# need to tune
DEFAULT_MEM_ARGS="-Xms1024m -Xmx2048m -XX:MaxPermSize=256m"
PORT_MEM_ARGS="-Xms1024m -Xmx2048m -XX:MaxPermSize=256m"

References

* SOA 11g Documentation page
* System Requirements and Specifications
* Oracle Fusion Middleware Release 1 (11.1.1.4) Document Library
* WebLogic 11.1.1.4 Documentation Library
* Oracle SOA/BPM Quick Installation Guide
* Oracle SOA/BPM Installation Guide
* Domain Template Reference

This entry was posted in soa11g and tagged , , , , , . Bookmark the permalink.

2 Responses to Install Oracle SOA 11g (11.1.1.4.0) on SPARC 64

Leave a Reply

Your email address will not be published. Required fields are marked *


*

This site uses Akismet to reduce spam. Learn how your comment data is processed.