Installing Oracle Forms/Reports on Red Hat 6 (64-bit) using JDK 7

Peter Lorenzen

I have a new and improved post about installing Forms/Reports

Here is my experiences with installing Forms and Reports on Red Hat 6 (64-bit) using JDK 7.

Forms/Reports currently exists in two flavors and is the main Fusion Middleware release. As far as I can tell is an offspring used to fast track certain technologies into the product. Even though Oracle recommends installing 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


Download the software

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/

/u01/app/oracle/product/fmw/pfrd_binaries/bin/rwserver: error while loading shared libraries: 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. wintermute

Install Java
Forms/Reports 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

/u01/app/oracle/product/java_current/bin/java -jar wls1036_generic.jar -log=wls_install.log 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.

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/

Make sure that the patch-catalog_17844.xml is renamed to patch-catalog.xml!

cd /u01/app/oracle/product/fmw/utils/bsu/
./ -prod_dir=/u01/app/oracle/product/fmw/wlserver_10.3
 -patchlist=JSES -verbose -install

Verify that the patch is installed.

./ -prod_dir=/u01/app/oracle/product/fmw/wlserver_10.3
 -status=applied -verbose -view

Install Forms/Reports version
Forms is not supported on Red Hat 6 so we ignore the system requirements:

cd /u01/software/ofm_pfrd_linux_11.
./runInstaller -ignoreSysPrereqs  -jreLoc 

Below I have ignored the screens where you can sign up for security updates etc.


cd /u01/app/oracle/oraInventory
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


Patch Forms/Reports to version

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


Configure Forms/Reports

cd /u01/app/oracle/product/fmw/pfrd_binaries/bin

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.

Verifying the Installation

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

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

Java JDK 7

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.

Set Java memory parameters
You can set the Java memory parameters in several ways. I normal do this in:

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/
2. Set the NodeManager Username and Password in the Admin server console. Domain => Security => Advanced
3. Created two (+init script) boot scripts:
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/
java weblogic.WLST

Start the two Managed servers via the Admin Server console.
6. Boot the server and check if everything starts up.

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:

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:

I assume that it does not make a difference which one you use.

rm -rf /u01/app/oracle/product/fmw/utils/ccr
unzip -d /u01/app/oracle/product/fmw/utils
. /u01/app/oracle/product/fmw/user_projects/domains/FormsReports/
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 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 }

Peter August 8, 2012 at 11:43

Awesome guide, thanks for sharing it!

Adam February 21, 2013 at 16:50

Fantastic reference, thank you so much for posting. It’s really helped me in my new job!

Leave a Comment

Previous post:

Next post: