8i | 9i | 10g | 11g | 12c | 13c | 18c | 19c | Misc | PL/SQL | SQL | RAC | WebLogic | Linux

Home » Articles » 13c » Here

Oracle Enterprise Manager Cloud Control 13c Release 4 (13.4) Silent Installation on Oracle Linux 7

This article describes the silent installation of Oracle Enterprise Manager Cloud Control 13c Release 4 (13.4) on Oracle Linux 7 (x86_64). Your requirements may be different, so this is not a replacement for reading the documentation.

Related articles.

TL;DR

There is an automated Vagrant build for Cloud Control 13c available here.

Software

Download the following software:

OS Installation

Install Oracle Linux (OL) in the same way you would for a regular Oracle Database installation. You can see examples of this type of installation below. Remember to check database installation article (listed below) for the specific package group selection. These Linux installations articles are generic, not specific for Cloud Control.

During this installation I used a virtual machine with 10G RAM (more would be better) and 100G disk space. The swap size was set at 8G, the firewall was disabled and SELinux was set to permissive.

Database Installation (Software-Only)

The Cloud Control 13.4 installation can use database versions 12.1.0.2, 12.2.0.1, 18.x or 19.x for the repository. You should use apply the latest patchset, but the installation will work with the base release. For this installation you will need 19c for the repository database, but the similar instructions work for other repository database versions.

Alternatively, just do a silent installation from the "oracle" user, and run the root scripts when prompted.

# 12cR2
unzip linuxx64_12201_database.zip
cd database

# 18c
cd $ORACLE_HOME
unzip LINUX.X64_180000_db_home.zip

# 19c
cd $ORACLE_HOME
unzip LINUX.X64_193000_db_home.zip

export ORACLE_HOSTNAME=${HOSTNAME}
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=${ORACLE_BASE}/product/19.0.0/dbhome_1
export ORA_INVENTORY=/u01/app/oraInventory

${ORACLE_HOME}/runInstaller -ignorePrereq -waitforcompletion -silent           \
    -responseFile ${ORACLE_HOME}/install/response/db_install.rsp               \
    oracle.install.option=INSTALL_DB_SWONLY                                    \
    ORACLE_HOSTNAME=${ORACLE_HOSTNAME}                                         \
    UNIX_GROUP_NAME=oinstall                                                   \
    INVENTORY_LOCATION=${ORA_INVENTORY}                                        \
    SELECTED_LANGUAGES=en,en_GB                                                \
    ORACLE_HOME=${ORACLE_HOME}                                                 \
    ORACLE_BASE=${ORACLE_BASE}                                                 \
    oracle.install.db.InstallEdition=EE                                        \
    oracle.install.db.OSDBA_GROUP=dba                                          \
    oracle.install.db.OSBACKUPDBA_GROUP=dba                                    \
    oracle.install.db.OSDGDBA_GROUP=dba                                        \
    oracle.install.db.OSKMDBA_GROUP=dba                                        \
    oracle.install.db.OSRACDBA_GROUP=dba                                       \
    SECURITY_UPDATES_VIA_MYORACLESUPPORT=false                                 \
    DECLINE_SECURITY_UPDATES=true

Run the root scripts when prompted.

The installation documentation says the following packages are necessary for the Cloud Control installation. If you have performed the database installation as described in one of the above articles, many of these prerequisites will already have been met.

yum install -y binutils
yum install -y compat-libcap1
yum install -y compat-libstdc++-33
yum install -y compat-libstdc++-33.i686
yum install -y gcc
yum install -y gcc-c++
yum install -y glibc
yum install -y glibc.i686
yum install -y glibc-devel
yum install -y libaio
yum install -y libaio-devel
yum install -y libgcc
yum install -y libgcc.i686
yum install -y libstdc++
yum install -y libstdc++.i686
yum install -y libstdc++-devel
yum install -y dejavu-serif-fonts
yum install -y ksh
yum install -y make
yum install -y sysstat
yum install -y numactl
yum install -y numactl-devel
yum install -y motif
yum install -y motif-devel
yum install -y redhat-lsb
yum install -y redhat-lsb-core
yum install -y openssl

The database software installation is now complete.

Repository Database Creation

Create a database to hold the repository.

You can create the database using the DBCA in interactive mode, but it's easier to do it silently.

lsnrctl start

mkdir -p /u01/oradata

export ORACLE_SID=emcdb
export SYS_PASSWORD="SysPassword1"
export PDB_NAME="emrep"
export PDB_PASSWORD="PdbPassword1"
export DATA_DIR=/u01/oradata

dbca -silent -createDatabase                                                 \
  -templateName General_Purpose.dbc                                          \
  -gdbname ${ORACLE_SID} -sid ${ORACLE_SID} -responseFile NO_VALUE           \
  -characterSet AL32UTF8                                                     \
  -sysPassword ${SYS_PASSWORD}                                               \
  -systemPassword ${SYS_PASSWORD}                                            \
  -createAsContainerDatabase true                                            \
  -numberOfPDBs 1                                                            \
  -pdbName ${PDB_NAME}                                                       \
  -pdbAdminPassword ${PDB_PASSWORD}                                          \
  -databaseType MULTIPURPOSE                                                 \
  -automaticMemoryManagement false                                           \
  -totalMemory 2048                                                          \
  -storageType FS                                                            \
  -datafileDestination "${DATA_DIR}"                                         \
  -redoLogFileSize 600                                                       \
  -emConfiguration NONE                                                      \
  -ignorePreReqs

# Set the PDB to auto-start.
sqlplus / as sysdba <<EOF
alter system set db_create_file_dest='${DATA_DIR}';
alter pluggable database ${PDB_NAME} save state;

-- Recommended minimum settings.
alter system set "_allow_insert_with_update_check"=true scope=both;
alter system set session_cached_cursors=200 scope=spfile;
 
-- Recommended: processes=600
alter system set processes=600 scope=spfile;

-- Recommended: pga_aggregate_target=1G
alter system set pga_aggregate_target=450M scope=spfile;

-- Recommended: sga_target=3G
alter system set sga_target=800M scope=spfile;

-- Recommended: shared_pool_size=600M
--alter system set shared_pool_size=600M scope=spfile;

-- For 12.1.0.2 set the following.
--alter system set optimizer_adaptive_features=false scope=both;

-- Should not be needed for 19c, but installer fails without them.
alter system set "_optimizer_nlj_hj_adaptive_join"= FALSE scope=both sid='*';
alter system set "_optimizer_strans_adaptive_pruning" = FALSE scope=both sid='*';
alter system set "_px_adaptive_dist_method" = OFF scope=both sid='*';
alter system set "_sql_plan_directive_mgmt_control" = 0 scope=both sid='*';
alter system set "_optimizer_dsdir_usage_control" = 0 scope=both sid='*';
alter system set "_optimizer_use_feedback" = FALSE scope=both sid='*';
alter system set "_optimizer_gather_feedback" = FALSE scope=both sid='*';
alter system set "_optimizer_performance_feedback" = OFF scope=both sid='*';

SHUTDOWN IMMEDIATE;
STARTUP;

exit;
EOF


# Set restart flag in /etc/oratab.
cp /etc/oratab /tmp
sed -i -e "s|${ORACLE_SID}:${ORACLE_HOME}:N|${ORACLE_SID}:${ORACLE_HOME}:Y|g" /tmp/oratab
cp -f /tmp/oratab /etc/oratab

You now have a database for use as the repository.

Cloud Control 13c Silent Installation

Make the following directories to hold the management server and agent. There are some restrictions on the possible path lengths, so don't make the directory structure too deep, especially for Windows installations.

$ mkdir -p /u01/app/oracle/middleware
$ mkdir -p /u01/app/oracle/agent

You can generate the base response files using the following command. These can provide inspiration. They are very big and full of comment about the parameters.

${SOFTWARE_DIR}/em13300_linux64.bin -getResponseFileTemplates -outputLoc /tmp/

Create a response file for the installation process.

# Set parameters.
ORACLE_BASE=/u01/app/oracle
UNIX_GROUP_NAME=oinstall
ORA_INVENTORY=/u01/app/oraInventory
MW_HOME=${ORACLE_BASE}/middleware
ORACLE_HOSTNAME=${HOSTNAME}
AGENT_BASE=${ORACLE_BASE}/agent
WLS_USERNAME=weblogic
WLS_PASSWORD=Welcome1
GC_INST=${ORACLE_BASE}/gc_inst
SOFTWARE_LIBRARY=${ORACLE_BASE}/swlib
DATABASE_HOSTNAME=localhost
LISTENER_PORT=1521
PDB_NAME=emrep
SYS_PASSWORD=SysPassword1
AGENT_PASSWORD=${WLS_PASSWORD}
ORACLE_SID=emcdb
DATA_DIR=/u01/oradata
OMS_HOME=${MW_HOME}
SYSMAN_PASSWORD=${WLS_PASSWORD}
SOFTWARE_DIR=/u01/software

# Create Response file.
cat > /tmp/install.rsp <<EOF
RESPONSEFILE_VERSION=2.2.1.0.0
UNIX_GROUP_NAME=${UNIX_GROUP_NAME}
INVENTORY_LOCATION=${ORA_INVENTORY}
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true
INSTALL_UPDATES_SELECTION=skip
ORACLE_MIDDLEWARE_HOME_LOCATION=${MW_HOME}
ORACLE_HOSTNAME=${ORACLE_HOSTNAME}
AGENT_BASE_DIR=${AGENT_BASE}
WLS_ADMIN_SERVER_USERNAME=${WLS_USERNAME}
WLS_ADMIN_SERVER_PASSWORD=${WLS_PASSWORD}
WLS_ADMIN_SERVER_CONFIRM_PASSWORD=${WLS_PASSWORD}
NODE_MANAGER_PASSWORD=${WLS_PASSWORD}
NODE_MANAGER_CONFIRM_PASSWORD=${WLS_PASSWORD}
ORACLE_INSTANCE_HOME_LOCATION=${GC_INST}
CONFIGURE_ORACLE_SOFTWARE_LIBRARY=true
SOFTWARE_LIBRARY_LOCATION=${SOFTWARE_LIBRARY}
DATABASE_HOSTNAME=${DATABASE_HOSTNAME}
LISTENER_PORT=${LISTENER_PORT}
SERVICENAME_OR_SID=${PDB_NAME}
SYS_PASSWORD=${SYS_PASSWORD}
SYSMAN_PASSWORD=${SYSMAN_PASSWORD}
SYSMAN_CONFIRM_PASSWORD=${SYSMAN_PASSWORD}
DEPLOYMENT_SIZE=SMALL
AGENT_REGISTRATION_PASSWORD=${AGENT_PASSWORD}
AGENT_REGISTRATION_CONFIRM_PASSWORD=${AGENT_PASSWORD}
PLUGIN_SELECTION={}
b_upgrade=false
EM_INSTALL_TYPE=NOSEED
CONFIGURATION_TYPE=LATER
CONFIGURE_SHARED_LOCATION_BIP=false
MANAGEMENT_TABLESPACE_LOCATION=${DATA_DIR}/${ORACLE_SID^^}/${PDB_NAME}/mgmt.dbf
CONFIGURATION_DATA_TABLESPACE_LOCATION=${DATA_DIR}/${ORACLE_SID^^}/${PDB_NAME}/mgmt_ecm_depot1.dbf
JVM_DIAGNOSTICS_TABLESPACE_LOCATION=${DATA_DIR}/${ORACLE_SID^^}/${PDB_NAME}/mgmt_deepdive.dbf
EOF

Start the silent software-only installation by running the "em13400_linux64.bin" file, making sure the CLASSPATH is unset.

unset CLASSPATH
${SOFTWARE_DIR}/em13400_linux64.bin -silent -responseFile /tmp/install.rsp

If you have limited space in your "/tmp" location, you can provide an alternative location for temporary files.

mkdir -p /u01/tmp

unset CLASSPATH
${SOFTWARE_DIR}/em13400_linux64.bin -silent -responseFile /tmp/install.rsp -J-Djava.io.tmpdir=/u01/tmp/

Once the installation completes, run the root scripts as the root user.

sh ${MW_HOME}/allroot.sh

We can now configure Cloud Control. Create a response file for the configuration process.

cat > /tmp/config.rsp <<EOF
RESPONSEFILE_VERSION=2.2.1.0.0
UNIX_GROUP_NAME=${UNIX_GROUP_NAME}
INVENTORY_LOCATION=${ORA_INVENTORY}
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true
INSTALL_UPDATES_SELECTION=skip
ORACLE_MIDDLEWARE_HOME_LOCATION=${MW_HOME}
ORACLE_HOSTNAME=${ORACLE_HOSTNAME}
AGENT_BASE_DIR=${AGENT_BASE}
WLS_ADMIN_SERVER_USERNAME=${WLS_USERNAME}
WLS_ADMIN_SERVER_PASSWORD=${WLS_PASSWORD}
WLS_ADMIN_SERVER_CONFIRM_PASSWORD=${WLS_PASSWORD}
NODE_MANAGER_PASSWORD=${WLS_PASSWORD}
NODE_MANAGER_CONFIRM_PASSWORD=${WLS_PASSWORD}
ORACLE_INSTANCE_HOME_LOCATION=${GC_INST}
CONFIGURE_ORACLE_SOFTWARE_LIBRARY=true
SOFTWARE_LIBRARY_LOCATION=${SOFTWARE_LIBRARY}
DATABASE_HOSTNAME=${DATABASE_HOSTNAME}
LISTENER_PORT=${LISTENER_PORT}
SERVICENAME_OR_SID=${PDB_NAME}
SYS_PASSWORD=${SYS_PASSWORD}
SYSMAN_PASSWORD=${SYSMAN_PASSWORD}
SYSMAN_CONFIRM_PASSWORD=${SYSMAN_PASSWORD}
DEPLOYMENT_SIZE=SMALL
AGENT_REGISTRATION_PASSWORD=${AGENT_PASSWORD}
AGENT_REGISTRATION_CONFIRM_PASSWORD=${AGENT_PASSWORD}
PLUGIN_SELECTION={}
b_upgrade=false
EM_INSTALL_TYPE=NOSEED
CONFIGURATION_TYPE=ADVANCED
CONFIGURE_SHARED_LOCATION_BIP=false
MANAGEMENT_TABLESPACE_LOCATION=${DATA_DIR}/${ORACLE_SID^^}/${PDB_NAME}/mgmt.dbf
CONFIGURATION_DATA_TABLESPACE_LOCATION=${DATA_DIR}/${ORACLE_SID^^}/${PDB_NAME}/mgmt_ecm_depot1.dbf
JVM_DIAGNOSTICS_TABLESPACE_LOCATION=${DATA_DIR}/${ORACLE_SID^^}/${PDB_NAME}/mgmt_deepdive.dbf
EOF

Run the configuration using the response file we just created, making sure the CLASSPATH is unset.

unset CLASSPATH
${MW_HOME}/sysman/install/ConfigureGC.sh -silent -responseFile /tmp/config.rsp

Wait for the configuration to complete. This can take a long time.

The login screen is available from a browser using the URL provided in the previous screen ("https://ol7-em134.localdomain:7803/em"). Log in with the username "sysman" and the password you specified during your installation.

Login

Once logged in, you are presented with a with the "License Agreement" screen. Click the "I Accept" button and you are presented with the homepage selector screen. On the right side of the screen it lists the post-installation setup tasks you need to work through. I have these documented in a separate article. Select the desired homepage (I chose Summary).

Homepage Selector

You are presented with the selected screen as the console homepage. It might take some time for all of the targets to be recognised as up.

Console

Startup/Shutdown

Cloud Control is set to auto-start using the "gcstartup" service. The "/etc/oragchomelist" file contains the items that will be started by the system.

/u01/app/oracle/middleware
/u01/app/oracle/agent/agent_13.4.0.0.0:/u01/app/oracle/agent/agent_inst

On a simple installation the default auto-start will cause a problem as Cloud Control will attempt to start before the database has started. The service can be disabled by commenting out (using #) all the contents of the "/etc/oragchomelist" file to prevent the auto-start and use start/stop scripts described below.

If the start/stop needs to be automated, you can do it in the usual way using Linux service that calls your start/stop scripts that include the database management.

Use the following commands to turn on all components installed by this article.

#!/bin/bash
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export OMS_HOME=/u01/app/oracle/middleware
export AGENT_HOME=/u01/app/oracle/agent/agent_inst

# Start everything
$ORACLE_HOME/bin/dbstart $ORACLE_HOME

$OMS_HOME/bin/emctl start oms

$AGENT_HOME/bin/emctl start agent

Use the following commands to turn off all components installed by this article.

#!/bin/bash
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export OMS_HOME=/u01/app/oracle/middleware
export AGENT_HOME=/u01/app/oracle/agent/agent_inst

# Stop everything
$OMS_HOME/bin/emctl stop oms -all

$AGENT_HOME/bin/emctl stop agent

$ORACLE_HOME/bin/dbshut $ORACLE_HOME

Comments

There seems to be something wrong with the installer related to the adaptive optimizer features. The documentation says the following.

"If your Management Repository is using Oracle Database 12.2 or higher, none of these parameters need to be set."

Even when I turned off the adaptive features, I always got this message.

ERROR:
The following prerequisite check failed because the Oracle Database, where the Management Repository will be configured, does not meet the configuration requirements. Fix the issue manually based on the recommendation offered for this prerequisite, and click OK. For more details, check the logs: /u01/app/oracle/middleware/cfgtoollogs/oui/emdbprereqs
Prereq Name             Recommendation
Check if all adaptive features parameters are unset             All adaptive features parameters should be unset for improved SQL performance

This is why the instructions include the following settings, which should not be necessary for 19c.

alter system set "_optimizer_nlj_hj_adaptive_join"= FALSE scope=both sid='*'; 
alter system set "_optimizer_strans_adaptive_pruning" = FALSE scope=both sid='*'; 
alter system set "_px_adaptive_dist_method" = OFF scope=both sid='*'; 
alter system set "_sql_plan_directive_mgmt_control" = 0 scope=both sid='*'; 
alter system set "_optimizer_dsdir_usage_control" = 0 scope=both sid='*'; 
alter system set "_optimizer_use_feedback" = FALSE scope=both sid='*'; 
alter system set "_optimizer_gather_feedback" = FALSE scope=both sid='*'; 
alter system set "_optimizer_performance_feedback" = OFF scope=both sid='*';

In addition, if the CLASSPATH environment variable is set the configuration phase fails, which is why the following is included in the instructions.

unset CLASSPATH

For more information see:

Hope this helps. Regards Tim...

Back to the Top.