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
2 Responses to Install Oracle SOA 11g (11.1.1.4.0) on SPARC 64