Pythian Blog: Technical Track

A Fast and Easy Approach to Installing Oracle Fusion Middleware Product (in Just 9 Steps)

How easy is it to install an Oracle Fusion Middleware product?

Actually, it’s pretty straightforward. Let’s see an example of installing the latest Oracle Forms and Reports 12.2.1.4 component services and the WebLogic. We will use a quick way to run the installers in silent mode without using GUI complexity.

Step 1

The first step is to review the OS certifications and library package/minimum configuration requirements for the on-premises Weblogic platform and then tune it.

An example of RHEL 7:

yum install -y binutils gcc gcc-c++ glibc.x86_64 glibc.i686 glibc-devel libaio libaio-devel libgcc.x86_64 libgcc.i686 libstdc++.x86_64 libstdc++.i686 libstdc++-devel.x86_64 ksh make sysstat motif motif-devel redhat-lsb.x86_64 redhat-lsb-core.x86_64 openssl xorg-x11-utils libnsl
# Bonus - This is applicable for RHEL/CentOS and Red Hat derived platforms
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/compat-libcap1-1.10-7.el7.x86_64.rpm
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/compat-libstdc++-33-3.2.3-72.el7.i686.rpm
yum localinstall compat-libcap1-1.10-7.el7.x86_64.rpm
yum localinstall compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
yum localinstall compat-libstdc++-33-3.2.3-72.el7.i686.rpm

rpm -qa |egrep "binutils"
rpm -qa |egrep "gcc.*.x86_64"
rpm -qa |egrep gcc-c++
rpm -qa |egrep "glibc.*.x86_64"
rpm -qa |egrep "glibc.*.i686"
rpm -qa |egrep glibc-devel
rpm -qa |egrep libaio
rpm -qa |egrep libaio-devel
rpm -qa |egrep "libgcc.*.x86_64"
rpm -qa |egrep "libgcc.*.i686"
rpm -qa |egrep "libstdc++.*.x86_64"
rpm -qa |egrep "libstdc++.*.i686"
rpm -qa |egrep "libstdc++-devel.*.x86_64"
rpm -qa |egrep dejavu-serif-fonts
rpm -qa |egrep ksh
rpm -qa |egrep make
rpm -qa |egrep sysstat
rpm -qa |egrep motif
rpm -qa |egrep motif-devel
rpm -qa |egrep "redhat-lsb.*.x86_64"
rpm -qa |egrep "redhat-lsb-core.*.x86_64"
rpm -qa |egrep openssl
rpm -qa |egrep xorg-x11-utils

It is a common practice to utilize Oracle’s preinstall RPM package for databases (like oracle-database-preinstall-19c). A suggestion from our side is to still peer review the package list cause it does not deliver the required 32-bit packages.

Also, it creates the OS user oracle and sets all the limits for that user only. If the installation target differs, an update for /etc/security/limits.conf and other files created under the /etc/security/limits.d directory is required.

We also recommend disabling the transparent HugePages feature for Oracle Middleware. Please reference Disable Transparent HugePages on SLES11, RHEL6, RHEL7, RHEL8, OL6, OL7, OL8 and UEK2 and above (Doc ID 1557478.1).

Step 2

Next is to install JDK 8 ( LTS ) to run the installers and the JVMs used by WebLogic server processes.

The latest or any past update media can be obtained by referring to the Supported Java SE Downloads on MOS (Doc ID 1439822.2).

mkdir -p /u01/app/oracle/product
mkdir /u01/app/oracle/config
mkdir /u01/app/oracle/oraInventory

cd /u01/app/oracle/product
tar -xf /u01/stage/jdk-8u361-linux-x64.tar.gz
ln -s /u01/app/oracle/product/jdk1.8.0_361 /u01/app/oracle/product/jdk

Step 3

Create a central Oracle inventory pointer file oraInst.loc (as root).

cat - > /etc/oraInst.loc <<EOF
inst_group=oinstall
inventory_loc=/u01/app/oracle/oraInventory
EOF

Step 4

Prepare the response file for the FMW Infrastructure installation, which includes Weblogic.

cat - > /u01/stage/weblogic_FMW.rsp <<EOF
[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=
#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 s
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=
#The oracle home location. This can be an existing Oracle Home or a new Oracle Home
ORACLE_HOME=/u01/app/oracle/product/fmw12214
#The federated oracle home locations. This should be an existing Oracle Home. Multiple values can be provided as comma seperated values
FEDERATED_ORACLE_HOMES=
#Set this variable value to the Installation Type selected. e.g. Fusion Middleware Infrastructure With Examples, Fusion Middleware Infrastructure.
INSTALL_TYPE=Fusion Middleware Infrastructure
EOF

Step 5

Install the FMW Infrastructure.

/u01/app/oracle/product/jdk/bin/java -Djava.io.tmpdir=/u01/stage -jar /u01/stage/fmw_12.2.1.4.0_infrastructure.jar -silent -responseFile /u01/stage/weblogic_FMW.rsp -invPtrLoc /etc/oraInst.loc

Step 6

Prepare the response file for the FMW Forms and Reports installation.

cat - > /u01/stage/formsnreports.rsp <<EOF
[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=
#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 s
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=
#The oracle home location. This can be an existing Oracle Home or a new Oracle Home
ORACLE_HOME=/u01/app/oracle/product/fmw12214
#The federated oracle home locations. This should be an existing Oracle Home. Multiple values can be provided as comma seprated values
FEDERATED_ORACLE_HOMES=
#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
#The jdk home location.
JDK_HOME=/u01/app/oracle/product/jdk
EOF

Step 7

Install the FMW Forms and Reports.

/u01/stage/fmw_12.2.1.4.0_fr_linux64.bin -J-Djava.io.tmpdir=/u01/stage -silent -response /u01/stage/formsnreports.rsp -invPtrLoc /etc/oraInst.loc

A special note for the latest RHEL8-based distributions – 12.2.1.4 release was published before the OS got officially certified. To avoid issues, please reference Patch 31190532 and Installation of Fusion Middleware 12.2.1.4.0 Distributions on Red Hat Linux or Oracle Linux Version 8 Fail Checking EL7 Package Requirements (Doc ID 2652061.1).

/u01/stage/fmw_12.2.1.4.0_fr_linux64.bin -J-Djava.io.tmpdir=/u01/stage -silent -response /u01/stage/formsnreports.rsp -invPtrLoc /etc/oraInst.loc -prereqConfigLoc /u01/stage/31190532/prereq_metadata/oracle.as.install.fr.prerequisite/prereq

Step 8

Our example above references using a symbolic link for the JDK. It is a solid approach to ease the JDK update process as part of the patch cycle to avoid any change requirement for the Weblogic domain configuration. But every new Fusion Middleware component installation tends to ignore the symlink input and automatically updates the configuration to the real full path. So we usually put the manual updates to set the symbolic link back. A good reference is How to Install and Maintain the Java SE Installed or Used with FMW 11g/12c/14.1.1 Products (Doc ID 1492980.1). In our Forms and Reports example before the domain creation, it requires updates to these files:

sed -i "s/jdk1.8.0_361/jdk/g" /u01/app/oracle/product/fmw12214/oui/.globalEnv.properties
sed -i "s/jdk1.8.0_361/jdk/g" /u01/app/oracle/product/fmw12214/install/envVars.properties
sed -i "s/jdk1.8.0_361/jdk/g" /u01/app/oracle/product/fmw12214/oui/bin/compareInventory.sh
sed -i "s/jdk1.8.0_361/jdk/g" /u01/app/oracle/product/fmw12214/oui/bin/install.sh
sed -i "s/jdk1.8.0_361/jdk/g" /u01/app/oracle/product/fmw12214/oui/bin/viewInventory.sh
sed -i "s/jdk1.8.0_361/jdk/g" /u01/app/oracle/product/fmw12214/oracle_common/common/bin/commBaseEnv.sh
sed -i "s/jdk1.8.0_361/jdk/g" /u01/app/oracle/product/fmw12214/oracle_common/common/bin/commEnv.sh
sed -i "s/jdk1.8.0_361/jdk/g" /u01/app/oracle/product/fmw12214/oracle_common/common/bin/commExtEnv.sh
sed -i "s/jdk1.8.0_361/jdk/g" /u01/app/oracle/product/fmw12214/oracle_common/common/bin/setHomeDirs.sh

Step 9

With the above binaries installed, it’s recommended to go through the latest security updates released for the installed products and apply the Critical Patch Updates (https://www.oracle.com/security-alerts/).

Please review the Java SE, Weblogic, FMW Infrastructure, and Forms and Reports components requirements.

For example, reference the Forms and Reports tab under the Critical Patch Update (CPU) Patch Advisor for Oracle Fusion Middleware – Updated for January 2023 (Doc ID 2806740.2).

Now you can proceed with the Metadata Repository database creation step and configure your Weblogic domain.

Part II of this blog post will continue the similar silent steps to set up the repo and WLS domain configuration.

Hope it helps!

No Comments Yet

Let us know what you think

Subscribe by email