Installing Oracle Forms/Reports 11.1.2.2.0 on Red Hat 6

Peter Lorenzen
07/04-2014

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

Overview

Documentation

Download the software

Please notice

  • Before using the direkt download links to http://download.oracle.com you need to login in to the site and accept a License Agreement. It does not matter which product you choose.

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.

The kernel must be 2.6.32-100.28.5.el6 or newer.

[root@wintermute ~]# uname -r
2.6.32-358.23.2.el6.x86_64

This should install the needed packages

yum install binutils.x86_64 -y -q
yum install compat-libcap1.x86_64 -y -q
yum install compat-libstdc++-33.x86_64 -y -q
yum install compat-libstdc++-33.i686 -y -q
yum install gcc.x86_64 -y -q
yum install gcc-c++.x86_64 -y -q
yum install glibc.x86_64 -y -q
yum install glibc.i686 -y -q
yum install glibc-devel.i686 -y -q
yum install libaio.x86_64 -y -q
yum install libaio-devel.x86_64 -y -q
yum install libgcc.x86_64 -y -q
yum install libstdc++.x86_64 -y -q
yum install libstdc++.i686 -y -q
yum install libstdc++-devel.x86_64 -y -q
yum install libXext.i686 -y -q
yum install libXtst.i686 -y -q
yum install openmotif.x86_64 -y -q
yum install openmotif22.x86_64 -y -q
yum install redhat-lsb.x86_64 -y -q
yum install sysstat.x86_64 -y -q
yum install xorg-x11-utils.x86_64 -y -q

I don’t check the version of the packages since I am using the latest Red Hat 6 release and assumes that the packages exists in the right versions.

[root@wintermute ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.5 (Santiago)

Since we are going to use the Oracle HTTP Server we need to verify that NPTL is used as the default threads-implementation.

[root@wintermute ~]# getconf GNU_LIBPTHREAD_VERSION
NPTL 2.12

We need to check that SHMMAX is high enough for the Oracle Universal Installer.

[root@wintermute ~]# /sbin/sysctl -a | grep shmmax
kernel.shmmax = 68719476736

Here we are OK. If your are not you must change this in /etc/sysctl.conf.

Since we use OPMN we need to insert the ip and hostname in the /etc/hosts file.

10.10.10.10  wintermute.theheat.dk wintermute

Change the open file limits in /etc/security/limits.conf to whatever is appropriate for you environment.

sed -i '/.*End of file/d' /etc/security/limits.conf
echo "* soft nofile 65536" >> /etc/security/limits.conf
echo "* hard nofile 65536" >> /etc/security/limits.conf
echo "# End of file"  >> /etc/security/limits.conf
cat /etc/security/limits.conf

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/

Set the umask for the oracle user. If you don’t want to set it in the .bash_profile at least set it manually when installing the software as suggested by Oracle.

su - oracle
echo "umask 027" >> .bash_profile
cat .bash_profile

Enabling Unicode Support in the .bash_profile for the oracle user. This is probably not needed. I picked it up in a MOS note for some FMW product, but I can’t find the note again :-)

su - oracle
echo "export LANG=\"en_US.UTF-8\"" >> .bash_profile
cat .bash_profile

Install Java

tar xf jdk-7u51-linux-x64.tar.gz
mv jdk1.7.0_51 /u01/app/oracle/product/.

I always create a softlink to the JDK and reference it everywhere. It makes is easier when you later have to upgrade java.

cd /u01/app/oracle/product
ln -s jdk1.7.0_51 java_current

Test it.

[oracle@wintermute product]$ java_current/bin/java -version
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)

Patch Java

Make sure that you always use that latest version of Java. Java is now part of the Oracle CPU patch program.

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.




Always install as little as possible. No examples, evaluation database and no Coherence unless you need it.

Here the Java soft link is “ignored” so we have to fix this later.



The Java soft link was “ignored” so we have to fix this:

cd /u01/app/oracle/product/forms112
grep -R jdk1.7.0_51 *
find . -type f -exec sed -i "s/\/u01\/app\/oracle\/product\/jdk1.7.0_51/\/u01\/app\/oracle\/product\/java_current/g" {} \;

Install the latest Weblogic PSU

Oracle releases quarterly security updates. You can read more about CPU, SPU, PSU and BP patches here.

Weblogic 10.3.6 January 2014 PSU 10.3.6.0.7 Patch 17572726 (FCX7).

Make sure all WebLogic servers are stopped and remove any previously applied PSUs and associated overlay patches.

mkdir /u01/app/oracle/product/forms112/utils/bsu/cache_dir
unzip p17572726_1036_Generic.zip
cp FCX7.jar /u01/app/oracle/product/forms112/utils/bsu/cache_dir/.
cp patch-catalog_20741.xml /u01/app/oracle/product/forms112/utils/bsu/cache_dir/patch-catalog.xml
ls /u01/app/oracle/product/forms112/utils/bsu/cache_dir

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

cd /u01/app/oracle/product/forms112/utils/bsu/
./bsu.sh -prod_dir=/u01/app/oracle/product/forms112/wlserver_10.3 \
-patchlist=FCX7 -verbose -install

Verify that the patch is installed.

. /u01/app/oracle/product/forms112/wlserver_10.3/server/bin/setWLSEnv.sh
java weblogic.version

For example.

[oracle@wintermute ~]$ java weblogic.version
WebLogic Server 10.3.6.0.7 PSU Patch for BUG17572726 Wed Nov 20 09:54:42 IST 2013
WebLogic Server 10.3.6.0  Tue Nov 15 08:52:36 PST 2011 1441050

Using WebLogic Server with JDK 7

When you use Java 7 you should read Using WebLogic Server with JDK 7.

You need to copy some jar files from the WebLogic installation to the Java installation.

mkdir /u01/app/oracle/product/java_current/jre/lib/endorsed
cd /u01/app/oracle/product/forms112/modules
cp javax.annotation_1.0.0.0_1-0.jar /u01/app/oracle/product/java_current/jre/lib/endorsed
cp javax.xml.bind_2.1.1.jar /u01/app/oracle/product/java_current/jre/lib/endorsed
cp javax.xml.ws_2.1.1.jar /u01/app/oracle/product/java_current/jre/lib/endorsed
ls /u01/app/oracle/product/java_current/jre/lib/endorsed

I have no idea why we need those jars but remember to also copy them whenever you update/reinstall Java.

Install Forms/Reports version 11.1.1.2.0

Unzip the install kits.

unzip ofm_frmrpts_linux_11.1.2.2.0_64_disk1_1of2.zip
unzip ofm_frmrpts_linux_11.1.2.2.0_64_disk1_2of2.zip

Start the installer.

cd 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.


su -
cd /u01/app/oracle/oraInventory
./createCentralInventory.sh

Output.

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





Notice that Forms and Reports are being installed in MIDDLEWARE_HOME/fr_binaries.

If you press Save you will be prompted for a place to save a response file you can use for silent installation.


su - 
cd /u01/app/oracle/product/forms112/fr_binaries
./oracleRoot.sh

There is no output from the script.

If you press Save you will be prompted for a place to store a file with information about the installation.

It contains this.

Type: Oracle Forms and Reports Installation
  Installed Applications
          Forms
          Reports
          Forms Builder
          Reports Builder
  Installed System Components
          OHS
          EM Agent
cd /u01/app/oracle/product/forms112
find . -type f -exec sed -i "s/\/u01\/app\/oracle\/product\/jdk1.7.0_51/\/u01\/app\/oracle\/product\/java_current/g" {} \;

Patch Forms/Reports

We have already applied the latest PSU for the WebLogic Server.

Oracle does not release proactive patches for Forms/Reports like PSU and BP patches, but they do provide SPU security patches. Currently there are non for this version, but there are 4 for 11.1.2.1. You should make sure you check for SPU patches each quarter from the CPU patch program.

I could not find any Interim patches a.k.a. One-Off patches. Make sure you check the release notes for patches. It is also a good idea to check the Recommended Patch Advisor on MOS.

If you are installing a patch make sure you always install the latest version of opatch from MOS before patching.

Configure Forms/Reports

The CONFIG_JVM_ARGS is set to speed things up if the system is low on entropy.

export CONFIG_JVM_ARGS="-Djava.security.egd=file:/dev/./urandom"
cd /u01/app/oracle/product/forms112/fr_binaries/bin
./config.sh

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


Here we select “Configure for Deployment”. Among other things this also mean the domain is configured to run in Production Mode. This is a WebLogic server thing. Make sure you understand the difference between Production Mode and Development Mode.


In Forms 11g R1 you domain had to be placed in MIDDLEWARE_HOME/user_projects/domains. This has been fixed in R2 so now we can place it away form the software installation, as is best practice.


A Forms/Reports installation uses more that 10 different ports. If you want to decide which ports are used you can copy the Disk1/stage/Response/staticports.ini somewhere an edit it. You just need to “add” the ports you want to change to the file.



If you press Save you will be prompted for a place to save a response file you can use for silent installation.


If you press Save Installation Configuration you can save a file that contains this:

Type: Oracle Forms and Reports Installation
Configuration Options
  Middleware Home Location: /u01/app/oracle/product/forms112
  Oracle Home Location: /u01/app/oracle/product/forms112/fr_binaries
  Oracle Instance Location: /u01/app/oracle/product/forms112/instances/FRinst
  Oracle Instance: FRinst
  Domain Option: Create Domain
  Domain Name: FormsReports
  Domain Home: /u01/app/oracle/domains/FormsReports
  Domain Host Name: wintermute
  Domain Port No: 7001
  User Name: weblogic
  Automatic Port Detection: false
  Administrator Console: http://wintermute:7001/console
  EM Console: http://wintermute:7001/em
  EMAgent URL: http://wintermute:5155/emd/main
  Forms URL: http://wintermute:8888/forms/frmservlet
  Reports URL: http://wintermute:8888/reports/rwservlet

Normally when you are finished with configuring a FMW domain, no processes are running. Forms/Reports works a bit different, so here everything should be up and running.

Have a look.

ps -ef | grep oracle

While it is nice and helpful that the domain configuration wizard has configured the Node Manager and started everything up, it is not without problems. In the following sections we will verify the installation and fix a couple of problems.

Homes overview

There is a wealth of homes in this installation:

Application Home /u01/app/oracle/applications/FormsReports
Domain Home /u01/app/oracle/domains/FormsReports
Instance Home /u01/app/oracle/product/forms112/instances/FRinst
Middleware Home /u01/app/oracle/product/forms112
Oracle Common Home /u01/app/oracle/product/forms112/oracle_common
Oracle Home /u01/app/oracle/product/forms112/fr_binaries
Weblogic Server Home /u01/app/oracle/product/forms112/wlserver_10.3

 
For more information check the Oracle Fusion Middleware Installation Planning Guide.

Verifying the Installation

You should have 4 WebLogic processes, an Admin Server, two Managed Servers and a Node Manager.

Here is the output from a bash script that lists running WebLogic Servers and Node Managers.

################################################################################
# WebLogic Servers
# <owner>  <domain>  <server>  <pid>  <ports>
################################################################################
oracle  FormsReports  AdminServer     26915  7001
oracle  FormsReports  WLS_FORMS       3277   9001
oracle  FormsReports  WLS_REPORTS     27859  9002

################################################################################
# Node Managers
# <owner>  <mw_home>  <pid>  <port>
################################################################################
oracle  /u01/app/oracle/product/forms112  23674  5556

You should also have some system component processes.

cd /u01/app/oracle/product/forms112/instances/FRinst/bin
./opmnctl status -l

For example.

Processes in Instance: FRinst
------------------------+-------------------+-----+------+----------+-------+----------+-----
ias-component           | process-type      |  pid|status|      uid |memused|   uptime |ports
------------------------+-------------------+-----+------+----------+-------+----------+-----
emagent_FRinst          | EMAGENT           |18737|Alive |957811805 |  63884|215:32:43 |N/A
RptSvr_wintermute_FRinst| ReportsServerComp~|18736|Alive |957811804 |  63884|215:32:43 |N/A
ohs1                    | OHS               |18735|Alive |957811803 | 384152|215:32:43 |https:8889,https:8890,http:8888

Verify that you can use the different URLs (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

If you are not sure which ports are used check this file: /u01/app/oracle/product/forms112/fr_binaries/install/portlist.ini

#Sun Feb 09 18:30:56 CET 2014
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

Missing boot.properties

The domain configuration wizard has configured the domain to use a Node Manager. The Node Manager can help you stop/start the WebLogic Servers in the domain and also monitor if a server is crashed and need restarting. If you stop the two Managed Servers and the Admin Server via the Admin Console you have to use the Node Manager to start them again.

You can do it via WLST.

. /u01/app/oracle/product/forms112/wlserver_10.3/server/bin/setWLSEnv.sh
java weblogic.WLST -skipWLSModuleScanning
nmConnect(username='weblogic', password='welcome1', domainName='FormsReports', domainDir='/u01/app/oracle/domains/FormsReports', nmType='ssl', port='5556', host='wintermute')
nmStart('AdminServer')

But it does not work here. When we try we get “Authentication for user denied” in the log file. The reason is that we are missing a boot.properties file.

When you start a WebLogic server you must be authenticated to be allowed to start the server. When you start the Admin Server as a foreground process via the startWebLogic.sh script you will be prompted to input an username and password. This is normally not desirable, so you can instead create a boot.properties file with the username and password. When you create a domain in Development Mode via the Config wizard the file will automatically be created for you. But if you use Production Mode it will not, so we have to create it ourself.

mkdir /u01/app/oracle/domains/FormsReports/servers/AdminServer/security
cd /u01/app/oracle/domains/FormsReports/servers/AdminServer/security
echo "username=weblogic" >> boot.properties
echo "password=welcome1" >> boot.properties
cat boot.properties

The file will be encrypted first time it is used.

You can also check this tutorial from the Oracle Learning Library.

Now you should be able to start the Admin Server and the Managed Servers via the Node Manager.

Moving Applications home

As already mentioned, Forms 11g R1 domains had to be placed in MIDDLEWARE_HOME/user_projects/domains. While this has been fixed so you can input the location of your domains in the domain configuration wizard, applications home is still default created in MIDDLEWARE_HOME/user_projects/applications. You cannot change the location in the wizard as you can for other FMW products. It is a simple procedure to move it though. Before executing the below you must first stop all the 3 WebLogic Servers.

cd /u01/app/oracle/product/forms112/user_projects
mv applications /u01/app/oracle/.
rm -rf /u01/app/oracle/product/forms112/user_projects

Now you need to change source-path for the em.ear in the config.xml in /u01/app/oracle/domains/FormsReports/config.

<app-deployment>
  <name>em</name>
  <target>AdminServer</target>
  <module-type>ear</module-type>
  <source-path>/u01/app/oracle/applications/FormsReports/em.ear</source-path>
  <deployment-order>400</deployment-order>
  <security-dd-model>DDOnly</security-dd-model>
  <staging-mode>nostage</staging-mode>
</app-deployment>

You also need to change APPLICATIONS_DIRECTORY in DOMAIN_HOME/bin/setDomainEnv.sh.

APPLICATIONS_DIRECTORY="/u01/app/oracle/applications/FormsReports"

Now you can start the WebLogic Servers up again and should be able to access the Enterprise Manager Console at http://wintermute:7001/em.

Set Java memory parameters

You can set the Java memory parameters in several ways. I normal do this in DOMAIN_HOME/bin/setDomainEnv.sh

Development Mode

# *************************************************************************
# lorenzenp Begin
# *************************************************************************
if [ "${SERVER_NAME}" = "" ] ; then
        SERVER_NAME="AdminServer"
        export SERVER_NAME
fi
if [ "${SERVER_NAME}" = "AdminServer" ] ; then
  USER_MEM_ARGS="-Xms256m -Xmx768m -XX:MaxPermSize=350m -Djava.security.egd=file:/dev/./urandom"
elif [ "${SERVER_NAME}" = "WLS_FORMS" ] ; then
  USER_MEM_ARGS="-Xms768m -Xmx1024m -XX:MaxPermSize=350m -Djava.security.egd=file:/dev/./urandom"
elif [ "${SERVER_NAME}" = "WLS_REPORTS" ] ; then
  USER_MEM_ARGS="-Xms768m -Xmx1024m -XX:MaxPermSize=350m -Djava.security.egd=file:/dev/./urandom"
fi
# *************************************************************************
# lorenzenp End
# *************************************************************************

Production Mode

# *************************************************************************
# lorenzenp Begin
# *************************************************************************
if [ "${SERVER_NAME}" = "" ] ; then
        SERVER_NAME="AdminServer"
        export SERVER_NAME
fi
if [ "${SERVER_NAME}" = "AdminServer" ] ; then
  USER_MEM_ARGS="-Xms256m -Xmx768m -XX:MaxPermSize=350m"
elif [ "${SERVER_NAME}" = "WLS_FORMS" ] ; then
  USER_MEM_ARGS="-Xms1024m -Xmx1024m -XX:MaxPermSize=350m"
elif [ "${SERVER_NAME}" = "WLS_REPORTS" ] ; then
  USER_MEM_ARGS="-Xms1024m -Xmx1024m -XX:MaxPermSize=350m"
fi
# *************************************************************************
# lorenzenp End
# *************************************************************************

In Development Mode I have added a parameter to take care of any entropy problems.

In Production Mode -Xms and -Xmx should always contain the same value for Managed Servers.

Every FMW product seems to have it’s own twist on setting Java parameters. For Forms you need to remove the below entries from setDomainEnv.sh.
java_memory.png

If you don’t the memory parameters will be set several times. You can use “ps -ef | grep oracle” to check if they are set correct.

Node Manager default configuration

The Node Manager has been configured by the domain configuration wizard. This is nice but I have some issues with the way it has been done.

When you access the Node Manager you need to authenticate via a username/password. Default the WebLogic Server users are stored in the build-in LDAP server. The Node Manager user is not a WebLogic Server user and is not stored in the LDAP. When the Admin Server needs to access the Node Manager it uses the username and password stored in the DOMAIN_HOME/config/config.xml file.

The Node Manager will verify the provided username and password against the nm_password.properties file in DOMAIN_HOME/config/nodemanager.

The domain configuration wizard we used to create the domain has created a LDAP user and a Node Manager user. They have the same user name and password. This can be bit difficult to figure out for new users. I believe that they should not have the same username or password, so I always change the Node Manager username and password.

The domain configuration wizard has configured the Node Manager to use SSL/TLS to protect the communication to the Node Manager. A Self-signed SSL certificate is used. I don’t like this. Either you use real certificates or you do not use SSL. I therefore normally remove SSL from the Node Manager.

The main Node Manager configuration is stored in the nodemanager.properties file in /u01/app/oracle/product/forms112/wlserver_10.3/common/nodemanager.

I normally change 3 default settings.

CrashRecoveryEnabled=false
JavaHome=/u01/app/oracle/product/jdk1.7.0_51/jre
ListenAddress=

To this.

CrashRecoveryEnabled=true
JavaHome=/u01/app/oracle/product/java_current/jre
ListenAddress=localhost

This should do it.

cd /u01/app/oracle/product/forms112/wlserver_10.3/common/nodemanager
sed -i 's/CrashRecoveryEnabled=false/CrashRecoveryEnabled=true/g' nodemanager.properties
sed -i 's/JavaHome=.*/javaHome=\/u01\/app\/oracle\/product\/java_current\/jre/g' nodemanager.properties
sed -i 's/ListenAddress=.*/ListenAddress=localhost/g' nodemanager.properties
cat nodemanager.properties

CrashRecoveryEnabled controls if the Node Manager will try to restart a WebLogic servers after a system crash, for example if the Linux server boots. I do not understand why it is default set to false. I always change it to true.

I normally set ListenAddress=localhost unless it is for a WebLogic cluster where I set it to the server name.

Configure automatic start of the servers/processes

Forms/Reports uses both Java and system components. The Java components are controlled via the Node Manager and the system components via the OPMN. The OPMN is an Oracle legacy thing. I will be replaced by the Node Manager in the next main FMW release. We need a couple of scripts to start the components when the server boots. Here are two simple examples.

/etc/init.d/formsNodeManager
/etc/init.d/opmn

Add them.

su -
cd /etc/init.d
chkconfig --add formsNodeManager
chkconfig --level 35 formsNodeManager on
chkconfig --list formsNodeManager

chkconfig --add opmn
chkconfig --level 35 opmn on
chkconfig --list opmn

Boot the server and check if everything starts up.

Notice that the Node Manager will only start a WebLogic server after a boot if CrashRecoveryEnabled is true and if the WebLogic servers was in the RUNNING state before the boot. The WebLogic server also had to be started by the Node Manager before the boot. If you for example manually start a WebLogic server via the startWebLogic.sh script and them boot the server, the Node Manager has not saved the servers state and will not try to start it up. If you stop a WebLogic server via the Admin Console and boot the server, the Node Manager will not try to start the WebLogic servers since it was in the SHUTDOWN state before the boot.

Miscellaneous

You should audit the Logging settings for the domain and the servers to make sure log rotation is configured.

You should configure Configuration Archiving for the domain.

For development servers it is a good idea to change Max Restarts Within Interval.

If you use you own jar files or third-party jars like Jacob you need to sign them and change the manifest. Have a look at this post.

Have a look at Oracle Fusion Middleware Securing a Production Environment for Oracle WebLogic Server 11g. It is of cause only the top of the iceberg but is a start

Configure OCM

If your servers has access to the Internet OCM will automatically download the latest version. If not you should download it yourself and install it manually.

. /u01/app/oracle/domains/FormsReports/bin/setDomainEnv.sh
export ORACLE_HOME=/u01/app/oracle/product/forms112/utils
export JAVA_HOME=/u01/app/oracle/product/java_current
cd $ORACLE_HOME/ccr/bin
./setupCCR -s 12345678 nobody@cgi.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

Feedback

If you feel that I am missing something or find mistakes please tell me. I always want to learn!

{ 17 comments… read them below or add one }

prashant April 30, 2014 at 17:08

I am working on Oracle linux server 6.5. I have successfully installed WebLogic Server 10.3.5.0 and Oracle Forms and Reports 11gR2 (11.1.2.2.0) but when i am trying to configure it I am getting following error.

Creating a new AdminServer Object …
AdminServer port is 7001
Starting the domain …
oracle.as.provisioning.util.ConfigException:
Error while starting the domain.
Cause:
An error occurred while starting the domain.
Action:
See logs for more details.
at oracle.as.provisioning.util.ConfigException.createConfigException(ConfigException.java:123)
at oracle.as.provisioning.weblogic.ASDomain.startDomain(ASDomain.java:3180)
at oracle.as.provisioning.weblogic.ASDomain.startDomain(ASDomain.java:3043)
at oracle.as.provisioning.engine.WorkFlowExecutor._startAdminServer(WorkFlowExecutor.java:1645)
at oracle.as.provisioning.engine.WorkFlowExecutor._createDomain(WorkFlowExecutor.java:635)
at oracle.as.provisioning.engine.WorkFlowExecutor.executeWLSWorkFlow(WorkFlowExecutor.java:391)
at oracle.as.provisioning.engine.Config.executeConfigWorkflow_WLS(Config.java:866)
at oracle.as.install.classic.ca.standard.StandardWorkFlowExecutor.execute(StandardWorkFlowExecutor.java:65)
at oracle.as.install.classic.ca.standard.AbstractProvisioningTask.execute(AbstractProvisioningTask.java:26)
at oracle.as.install.classic.ca.standard.StandardProvisionTaskList.execute(StandardProvisionTaskList.java:61)
at oracle.as.install.classic.ca.ClassicConfigMain.doExecute(ClassicConfigMain.java:124)
at oracle.as.install.engine.modules.configuration.client.ConfigAction.execute(ConfigAction.java:375)
at oracle.as.install.engine.modules.configuration.action.TaskPerformer.run(TaskPerformer.java:88)
at oracle.as.install.engine.modules.configuration.action.TaskPerformer.startConfigAction(TaskPerformer.java:105)
at oracle.as.install.engine.modules.configuration.action.ActionRequest.perform(ActionRequest.java:15)
at oracle.as.install.engine.modules.configuration.action.RequestQueue.perform(RequestQueue.java:96)
at oracle.as.install.engine.modules.configuration.standard.StandardConfigActionManager.start(StandardConfigActionManager.java:186)
at oracle.as.install.engine.modules.configuration.boot.ConfigurationExtension.kickstart(ConfigurationExtension.java:81)
at oracle.as.install.engine.modules.configuration.ConfigurationModule.run(ConfigurationModule.java:86)
at java.lang.Thread.run(Thread.java:662)
Caused by: oracle.as.provisioning.util.ConfigException:
Error while starting the domain.
Cause:
Starting the Admin_Server timed out.
Action:
See logs for more details.
at oracle.as.provisioning.util.ConfigException.createConfigException(ConfigException.java:123)
at oracle.as.provisioning.weblogic.ASDomain.startDomain(ASDomain.java:3150)
… 18 more
oracle.as.provisioning.exception.ASProvisioningException
at oracle.as.provisioning.engine.Config.executeConfigWorkflow_WLS(Config.java:872)
at oracle.as.install.classic.ca.standard.StandardWorkFlowExecutor.execute(StandardWorkFlowExecutor.java:65)
at oracle.as.install.classic.ca.standard.AbstractProvisioningTask.execute(AbstractProvisioningTask.java:26)
at oracle.as.install.classic.ca.standard.StandardProvisionTaskList.execute(StandardProvisionTaskList.java:61)
at oracle.as.install.classic.ca.ClassicConfigMain.doExecute(ClassicConfigMain.java:124)
at oracle.as.install.engine.modules.configuration.client.ConfigAction.execute(ConfigAction.java:375)
at oracle.as.install.engine.modules.configuration.action.TaskPerformer.run(TaskPerformer.java:88)
at oracle.as.install.engine.modules.configuration.action.TaskPerformer.startConfigAction(TaskPerformer.java:105)
at oracle.as.install.engine.modules.configuration.action.ActionRequest.perform(ActionRequest.java:15)
at oracle.as.install.engine.modules.configuration.action.RequestQueue.perform(RequestQueue.java:96)
at oracle.as.install.engine.modules.configuration.standard.StandardConfigActionManager.start(StandardConfigActionManager.java:186)
at oracle.as.install.engine.modules.configuration.boot.ConfigurationExtension.kickstart(ConfigurationExtension.java:81)
at oracle.as.install.engine.modules.configuration.ConfigurationModule.run(ConfigurationModule.java:86)
at java.lang.Thread.run(Thread.java:662)
Caused by: oracle.as.provisioning.exception.ASProvWorkflowException: Error Executing workflow.
at oracle.as.provisioning.engine.WorkFlowExecutor._createDomain(WorkFlowExecutor.java:686)
at oracle.as.provisioning.engine.WorkFlowExecutor.executeWLSWorkFlow(WorkFlowExecutor.java:391)
at oracle.as.provisioning.engine.Config.executeConfigWorkflow_WLS(Config.java:866)
… 13 more

I am new in Oracle forms and report.. Please help.

John May 23, 2014 at 19:53

Peter. Great post. It has been very helpful.

I have followed every step in your instructions however I get a failure on the installation of the step creating reports server components during the configuration process. This happens on a fresh install.

The inventory log the inventory log: /oracle/oraInventory/logs/install….
has the last lines of:

[2014-04-29T12:00:44.129+03:00] [as] [TRACE:16] [] [oracle.as.config] [tid: 44] [ecid: 0000KMgS8vUFCCWFLzzG8A1JNp4w00000Z,0] [SRC_CLASS: oracle.as.config.utl.FileUtil] [SRC_METHOD: isWebsphereEnabled] Java property is not defined. isWebsphereEnabled=false
[2014-04-29T12:00:44.130+03:00] [as] [TRACE:16] [] [oracle.as.config] [tid: 44] [ecid: 0000KMgS8vUFCCWFLzzG8A1JNp4w00000Z,0] [SRC_CLASS: oracle.as.config.utl.FileUtil] [SRC_METHOD: isWebsphereEnabled] Java property is not defined. isWebsphereEnabled=false
[2014-04-29T12:00:44.131+03:00] [as] [TRACE:16] [] [oracle.as.config] [tid: 44] [ecid: 0000KMgS8vUFCCWFLzzG8A1JNp4w00000Z,0] [SRC_CLASS: oracle.as.config.utl.FileUtil] [SRC_METHOD: isWebsphereEnabled] Java property is not defined. isWebsphereEnabled=false
[2014-04-29T12:00:44.132+03:00] [as] [TRACE:16] [] [oracle.as.config] [tid: 44] [ecid: 0000KMgS8vUFCCWFLzzG8A1JNp4w00000Z,0] [SRC_CLASS: oracle.as.config.impl.OracleASInstanceProvisioner] [SRC_METHOD: directoryIsPopulated] directoryIsPopulated found unexcluded file/dir: /oracle/Oracle/Middleware/asinst_1/FRComponent
[2014-04-29T12:00:44.132+03:00] [as] [TRACE:32] [] [oracle.as.config] [tid: 44] [ecid: 0000KMgS8vUFCCWFLzzG8A1JNp4w00000Z,0] [SRC_CLASS: oracle.as.config.impl.OracleASInstanceProvisioner] [SRC_METHOD: calcDirectoryStatus] Oracle Instance directory status: INSTANCE

Apparently this is the same issue as seen here: https://community.oracle.com/thread/3553308

Any further assistance would be greatly appreciated.

Peter Lorenzen May 23, 2014 at 21:00

Hi John,
Hmm not sure what is happening here. What is in your /etc/hosts?
Regards Peter

John May 24, 2014 at 18:09

Hi Peter,

My /etc/hosts file has my IP address (from ifconfig) and my hostname from the command hostname. This is on the last line of the /etc/hosts/ file.

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

I receive no errors until the very last part of the “Configuration Progress” after running through the “Configure for Deployment” process. Specifically it fails on one of the very last steps “Creating Reports Server Components”.

John May 24, 2014 at 18:10

here is my /etc/hosts file

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
123.34.56.789 myhostnamehere

John May 24, 2014 at 20:31

Hi Peter,

Your comment to check the etc file was correct. Somehow I placed the wrong hostname in the file. I fixed that error and now everything is working properly.

Great Article. Very helpful.

nisusa July 20, 2014 at 04:24

Hi Peter,
First of all my hearty congratulations for a wonderful aricle. It was my first install into deploying forms and reports and you made it look easy. You writing is like reading a book with lots of links and notes for a noob like me to understand whats weblogic and fusion middleware is all about. Although, i faced few issues, i was able to overcome them in the last 2 days. It took me 2 days from scratch to build OS and complete the installation. I installed forms/reports server on OEL 32 bit 6.5 on my win 7 64 bit laptop with oracle virtual box. You did an amazing job in adding your experience about low entropy and startup. Now that i am done with this, i was looking for a blog on how to deploy forms/reports. May be you should consider writing one. So here are some of the issues i faced and the resolution.

Versions:
Weblogic 10.3
Fusion Middleware: 11.1.2

1) During configuration, opmnctl startproc ias-component failed:

Error message in logfile $MW_HOME//diagnostics/logs/ReportsServerComponent/ReportsServer__/rwserver_diagnostic.log:

Broadcasting is disabled. Please enable cosnaming for Reports discovery.

Command that caused this error:
/u01/app/oracle/product/FormsReports/Oracle_FRHome1/perl/bin/perl /u01/app/oracle/product/FormsReports/instances/FRInst1/bin/opmnctl startproc ias-component=RptSvr_reportserver_FRInst1

Fix:
Fixed by SELinux turned off

# service iptables save
# service iptables stop
# chkconfig iptables off

Hit retry on the GUI.

2) Fixing boot.properties for managed servers:

I created file /u01/app/oracle/domains/FormsReports/servers/AdminServer/security/boot.properties and put in the username/password as you did. But for the managed servers to work without asking password, i had to do the following:

cd /u01/app/oracle/domains/FormsReports/servers/WLS_FORMS/security/
ln -s /u01/app/oracle/domains/FormsReports/servers/AdminServer/security/boot.properties
cd /u01/app/oracle/domains/FormsReports/servers/WLS_REPORTS/security/
ln -s /u01/app/oracle/domains/FormsReports/servers/AdminServer/security/boot.properties

3) nmServerStatus(‘WLS_FORMS’) and nmServerStatus(‘WLS_REPORTS’) show status unknown

This is due to the fact that the managed servers were not started from node manager but from the admin console. So the initial properties file were missing.

Error:
weblogic.management.ManagementException: Booting as admin server, but servername, WLS_REPORTS, does not match the admin server name, AdminServer

Reference:
http://www.weblogic-tips.com/2012/02/18/starting-managed-servers-without-an-administration-server-using-node-manager-and-wlst/
https://community.oracle.com/thread/1107204?start=0&tstart=0

Fix:
source ~oracle/.profile ; source ${WL_HOME}/server/bin/setWLSEnv.sh

java weblogic.WLST -skipWLSModuleScanning

print ‘START NODE MANAGER';
startNodeManager(verbose=’true’, NodeManagerHome=nodemanagerhomelocation, ListenPort=’5556′, ListenAddress=’reportserver’);

print ‘CONNECT TO NODE MANAGER';
nmConnect(username=’weblogic’, password=’password’, domainName=’FormsReports’, domainDir=’/u01/app/oracle/domains/FormsReports’, nmType=’ssl’, port=’5556′, host=’reportserver’)

print ‘START ADMIN SERVER';
nmStart(‘AdminServer’);
nmServerStatus(‘AdminServer’);

print ‘START MANAGED SERVER';
nmStart(‘WLS_FORMS’)
nmServerStatus(‘WLS_FORMS’)

print ‘CONNECT TO ADMIN SERVER';
connect(‘weblogic’,’password’,’t3://reportserver:7001′)

print ‘START MANAGED SERVER';
start(‘WLS_REPORTS’,’Server’)
nmServerStatus(‘WLS_REPORTS’)

nmKill(‘WLS_REPORTS’);
nmKill(‘WLS_FORMS’);

From now on, nmStart(‘WLS_REPORTS’) should also work fine.

Well keep up your good work. Thank you.

Peter Lorenzen July 20, 2014 at 10:24

Thanks for your comments nisusa

GJ July 26, 2014 at 17:02

Is there a way you can updload an virtual instance of any OS with oracle form and reports ? I’ve tried to install it multiple times without success and a need to learn form and reports for next wednesday

Peter Lorenzen July 26, 2014 at 21:14

Sorry that is not possible.

Charlene August 7, 2014 at 20:49

Hi John

This document was extremely helpful. Many things have changed since OFM 11.1.1.6 and your document got me through some much of the process. Thank you for a well written document.
I have just one question. What does the $LD_LIBRARY_PATH setting for the linux x86-64 need to be? i have an existing WLS/OFM on a linux x86 server and the value is set to
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:$ORACLE_HOME/jdk/jre/lib/i386:$ORACLE_HOME/jdk/jre/lib/i386/server:$ORACLE_HOME/jdk/jre/lib/i386/native_threads

i do not see anything like that on this server. Any suggestions as to what it might be if it is needed at all?

thank you

Peter Lorenzen August 18, 2014 at 11:17

Hi,
LD_LIBRARY_PATH does not need to be set for Forms/Reports to work. I would remove it.
Regards Peter

Raghavendra November 20, 2014 at 15:49

This article is very good. I did followed this article without missing any steps to upgrade Form&Report from relase-1 to relase-2 and got successful.

Many thanks for a such clear steps.

Bobby Coons November 26, 2014 at 06:49

H Peter,
As others have already said, great article. Very informative and helpful for a newbie like me.

I am building two servers and want the name of the ias-component (eg. RptSvr_wintermute_FRinst) for the reports server to be the same on both servers? By default the server name is used. Do you know if there is a way to change that name at the time of install or after install? The forms and reports application I am using uses the reports server name in a configuration table so they can run reports. Therefore, I need the name of the component to be the same on both machines (primary, failover).

Thanks,
Bobby

Peter Lorenzen November 28, 2014 at 10:12

Hi Bobby,
Sorry I don’t know.
Regards Peter

Ash December 4, 2014 at 13:01

Hi Pete,

Thanks for this. I have installed all this without any (well, not much) difficulty. I have 2 Vms – 1 with Oracle 11g DB, and the second with this weblogic/forms/reports . I want to create a small test form and run that and connect to a database table in VM1. Is there any tutorials on how to do this?

Kind Regards,
Ash

Peter Lorenzen December 4, 2014 at 14:53

Hi Ash,
Sorry I do not know of such a tutorials.
Regards Peter

Leave a Comment

Previous post:

Next post: