Request A Demo
Back to All Blog Articles

Automate Oracle BI 12c Installation with FlexDeploy

In this blog, I will demonstrate use of FlexDeploy workflow to install binaries for Oracle BI 12.2.1.1, 12.2.1.2 or 12.2.1.3. You can use this workflow to install the same versions of Fusion Middleware Infrastructure as well. Files used in this blog post can be downloaded from OracleBI.7z. You can use Workflow XML included in download zip to create FlexDeploy Utility Workflow in your environment. You can alternatively just use shell scripts provided as well for installation.

You must install appropriate Java version on your Servers and save downloaded installer zip files on the servers as well. You can keep downloaded zip files in shared filesystem as well. Keep in mind that if you have multiple Nodes in your domain, FlexDeploy will install this on all Nodes that are included.

Let’s first look at steps involved in the FlexDeploy workflow. You can see all details once you open Workflow in your environment.

  1. Create response file. Install commands require response files for silent installation.
  2. Run Installer for Fusion Middleware Infrastructure. Unzip downloaded zip first and run Java command using response files.
  3. Run Installer for Oracle BI. This is done by using file included in first zip file.

Here are details of two install scripts, Fusion Middleware Infrastructure and Oracle BI. Note that FD_TEMP_DIR is temporary folder variable available when running from FlexDeploy.

RESPONSE_FILE=$FD_TEMP_DIR/install.rsp
echo "# Copyright (c) 2017 Oracle and/or its affiliates. All rights reserved.
#
# Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl.
#
[ENGINE]

#DO NOT CHANGE THIS.
Response File Version=1.0.0.0.0

[GENERIC]

DECLINE_SECURITY_UPDATES=true
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false" >  $RESPONSE_FILE
# FMW_VERSION - For example, 12.2.1.1, 12.2.1.2 or 12.2.1.3
# ORACLE_HOME
# BINARY_LOCATION
# JAVA_HOME

RESPONSE_FILE=$FD_TEMP_DIR/install.rsp
INV_FILE=/etc/oraInst.loc

cd $BINARY_LOCATION
if [ "$FMW_VERSION" == "12.2.1.1" ]
then
    FMW_ZIP=fmw_12.2.1.1.0_infrastructure_Disk1_1of1.zip
    FMW_JAR=fmw_12.2.1.1.0_infrastructure.jar
elif [ "$FMW_VERSION" == "12.2.1.2" ]
then
    FMW_ZIP=fmw_12.2.1.2.0_infrastructure_Disk1_1of1.zip
    FMW_JAR=fmw_12.2.1.2.0_infrastructure.jar
elif [ "$FMW_VERSION" == "12.2.1.3" ]
then
    FMW_ZIP=fmw_12.2.1.3.0_infrastructure_Disk1_1of1.zip
    FMW_JAR=fmw_12.2.1.3.0_infrastructure.jar
else
    echo $FMW_VERSION is not supported for install.
    exit 1
fi

# Unzip first, if already unzipped leave it
if [ -f $FMW_JAR ]
then
    echo $FMW_JAR already exists in $BINARY_LOCATION
else
    if [ -f $FMW_ZIP ]
    then
        echo unzip $FMW_ZIP
        unzip $FMW_ZIP
    else
        echo $FMW_ZIP not found in $BINARY_LOCATION
        exit 1
    fi
fi

$JAVA_HOME/bin/java -d64 -jar $FMW_JAR -silent -invPtrLoc $INV_FILE -responseFile $RESPONSE_FILE -jreLoc $JAVA_HOME ORACLE_HOME=$ORACLE_HOME INSTALL_TYPE="Fusion Middleware Infrastructure"
# FMW_VERSION - For example, 12.2.1.1, 12.2.1.2 or 12.2.1.3
# ORACLE_HOME
# BINARY_LOCATION

RESPONSE_FILE=$FD_TEMP_DIR/install.rsp
INV_FILE=/etc/oraInst.loc

cd $BINARY_LOCATION
if [ "$FMW_VERSION" == "12.2.1.1" ]
then
    BI_ZIP1=fmw_12.2.1.1.0_bi_linux64_Disk1_1of2.zip
    BI_ZIP2=fmw_12.2.1.1.0_bi_linux64_Disk1_2of2.zip
    BI_UNZIPPED1=bi_platform-12.2.1.1.0_linux64.bin
    BI_UNZIPPED2=bi_platform-12.2.1.1.0_linux64-2.zip
elif [ "$FMW_VERSION" == "12.2.1.2" ]
then
    BI_ZIP1=fmw_12.2.1.2.0_bi_linux64_Disk1_1of2.zip
    BI_ZIP2=fmw_12.2.1.2.0_bi_linux64_Disk1_2of2.zip
    BI_UNZIPPED1=bi_platform-12.2.1.2.0_linux64.bin
    BI_UNZIPPED2=bi_platform-12.2.1.2.0_linux64-2.zip
elif [ "$FMW_VERSION" == "12.2.1.3" ]
then
    BI_ZIP1=fmw_12.2.1.3.0_bi_linux64_Disk1_1of2.zip
    BI_ZIP2=fmw_12.2.1.3.0_bi_linux64_Disk1_2of2.zip
    BI_UNZIPPED1=bi_platform-12.2.1.3.0_linux64.bin
    BI_UNZIPPED2=bi_platform-12.2.1.3.0_linux64-2.zip
else
    echo $FMW_VERSION is not supported for install.
    exit 1
fi

# Unzip first, if already unzipped leave it
if [ -f $BI_UNZIPPED1 ]
then
    echo $BI_UNZIPPED1 already exists in $BINARY_LOCATION
else
    if [ -f $BI_ZIP1 ]
    then
        echo unzip $BI_ZIP1
        unzip $BI_ZIP1
    else
        echo $BI_ZIP1 not found in $BINARY_LOCATION
        exit 1
    fi
fi

if [ -f $BI_UNZIPPED2 ]
then
    echo $BI_UNZIPPED2 already exists in $BINARY_LOCATION
else
    if [ -f $BI_ZIP2 ]
    then
        echo unzip $BI_ZIP2
        unzip $BI_ZIP2
    else
        echo $BI_ZIP2 not found in $BINARY_LOCATION
        exit 1
    fi
fi

./$BI_UNZIPPED1 -silent -invPtrLoc $INV_FILE -responseFile $RESPONSE_FILE -ignoreSysPrereqs -force ORACLE_HOME=$ORACLE_HOME INSTALL_TYPE="BI Platform Distribution with Samples"

Now, users can request installation using FlexDeploy Utility Project. Here is the sample request form.

As you can see, you can request install in specific folder, for specific version.

Now you can see the execution details in FlexDeploy.

I will blog about creation of Domain in next blog entry. Eventually once you have the OBIEE environment you can use FlexDeploy to further automate build and deploy process. See Oracle Business Intelligence Migration with FlexDeploy – Flexibility and Choice.

DevOps and CI/CD Done Right

Out of the Box DevOps Platform for your Business and Open Systems

Related Resources

DevOps to the Cloud Best Practices

DevOps Best Practices for Oracle Cloud Migration

It’s now common for enterprises to move software to the cloud as part of their digital transformation. Upgrading from traditional, ...
Infrastructure of a tall building

Automating Infrastructure Deployment with Terraform and FlexDeploy

What is Terraform? Terraform is an infrastructure as code tool, allowing you to build, change, and version infrastructure. Your infrastructure ...
On-Demand Webinar - Simple and Automated Provisioning with Terraform and FlexDeploy

Webinar Recap: Simple and Automated Provisioning with Terraform and FlexDeploy

The following is a summary of the information covered in the webinar: Simple and Automated Provisioning with Terraform and FlexDeploy, ...

Join DevOps leaders across the globe who receive analysis, tips, and trends in their inbox