Sunday, December 22, 2013

Install SOA 11g in SPARC 64 bit

http://jianmingli.com/wp/?p=1969 Install Oracle SOA 11g (11.1.1.4.0) on SPARC 64 Contents 1. Downloads 2. Check Versions 3. Install 1. Setup Env 2. Install WebLogic Server 3. Create Database Schema for BAM and SOA Servers 4. Install SOA 1. Unzip zip files 2. Run installer 3. Create Domains 5. Create boot.properties file 6. Include WebLogic Native Library 7. Adjust Memory Settings 8. Start/Stop Servers 1. Console URLs 4. Admin Console 1. Disable on-demand deployment of internal applications 5. Deinstall 1. Remove Domain 2. Deinstall SOA 1. Stop all WebLogic Servers 2. Start deinstaller 3. Remove user project domain directories 3. Drop Schema 4. Uninstall WebLogic 6. Issues 1. Unable to load performance pack. Using Java I/O instead 2. Native Library(terminalio) is not found 3. Numerous database connection exceptions in stdout 4. Could not obtain an exclusive lock to the embedded LDAP data files directory 5. PersistentStoreException 6. java.lang.OutOfMemoryError: PermGen space 7. References 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. 1. 2. SQL> SELECT * FROM v$version; 3. 4. BANNER 5. ---------------------------------------------------------------- 6. Oracle DATABASE 10g Enterprise Edition Release 10.2.0.4.0 - 64bi 7. PL/SQL Release 10.2.0.4.0 - Production 8. CORE 10.2.0.4.0 Production 9. TNS FOR Solaris: Version 10.2.0.4.0 - Production 10. NLSRTL Version 10.2.0.4.0 - Production 11. * Also need AL32UTF8 character set support 1. 2. SQL> SELECT parameter, value 3. FROM v$nls_parameters 4. WHERE parameter = 'NLS_CHARACTERSET'; 5. 6. PARAMETER VALUE 7. -------------------- -------------------- 8. NLS_CHARACTERSET AL32UTF8 9. Install Setup Env * Login as user oracle. 1. 2. # Set JAVA_HOME to jdk 1.6 3. export JAVA_HOME=/opt/oracle/jdk1.6.0_21 4. export PATH=${JAVA_HOME}/bin/sparcv9:${PATH} 5. export LD_LIBRARY_PATH_64=${LD_LIBRARY_PATH_64}:${JAVA_HOME}/jre/lib/sparcv9/server 6. 7. # Used for X Windows 8. export PATH=/usr/openwin/bin:$PATH 9. 10. # Set locale to UTF-8 11. export LANG=en_US.UTF-8 12. export LC_ALL=en_US.UTF-8 13. Install WebLogic Server * Unzip V24338-01.zip to obtain wls1034_generic.jar (e.g. in /opt/oracle/sw directory) * Start installer 1. java -d64 -Djava.security.egd=file:/dev/./urandom -jar wls1034_generic.jar * Click Next on the Welcome screen. * Enter Middleware Home directory 1. /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. 1. /opt/oracle/Middleware/home_11gr1/wlserver_10.3 2. /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 1. cd /opt/oracle/sw/soa11.1.1.4/Disk1 2. ./runInstaller -jreLoc /opt/oracle/jdk1.6.0_21/jre * Click Next on welcome screen * Select Skip Software Updates * Click Next on Prerequisite Checks * Enter 1. Oracle Middleware Home: /opt/oracle/Middleware/home_11gr1 2. 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 1. cd /opt/oracle/Middleware/home_11gr1/Oracle_SOA1/common/bin 2. ./config.sh -log=soa_domain.log * Select Create a new WebLogic domain and click Next * On Select Domain Source screen, select 1. Oracle BPM Suite - 11.1.1.0[Oracle_SOA1] 2. Oracle SOA Suite - 11.1.1.0[Oracle_SOA1] 3. Oracle Enterprise Manager - 11.1.1.0[oracle_common] 4. Oracle Business Activity Monitoring - 11.1.1.0[Oracle_SOA1] 5. Oracle WSM Policy Manager - 11.1.1.0[oracle_common] 6. Oracle JRF - 11.1.1.0[oracle_common] * Enter domain name and location 1. Domain name: soa_domain 2. Domain location: /opt/oracle/Middleware/home_11gr1/user_projects/domains 3. Application location: /opt/oracle/Middleware/home_11gr1/user_projects/applications * Enter Administrator user name and pass 1. Name: weblogic 2. 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: 1. Vendor Oracle 2. 3. Driver: Oracle's Driver (Thin) for Service connections; Versions:9.0.1 and later 4. 5. DBMS/Service: orcl.world # Since we select Service connections driver, sid won't work 6. 7. Host Name: localhost 8. 9. Port: 1521 10. 11. 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: 1. 2. Server is Running in Development Mode and Native Library(terminalio) to read the password securely from commandline is not found. 3. * Create boot.properties file 1. 2. # create boot.properties file for soa_server1 3. cd /opt/oracle/Middleware/home_11gr1/user_projects/domains/soa_domain/servers 4. mkdir soa_server1 5. cd soa_server1 6. mkdir security 7. cd security 8. vi boot.properties 9. # insert content as shown below 10. 11. # create boot.properties file for bam_server1 12. cd /opt/oracle/Middleware/home_11gr1/user_projects/domains/soa_domain/servers 13. mkdir bam_server1 14. cd bam_server1 15. mkdir security 16. cd security 17. vi boot.properties 18. # insert content as shown below 19. * boot.properties file content: 1. 2. username=weblogic 3. password=welcome1 4. 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. 1. 2. wls_home=/opt/oracle/Middleware/home_11gr1/wlserver_10.3 3. export LD_LIBRARY_PATH_64=${LD_LIBRARY_PATH_64}:${wls_home}/server/native/solaris/sparc64 4. Adjust Memory Settings * Adjust Java memory settings in setSOADomainEnv.sh file as needed: 1. 2. cd /opt/oracle/Middleware/home_11gr1/user_projects/domains/soa_domain/bin 3. vi setSOADomainEnv.sh 4. # Adjust memory on the following lines 5. DEFAULT_MEM_ARGS="-Xms512m -Xmx1024m" 6. PORT_MEM_ARGS="-Xms512m -Xmx1024m" 7. * I found this setting worked for me on a 8 GB Solaris box. 1. 2. DEFAULT_MEM_ARGS="-Xmx2048m -Xms1024m -XX:NewSize=448m -XX:MaxNewSize=448m -XX:SurvivorRatio=6 -XX:PermSize=256m -XX:MaxPermSize=256m" 3. PORT_MEM_ARGS="-Xmx2048m -Xms1024m -XX:NewSize=448m -XX:MaxNewSize=448m -XX:SurvivorRatio=6 -XX:PermSize=256m -XX:MaxPermSize=256m" 4. Start/Stop Servers * Start WebLogic servers 1. 2. cd /opt/oracle/Middleware/home_11gr1/user_projects/domains/soa_domain/bin 3. nohup ./startWebLogic.sh >> AdminServer.out 2>> AdminServer.err < /dev/null & 4. nohup ./startManagedWebLogic.sh soa_server1 >> soa_server1.out 2>> soa_server1.err < /dev/null & 5. nohup ./startManagedWebLogic.sh bam_server1 >> bam_server1.out 2>> bam_server1.err < /dev/null & 6. * Stop WebLogic servers 1. 2. cd /opt/oracle/Middleware/home_11gr1/user_projects/domains/soa_domain/bin 3. ./stopManagedWebLogic.sh bam_server1 >> bam_server1.out 2>> bam_server1.err < /dev/null & 4. ./stopManagedWebLogic.sh soa_server1 >> soa_server1.out 2>> soa_server1.err < /dev/null & 5. ./stopWebLogic.sh >> AdminServer.out 2>> AdminServer.err < /dev/null & 6. * Create aliases to start/stop soa servers 1. 2. soa_domain_bin_dir=/opt/oracle/Middleware/home_11gr1/user_projects/domains/soa_domain/bin 3. 4. alias startweblogic="nohup ${soa_domain_bin_dir}/startWebLogic.sh >> ${soa_domain_bin_dir}/AdminServer.out 2>> ${soa_domain_bin_dir}/AdminServer.err < /dev/null &" 5. 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 &" 6. 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 &" 7. 8. 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 &" 9. 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 &" 10. alias stopweblogic="${soa_domain_bin_dir}/stopWebLogic.sh >> ${soa_domain_bin_dir}/AdminServer.out 2>> ${soa_domain_bin_dir}/AdminServer.err < /dev/null &" 11. 12. alias tailweblogiclog="tail -f ${soa_domain_bin_dir}/AdminServer.out" 13. alias tailsoa11glog="tail -f ${soa_domain_bin_dir}/soa_server1.out" 14. alias tailbam11glog="tail -f ${soa_domain_bin_dir}/bam_server1.out" 15. 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. 1. 2. 3. 4. 5. 6. * Remove the relevant domain entry from the "$WLS_HOME/common/nodemanager/nodemanager.domains" file. 1. 2. #Domains and directories created by Configuration Wizard 3. #Thu Aug 23 22:53:14 BST 2012 4. soa_domain=/u01/app/oracle/middleware/user_projects/domains/soa_domain 5. * Delete the "soa_domain" application and domain directories. 1. 2. $ rm -Rf $MW_HOME/user_projects/applications/soa_domain 3. $ rm -Rf $MW_HOME/user_projects/domains/soa_domain 4. Deinstall SOA Stop all WebLogic Servers 1. 2. cd /opt/oracle/Middleware/home_11gr1/user_projects/domains/soa_domain/bin 3. ./stopManagedWebLogic.sh bam_server1 4. ./stopManagedWebLogic.sh soa_server1 5. ./stopWebLogic.sh 6. Start deinstaller 1. 2. cd /opt/oracle/Middleware/home_11gr1/Oracle_SOA1/oui/bin 3. ./runInstaller -deinstall -jreLoc /opt/oracle/jdk1.6.0_21 4. * 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 1. 2. cd /opt/oracle/Middleware/home_11gr1/user_projects/domains 3. rm -rf soa_domain 4. 5. cd /opt/oracle/Middleware/home_11gr1/user_projects/applications 6. rm -rf soa_domain 7. Drop Schema * See this post to remove database schema for BAM and SOA servers. Uninstall WebLogic * Run uninstaller 1. 2. cd /opt/oracle/Middleware/home_11gr1/utils/uninstall 3. ./uninstall.sh 4. rm -rf /opt/oracle/Middleware/home_11gr1 5. * Remove install directory 1. 2. rm -rf /opt/oracle/Middleware/home_11gr1 3. 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. 1. 2. wls_home=/opt/oracle/Middleware/home_11gr1/wlserver_10.3 3. export LD_LIBRARY_PATH_64=${LD_LIBRARY_PATH_64}:${wls_home}/server/native/solaris/sparc64 4. * 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: 1. 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 1. 2. 3. 4. * Possible cause - WebLogic or SOA managed servers are not shutdown cleanly * Possible fix - Remove EmbeddedLDAP.lok files - Example 1. 2. # make sure not soa processes are running 3. ps -ef|grep -i "soa_domain"|grep -v grep 4. 5. # cd to soa_domain 6. cd /opt/oracle/Middleware/home_11gr1/user_projects/domains/soa_domain 7. 8. # find all lok files 9. find . -name "*.lok" -print 10. ./config/config.lok 11. ./edit.lok 12. ./servers/AdminServer/tmp/AdminServer.lok 13. ./servers/AdminServer/data/ldap/ldapfiles/EmbeddedLDAP.lok 14. ./servers/soa_server1/tmp/soa_server1.lok 15. ./servers/soa_server1/data/ldap/ldapfiles/EmbeddedLDAP.lok 16. ./servers/bam_server1/tmp/bam_server1.lok 17. ./servers/bam_server1/data/ldap/ldapfiles/EmbeddedLDAP.lok 18. 19. # remove all lok files 20. find . -name "*.lok" -print -exec rm {} \; 21. ./config/config.lok 22. ./edit.lok 23. ./servers/AdminServer/tmp/AdminServer.lok 24. ./servers/AdminServer/data/ldap/ldapfiles/EmbeddedLDAP.lok 25. ./servers/soa_server1/tmp/soa_server1.lok 26. ./servers/soa_server1/data/ldap/ldapfiles/EmbeddedLDAP.lok 27. ./servers/bam_server1/tmp/bam_server1.lok 28. ./servers/bam_server1/data/ldap/ldapfiles/EmbeddedLDAP.lok 29. 30. # start as usual 31. 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, 1. 2. cd /opt/oracle/Middleware/home_11gr1/user_projects/domains/soa_domain/bin 3. vi setSOADomainEnv.sh 4. # need to tune 5. DEFAULT_MEM_ARGS="-Xms1024m -Xmx2048m -XX:MaxPermSize=256m" 6. PORT_MEM_ARGS="-Xms1024m -Xmx2048m -XX:MaxPermSize=256m" 7.

1 comment: