I have a new and improved post about installing Forms/Reports 11.1.2.2.0
Here is my experiences with installing Forms and Reports 11.1.1.6 on Red Hat 6 (64-bit) using JDK 7.
Forms/Reports currently exists in two flavors 11.1.1.6 and 11.1.2.0. 11.1.1.6 is the main Fusion Middleware release. As far as I can tell 11.1.2.0 is an offspring used to fast track certain technologies into the product. Even though Oracle recommends installing 11.1.2.0 I am a bit worried about taking that route. If you do not need the new OAM stuff etc, I would stay with the main release.
First have a look at the documentation:
Oracle Fusion Middleware Installation Planning Guide
Oracle Fusion Middleware Installation Guide for Oracle Portal, Forms, Reports and Discoverer
Overview
- Download the software
- Prepare the OS
- Install Java
- Patch Java
- Install Weblogic server 10.3.6
- Install the latest Weblogic CPU/PSU
- Install Forms/Reports version 11.1.1.2.0
- Patch Forms/Reports to version 11.1.1.6.0
- Configure Forms/Reports
- Homes overview
- Verifying the Installation
- Java JDK 7
- Set Java memory parameters
- Configure automatic start of the servers/processes
- Entropy
- Configure OCM
- JDK 6 latests update (See explanation below)
- JDK 7 latests update
- Weblogic 10.3.6
- Weblogic 10.3.6 July 2012 CPU/PSU (Patch 14142550)
- Forms/Reports 11.1.1.2.0 Disk1
- Forms/Reports 11.1.1.2.0 Disk2
- Forms/Reports 11.1.1.2.0 Disk3
- Forms/Reports 11.1.1.2.0 Disk4
- Forms/Reports version 11.1.1.6 (Patch 13517084)
- Latest version of the OCM
Prepare the OS
I am using Red Hat 6 64-bit. Check the System Requirements for UNIX Operating Systems.
Also check “Special Startup Requirements for Linux x86 or Linux x86-64 Operating Systems” in the same document.
Unfortunate the documentation does currently not list all the packages that is needed.
I got some errors during the installation and during the configuration of the domain:
Error in invoking target ‘install’ of makefile ‘/u01/app/oracle/product/fmw/pfrd_binaries/sqlplus/lib/ins_sqlplus.mk
/u01/app/oracle/product/fmw/pfrd_binaries/bin/rwserver: error while loading shared libraries: libXm.so.3: cannot open shared object file: No such file or directory
You also need these packages:
- libgcc.i686
- libstdc++.i686
- libstdc++-devel.i686
- openmotif.x86_64
- openmotif22.x86_64
Also compat-libcap (version 1-1.10-1) is listed. This means that you have to install: compat-libcap1.x86_64.
I have created a Service Request for this to be fixed in the documentation.
Create user, group and directories:
groupadd oinstall useradd -g oinstall -G oinstall oracle passwd oracle mkdir -p /u01/app/oracle/product mkdir -p /u01/tmp chown -R oracle:oinstall /u01/app/ chmod -R 775 /u01/app/ chown -R oracle:oinstall /u01/tmp/ chmod -R 775 /u01/tmp/
Since we use OPMN we need to insert the ip and hostname in the /etc/hosts file.
172.31.8.238 wintermute.dk.logica.com wintermute
Install Java
Forms/Reports 11.1.1.6 is certified with Java 7 on both the server side and the client side. Certification Matrix.
I could not get the Weblogic Installer to work with Java 7. The Installer start without any problems but on some of the screens you cannot select options with the mouse or input text. I have reproduced this with Oracle Linux 6 and with the Weblogic 12c Installer. I have created a Service Request and are awaiting a solution.
As a workaround I use Java 6 during the installation and later switch to Java 7. This works fine.
After I install Java I always create a softlink for the JDK and reference it everywhere. This makes it is easier later when you need to upgrade the JDK.
ln -s /u01/app/oracle/product/jdk1.6.0_33 /u01/app/oracle/product/java_current
Install Weblogic server 10.3.6
Take care when downloading the wls1036_generic.jar file since some browsers will rename it to wls1036_generic.zip.
/u01/app/oracle/product/java_current/bin/java -jar -Djava.io.tmpdir=/u01/tmp wls1036_generic.jar -log=wls_install.log
-Djava.io.tmpdir is only needed if there is not enough tmp space.
Below I have ignored the screens where you can sign up for security updates etc.
Here my soft link to the JDK is ignored so we have to fix this later.
Our soft link to the JDK was ignored so we have to fix this:
cd /u01/app/oracle/product/fmw grep -R jdk1.6.0_33 * find . -type f -exec sed -i "s/\/u01\/app\/oracle\/product\/jdk1.6.0_33/\/u01\ /app\/oracle\/product\/java_current/g" {} \;
Install the latest Weblogic CPU/PSU
Weblogic 10.3.6 July 2012 CPU/PSU (Patch 14142550).
Stop all Weblogic servers and remove any previously applied Patch Set Update and associated overlay patches.
unzip p14142550_1036_Generic.zip mkdir /u01/app/oracle/product/fmw/utils/bsu/cache_dir cp JSES.jar /u01/app/oracle/product/fmw/utils/bsu/cache_dir/. cp patch-catalog_17844.xml /u01/app/oracle/product/fmw/utils/bsu/ cache_dir/patch-catalog.xml
Make sure that the patch-catalog_17844.xml is renamed to patch-catalog.xml!
cd /u01/app/oracle/product/fmw/utils/bsu/ ./bsu.sh -prod_dir=/u01/app/oracle/product/fmw/wlserver_10.3 -patchlist=JSES -verbose -install
Verify that the patch is installed.
./bsu.sh -prod_dir=/u01/app/oracle/product/fmw/wlserver_10.3 -status=applied -verbose -view
Install Forms/Reports version 11.1.1.2.0
Forms 11.1.1.2.0 is not supported on Red Hat 6 so we ignore the system requirements:
cd /u01/software/ofm_pfrd_linux_11.1.1.2.0_64/Disk1 ./runInstaller -ignoreSysPrereqs -jreLoc /u01/app/oracle/product/java_current/jre
Below I have ignored the screens where you can sign up for security updates etc.
cd /u01/app/oracle/oraInventory ./createCentralInventory.sh Setting the inventory to /u01/app/oracle/oraInventory Setting the group name to oinstall Creating the Oracle inventory pointer file (/etc/oraInst.loc) Changing permissions of /u01/app/oracle/oraInventory to 770. Changing groupname of /u01/app/oracle/oraInventory to oinstall. The execution of the script is complete
cd /u01/app/oracle/product/fmw/pfrd_binaries ./oracleRoot.sh
Patch Forms/Reports to version 11.1.1.6.0
Patch 13517084.
cd /u01/software/p13517084_111160_Linux-x86-64/Disk1 ./runInstaller -jreLoc /u01/app/oracle/product/java_current/jre
Below I have ignored the screens where you can sign up for security updates etc.
cd /u01/app/oracle/product/fmw/pfrd_binaries ./oracleRoot.sh
cd /u01/app/oracle/product/fmw/pfrd_binaries/bin ./config.sh
Below I have ignored the screens where you can sign up for security updates etc.
Homes overview
There is a wealth of homes in this installation:
- Application Home – /u01/app/oracle/product/fmw/user_projects/applications/FormsReports
- Domain Home – /u01/app/oracle/product/fmw/user_projects/domains/FormsReports
- Instance Home – /u01/app/oracle/product/fmw/FRinst
- Middleware Home – /u01/app/oracle/product/fmw
- Oracle Commone Home – /u01/app/oracle/product/fmw/oracle_common
- Oracle Home – /u01/app/oracle/product/fmw/pfrd_binaries
- Weblogic Server Home – /u01/app/oracle/product/fmw/wlserver_10.3
I normally put the Instance Home in /u01/app/oracle/product/fmw/instances/FRinst but I forgot it here 🙂
For more information check the Oracle Fusion Middleware Installation Planning Guide.
OPMN status:
cd /u01/app/oracle/product/fmw/FRinst/bin ./opmnctl status -l Processes in Instance: FRinst ---------------------------------+--------------------+---------+----------+------------+----------+-----------+------ ias-component | process-type | pid | status | uid | memused | uptime | ports ---------------------------------+--------------------+---------+----------+------------+----------+-----------+------ emagent_FRinst | EMAGENT | 6652 | Alive | 908481443 | 106092 | 190:53:19 | N/A RptSvr_wintermute_FRinst | ReportsServerComp~ | 6655 | Alive | 908481444 | 106092 | 190:53:19 | N/A ohs1 | OHS | 6653 | Alive | 908481442 | 1433404 | 190:53:19 | https:8889,https:8890,http:8888
Checking Browser URLs:
If you are not sure which ports are used check this file: /u01/app/oracle/product/fmw/pfrd_binaries/install/portlist.ini
#Wed Jun 20 13:47:38 CEST 2012 OPMN_LOCAL_PORT=6700 OHS_LISTEN_PORT=8888 WLS_FORMS_PORT=9001 OHS_SSL_PORT=8890 OHS_PROXY_PORT=8889 WLS_REPORTS_PORT=9002 OPMN_REQUEST_PORT=6702 OPMN_REMOTE_PORT=6701 DOMAIN_PORT=7001 NODE_MANAGER_PORT=-1 EMAGENT_PORT=5155
Screenshots:
Administration Server Console – http://wintermute:7001/console
Enterprise Manager Console – http://wintermute:7001/em
Enterprise Manager Agent – http://wintermute:5155/emd/main
Oracle Forms – http://wintermute:8888/forms/frmservlet
Oracle Reports – http://wintermute:8888/reports/rwservlet
Before switching to JDK 7 you should read “Using WebLogic Server with JDK 7“.
mkdir /u01/app/oracle/product/jdk1.7.0_05/jre/lib/endorsed cd /u01/app/oracle/product/fmw/modules cp javax.annotation_1.0.0.0_1-0.jar /u01/app/oracle/product/jdk1.7.0_05/jre/lib/endorsed cp javax.xml.bind_2.1.1.jar /u01/app/oracle/product/jdk1.7.0_05/jre/lib/endorsed cp javax.xml.ws_2.1.1.jar /u01/app/oracle/product/jdk1.7.0_05/jre/lib/endorsed ls /u01/app/oracle/product/jdk1.7.0_05/jre/lib/endorsed
Change the softlink:
cd /u01/app/oracle/product rm -f /u01/app/oracle/product/java_current ln -s /u01/app/oracle/product/jdk1.7.0_05 /u01/app/oracle/product/java_current
Patch Java
There is currently no security patches for Java 7 update 5.
See:
http://www.oracle.com/technetwork/topics/security/javacpujun2012-1515912.html
Set Java memory parameters
You can set the Java memory parameters in several ways. I normal do this in:
/u01/app/oracle/product/fmw/user_projects/domains/FormsReports/bin/startWebLogic.sh
Configure automatic start of the servers/processes
I always use the Node Manager to restart the Weblogic servers after a server boot. If you don’t want to use the Node Manager have a look at this MOS note:
“Sample Script (Unix): Start / Stop Oracle Fusion Middleware 11g OPMN and WebLogic Components [ID 1060855.1]”
Besides Weblogic we also need to start the opmn processes.
I did the following:
1. Set CrashRecoveryEnabled=true in [Weblogic Server Home]/common/nodemanager/nodemanager.properties
2. Set the NodeManager Username and Password in the Admin server console. Domain => Security => Advanced
3. Created two (+init script) boot scripts:
/etc/init.d/fmwNodeManager
/etc/init.d/initFmwNodeManager
/etc/init.d/opmn
4. Added them
cd /etc/init.d chkconfig --add fmwNodeManager chkconfig --level 3 fmwNodeManager on chkconfig --level 5 fmwNodeManager on chkconfig --list fmwNodeManager chkconfig --add opmn chkconfig --level 3 opmn on chkconfig --level 5 opmn on chkconfig --list opmn
5. Stop/start everything manually
Stop all Weblogic servers via the Admin server console and killing the Node Manager process.
Start the Node Manager via:
/etc/init.d/fmwNodeManager start
Start the Admin server via:
. /u01/app/oracle/product/fmw/user_projects/domains/FormsReports/bin/ setDomainEnv.sh java weblogic.WLST nmConnect(username='nodemgr',password='passwd',domainName='FormsReports', port='5556',nmType='ssl') nmStart('AdminServer')
Start the two Managed servers via the Admin Server console.
6. Boot the server and check if everything starts up.
Entropy
If it takes a loooong time to start a Weblogic server or the Node Manager it can be cause by low entropy.
I have experienced 10+ minutes for the initial start of the Node Manager on an otherwise fast Blade server.
Have a look at these:
http://docs.oracle.com/cd/E12839_01/doc.1111/e14773/weblogic_server_issues.htm#CIHIIBGJ
http://rackerhacker.com/2007/07/01/check-available-entropy-in-linux
Check entropy:
cat /proc/sys/kernel/random/entropy_avail
If the entropy is low try to create a lot of I/O. For example via dd:
dd if=/dev/zero of=filename.iso bs=1G count=10
Configure OCM
As far as I know OCM will default upgrade it self if it has a direct connection to Oracle via the Internet.
But I normally do this manually 🙂
Download the latest OCM from MOS.
This installation contains 3 OCM installations:
/u01/app/oracle/product/fmw/oracle_common/ccr
/u01/app/oracle/product/fmw/pfrd_binaries/ccr
/u01/app/oracle/product/fmw/utils/ccr
I assume that it does not make a difference which one you use.
rm -rf /u01/app/oracle/product/fmw/utils/ccr unzip p5567658_1037_Linux-x86-64.zip -d /u01/app/oracle/product/fmw/utils . /u01/app/oracle/product/fmw/user_projects/domains/FormsReports/ bin/setDomainEnv.sh export ORACLE_HOME=/u01/app/oracle/product/fmw/utils export JAVA_HOME=/u01/app/oracle/product/java_current cd $ORACLE_HOME/ccr/bin ./setupCCR -s 12345678 nobody@logica.com DK
Verify that it is working:
cd $ORACLE_HOME/ccr/bin ./emCCR start ./emCCR status ./emCCR -register test ./emCCR -verbose test ./emCCR register ./emCCR collect ./emCCR upload ./emCCR disable_target
You need to restart the Weblogic Admin server before OCM will pickup all the targets.
{ 2 comments… read them below or add one }
Awesome guide, thanks for sharing it!
Fantastic reference, thank you so much for posting. It’s really helped me in my new job!