How to install and configure Oracle Forms & Reports 12c fully unattended - Part 1

Posted by Dirk Nachbar on Wednesday, May 31, 2017
Today, I will have a novelty on my blog. This blogpost is driven by a joint venture between 3 consultants based in 2 countries (Switzerland and Germany) and working for 3 different consulting companies (Robert Crames = Edorex, Jan-Peter Timmermann = AuraPlayer and myself = Trivadis).

As we three consultants, Robert Crames (https://robertcrames.blogspot.ch), Jan-Peter Timmermann (https://jan-peter.me ) and myself are intensively working with Oracle Fusion Middleware Products, which also covers Oracle Forms & Reports, we’re stumbling over following problem with Oracle Forms & Reports 12c:

  • Missing possibility during the WebLogic Domain creation for Forms & Reports to use a “record” Feature
Different contacts with Oracle and researches within My Oracle Support, confirmed that the “record” feature is no longer available within Oracle Forms & Reports 12c.
Therefore, in case you will have to create on several servers Oracle Forms & Reports environments, you will need a lot of patience while clicking through the Configuration Wizard for WebLogic Domain creation. So automation is quite impossible for a complete installation and configuration ☹

So, the joint venture (Robert, Jan-Peter and myself) we were pooling our knowledge and created a script set for “How to install and configure an Oracle Forms & Reports 12c environment completely unattended and silent”.

Here I will present the first part:
  • Installation of JDK
  • Installation of Oracle WebLogic Server Infrastructure 12.2.1.2.0
  • Installation of Oracle Forms & Reports 12.2.1.2.0
The above steps are requiring following files:
  • setLocalEnv.sh
    • here we define all necessary values for the installation, e.g. ORACLE_BASE, JDK Release, ORACLE_HOME and so on
  • silent_jdk.sh
    • installs under the Oracle Software Owner a private JDK
  • silent_wls_infra.sh
    • Install the Oracle WebLogic Server Infrastructure 12.2.1.2.0
    • Requires setLocalEnv.sh, oraInst.loc and response_file_wls_infra.rsp
  • silent_forms.sh
    • Installs the Oracle Forms & Reports 12.2.1.2.0 over the prior installed Oracle WebLogic Server Infrastructure
    • Requires setLocalEnv.sh, oraInst.loc and response_file_forms.rsp
Place the following files all under one directory, e.g. /u00/app/oracle/install.


Download the required Oracle Software Installation sources and place them as well in the same directory as the script set
First lets have a quick look on the setLocalEnv.sh. I will just explain the for now required variables, the remaining variables will be described in Robert’s Blogpost

For the first steps, we need to have a look on following environment variables in the setLocalEnv.sh
  • JDK_SOURCE: here we define the JDK installation source file (tar.gz)
  • JDK_REL: is the JDK Release, the syntax is for JDK 8 = 1.8.0_<updateversion>
  • ORACLE_BASE: defines our ORACLE_BASE
  • INT_ORACLE_HOME: defines our target ORACLE_HOME
  • The remaining variables will be explained in Robert's second Blogpost
# Location to the directory in which the create Domain scripts are residing
export SCRIPT_HOME=$PWD

export JDK_SOURCE=jdk-8u131-linux-x64.tar.gz
export JDK_REL=1.8.0_131

# Directories
export ORACLE_BASE=/appl/oracle
export INT_ORACLE_HOME=$ORACLE_BASE/product/fmw-fr-12.2.1.2.0
export WL_HOME=$INT_ORACLE_HOME/wlserver
export WLST_HOME=$INT_ORACLE_HOME/oracle_common/common/bin
export MW=$INT_ORACLE_HOME
export DOMAIN_BASE=$ORACLE_BASE/user_projects/domains
export APPLICATION_BASE=$ORACLE_BASE/user_projects/applications
export APP_VZ=$APPLICATION_BASE

# install forms true / false
export FORMS12C=true
# install reports true / false
export REPORTS12C=true
# install OHS true / false
export WEBTIER12C=true
export OHS_COMPONENTNAME=ohs1
export OHS_LISTENPORT=7777
export OHS_SSLPORT=4443

# Domain specific
export TEMPLATE=$WL_HOME/common/templates/wls/wls.jar
export DOMAIN_NAME=FRTEST

# AdminServer
export AS_NAME=FRTESTAdminServer
export ADM_USER=weblogic
export ADM_PWD=welcome1
export ADMINPORT=7001 
export ADMINPORTSSL=7101
export AS_HOST=`hostname -f`

# Name and Port for the Forms Managed Server
export FORMS_MS_NAME=MS_FORMS
export FORMS12C_MS_PORT=9001

# Name and Port for the Reports Managed Server
export REPORTS_MS_NAME=MS_REPORTS
export REPORTS12C_MS_PORT=9002

# Move Reports Application into WLS_FORMS (true or false)
export REPORTS_IN_FORMS=false

# NodeManager
export NM_LISTENADDRESS=`hostname -f`
export NM_TYPE=SSL
export NM_PORT=5556
export NM_USERNAME=nodemanager
export NM_PWD=welcome1

# Repository Connect
export DBUSER=sys
export DBPWD=
export DBROLE=SYSDBA
export COMPONENTPWD=
export SCHEMA_PREFIX=$DOMAIN_NAME
export DB_HOST=
export DB_PORT=
export DB_SERVICE=
export DB_OMF=true
export DB_USER_PW=welcome1
export PWDFILE=$SCRIPT_HOME/passwords.txt

The first script to execute is the silent_jdk.sh, this script simply unpacks the JDK under the defined $ORACLE_BASE/product/jdk$JDK_REL
silent_jdk.sh

#!/bin/bash
#=====================================================================
#
# $Id: silent_jdk.sh $
#
# PURPOSE: Script to install JDK
#
# PARAMETERS: none
#
# NOTES:   setLocalEnv.sh must be present and aligned
#
# AUTHOR:  Dirk Nachbar, https://dirknachbar.blogspot.com
#
# MODIFIED:
#
#
#=====================================================================

source setLocalEnv.sh

mkdir -p ${ORACLE_BASE}/product/
cp ${JDK_SOURCE} ${ORACLE_BASE}/product/
cd ${ORACLE_BASE}/product/
gunzip ${JDK_SOURCE}
JDK_TAR=${JDK_SOURCE::-3}
tar -xvf ${JDK_TAR}
rm ${ORACLE_BASE}/product/${JDK_TAR}


The next step is to install the Oracle WebLogic Server Infrastructure 12.2.1.2.0, here we are using the silent installation option with a response file and an oraInst.loc file

silent_wls_infra.sh

#!/bin/bash
#=====================================================================
#
# $Id: silent_wls_infra.sh $
#
# PURPOSE: Script to install WebLogic Infrastructure
#
# PARAMETERS: none
#
# NOTES:   setLocalEnv.sh must be present and aligned
#
# AUTHOR:  Dirk Nachbar, https://dirknachbar.blogspot.com
#
# MODIFIED:
#
#
#=====================================================================

source setLocalEnv.sh

export JAVA_HOME=${ORACLE_BASE}/product/jdk${JDK_REL}
export PATH=$JAVA_HOME/bin:$PATH

java -jar fmw_12.2.1.2.0_infrastructure.jar -silent -responseFile ${SCRIPT_HOME}/response_file_wls_infra.rsp -jreLoc ${JAVA_HOME} -invPtrLoc ${SCRIPT_HOME}/oraInst.loc


The referenced response file for the silent_wls_infra.sh Installation script looks as follows
response_file_wls_infra.rsp

[ENGINE]
#DO NOT CHANGE THIS.
Response File Version=1.0.0.0.0
[GENERIC]
#Set this to true if you wish to skip software updates
DECLINE_AUTO_UPDATES=true
#My Oracle Support User Name
MOS_USERNAME=
#My Oracle Support Password
MOS_PASSWORD=<SECURE VALUE>
#If the Software updates are already downloaded and available on your local system, then specify the path to the directory where these patches are available and set SPECIFY_DOWNLOAD_LOCATION to true
AUTO_UPDATES_LOCATION=
#Proxy Server Name to connect to My Oracle Support
SOFTWARE_UPDATES_PROXY_SERVER=
#Proxy Server Port
SOFTWARE_UPDATES_PROXY_PORT=
#Proxy Server Username
SOFTWARE_UPDATES_PROXY_USER=
#Proxy Server Password
SOFTWARE_UPDATES_PROXY_PASSWORD=<SECURE VALUE>
#The oracle home location. This can be an existing Oracle Home or a new Oracle Home
ORACLE_HOME=/appl/oracle/product/fmw-fr-12.2.1.2.0
#Set this variable value to the Installation Type selected. e.g. Fusion Middleware Infrastructure, Fusion Middleware Infrastructure With Examples.
INSTALL_TYPE=Fusion Middleware Infrastructure
#Provide the My Oracle Support Username. If you wish to ignore Oracle Configuration Manager configuration provide empty string for user name.
MYORACLESUPPORT_USERNAME=
#Provide the My Oracle Support Password
MYORACLESUPPORT_PASSWORD=<SECURE VALUE>
#Set this to true if you wish to decline the security updates. Setting this to true and providing empty string for My Oracle Support username will ignore the Oracle Configuration Manager configuration
DECLINE_SECURITY_UPDATES=true
#Set this to true if My Oracle Support Password is specified
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
#Provide the Proxy Host
PROXY_HOST=
#Provide the Proxy Port
PROXY_PORT=
#Provide the Proxy Username
PROXY_USER=
#Provide the Proxy Password
PROXY_PWD=<SECURE VALUE>
#Type String (URL format) Indicates the OCM Repeater URL which should be of the format [scheme[Http/Https]]://[repeater host]:[repeater port]
COLLECTOR_SUPPORTHUB_URL=

The referenced oraInst.loc file for the silent_wls_infra.sh Installation script looks as follows
oraInst.loc
inst_group=oinstall
inventory_loc=/u00/app/oracle/oraInventory

The last step is to install the Oracle Forms & Reports 12.2.1.2.0 components over the prior installed Oracle WebLogic Server Infrastructure 12.2.1.2.0.
With this step is one speciality, I am replacing the originally provided frmconfighelper.sh script with my modified version described in my Blogpost https://dirknachbar.blogspot.ch/2017/05/oracle-forms-12c-frmconfighelper.html

For this installation step we are using the silent_forms.sh, which is referencing a corresponding response file and the same oraInst.loc as we used before for the Oracle WebLogic Server Infrastructure installation

silent_forms.sh

#!/bin/bash
#=====================================================================
#
# $Id: silent_forms.sh $
#
# PURPOSE: Script to install Oracle Forms and Reports
#           on top of existing WebLogic Server Infrastructure Installation
#
# PARAMETERS: none
#
# NOTES:   setLocalEnv.sh must be present and aligned
#          Modified frmconfighelper.sh will be provided
#                   with more functions
#
# AUTHOR:  Dirk Nachbar, https://dirknachbar.blogspot.com
#
# MODIFIED:
#
#
#=====================================================================

source setLocalEnv.sh

export JAVA_HOME=${ORACLE_BASE}/product/jdk${JDK_REL}

./fmw_12.2.1.2.0_fr_linux64.bin -silent -responseFile ${SCRIPT_HOME}/response_file_forms.rsp -jreLoc ${JAVA_HOME} -invPtrLoc ${SCRIPT_HOME}/oraInst.loc

mv ${MW}/forms/provision/frmconfighelper.sh ${MW}/forms/provision/frmconfighelper.sh.org
cp ${SCRIPT_HOME}/frmconfighelper.sh ${MW}/forms/provision/
chmod +x ${MW}/forms/provision/frmconfighelper.sh


The referenced response file response_file_forms.rsp for the silent_forms.sh Installation script looks as follows

[ENGINE]
#DO NOT CHANGE THIS.
Response File Version=1.0.0.0.0
[GENERIC]
#Set this to true if you wish to skip software updates
DECLINE_AUTO_UPDATES=true
#My Oracle Support User Name
MOS_USERNAME=
#My Oracle Support Password
MOS_PASSWORD=<SECURE VALUE>
#If the Software updates are already downloaded and available on your local system, then specify the path to the directory where these patches are available and set SPECIFY_DOWNLOAD_LOCATION to true
AUTO_UPDATES_LOCATION=
#Proxy Server Name to connect to My Oracle Support
SOFTWARE_UPDATES_PROXY_SERVER=
#Proxy Server Port
SOFTWARE_UPDATES_PROXY_PORT=
#Proxy Server Username
SOFTWARE_UPDATES_PROXY_USER=
#Proxy Server Password
SOFTWARE_UPDATES_PROXY_PASSWORD=<SECURE VALUE>
#The oracle home location. This can be an existing Oracle Home or a new Oracle Home
ORACLE_HOME=/u00/app/oracle/product/fmw-fr-12.2.1.2.0
#Set this variable value to the Installation Type selected as either Standalone Forms Builder OR Forms and Reports Deployment
INSTALL_TYPE=Forms and Reports Deployment

Putting all together, just create all the above described files into one directory on your Linux Server, e.g. /u00/app/oracle/install. Make the *.sh scripts executable (chmod +x *.sh) and execute them in following order:
cd /u00/app/oracle/install
chmod +x *.sh
./silent_jdk.sh
./silent_wls_infra.sh
./silent_forms.sh

Now, you have the base for the next steps, described by Robert Crames in his Blogpost http://robertcrames.blogspot.ch/2017/05/how-to-install-and-configure-oracle.html

After you are done with reading and applying Robert’s Part, stay tuned for my next Blogpost “How to automate Multiple Managed Servers for Oracle Forms”