This wiki contains notes on installing Oracle Enterprise Manager 13.5.
Introduction
Oracle Enterprise Manager (OEM) provides a comprehensive monitoring and management solution for Oracle Database and Engineered Systems deployed in cloud and customer data centers. It gives administrators the ability to monitor and maintain Oracle applications like the Database or WebLogic.
The base version of OEM is free with the purchase of any Oracle product. It requires the use of both WebLogic and Oracle Database Enterprise Edition, but they too are free with a restricted-use license only to be used with OEM.
You will see Oracle Enterprise Manager often abbreviated as OEM or OEMCC for Cloud Control or EMGC for Grid Control. Sometimes you will see it abbreviated as OMS for Oracle Management Service, which is technically the WebLogic Server component of the larger OEM product. OEM itself is only certified to run on WebLogic Server 12.2 and Oracle Database 19c, but this tutorial will demonstrate how to safely run on the latest versions.
Database
Before we even begin to install OEM, we need to create an Enterprise Edition database.
If you're not familiar with how to create an Oracle Database, follow these instructions.
If you plan on using this in production, make sure to give the database lots of shared memory (12 GB or more).
Important: Update the database with these values:
SQL> alter system set "_allow_insert_with_update_check"=true scope=both;
SQL> alter system set session_cached_cursors=300 scope=spfile sid='*';
After making the changes, you need to restart the database...
SQL> shutdown immediate
SQL> startup
Download
On edelivery.oracle.com, search for "Enterprise Manager Base Platform - OMS 13.5.0.0.0"
Preinstallation
This tutorial assume the use of Oracle Unbreakable Enterprise Kernel (UEK) Linux 8/9, but it will work fine on other RHEL variants like CentOS or Rocky, etc.
To create an 'oracle' user and tune the system appropriately for high volume transactional based based computing.
yum -y install oracle-database-preinstall-21c
If your Linux distribution does not contain this 'preinstall' package, you can download it for free from Oracle's YUM server.
Next, create an installation directory with correct privileges, something like...
sudo mkdir -p /opt/oracle/oemcc/13.5
sudo chown -R oracle:oinstall /opt/oracle
Finally, create some environment variables and place them in the /home/oracle/.bash_profile.
They should look something like this...
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/database/19c
export OMS_HOME =$ORACLE_BASE/oemcc/13.5/middleware
export PATH=$ORACLE_HOME/bin:$OMS_HOME/OMSPatcher:$PATH
Notice I didn't define the path for 'opatch'. With two products installed on the same machine it might get confusing as to which patching system you are using. When it comes time to patch a product, add 'opatch' to your path like so...
export PATH=$ORACLE_HOME/OPatch:$PATH
--or--
export PATH=$OMS_HOME/OPatch:$PATH
You can load these environment variables like so...
source /home/oracle/.bash_profile
Install Software Only
Download Oracle Enterprise Manager Cloud Control 13c Release 5 (13.5.0.0.0) for Linux x86-64.
As the 'oracle' user, unzip all the files and run the installer...
unzip '*.zip'
./em13500_linux_x64.bin
Choose "Install Software Only".
Why software only? The OEM installer is very picky about software prerequisites. This will give us a chance to edit some property files before we configure it.
Configuration
Now that the patches have been applied, it is time to configure OEMCC.
./middleware/sysman/install/ConfigureGC.sh
Follow the wizard...
Installation Types
- Choose "Advanced Install"
Software Updates
- Skip
Inventory Location
- Inventory Location: /opt/oracle
- Operating System Group: oinstall
Prerequisite Check
- Check warnings
You might be missing some 'gcc' libraries.
yum install gcc
yum install glibc-devel.i686
Installation Details
- Middleware Home Location: /opt/oracle/oemcc-13.5/middleware_home
- Agent Base directory: /opt/oracle/oemcc-13.5/agent_base
Select Plug-ins
- Default values are typically good enough
WebLogic Server Configuration
- Enter passwords
Database Connection Details
- Enter details for database we just created
Database Prerequisite Checks
- You will encounter some errors
- Click the "Auto Fix" button to resolve some errors
- Fix remaining issues in the database
- Reboot database and test again
In my particular case, I had to examine the log file:
less /opt/oracle/oemcc/13.5/middleware/cfgtoollogs/oui/emdbprereqs/LATEST/emprereqkit.out
I found and corrected these errors...
processes instance parameter
SQL> alter system set processes=600 scope=spfile sid='*';
session_cached_cursors
SQL> alter system set session_cached_cursors=200 scope=spfile sid='*';
shared_pool_size
Manually setting the shared_pool_size should not be necessary. I am ignoring this one... Still, if you want to, here's how (no restart required):
SQL> alter system set shared_pool_size=450M scope=both;
Check the redo log size.
The size of the EM database instance should be 600000000 bytes or greater. Generally, there should be 3 or more redo logs available of this size.
I am using automatic management of the redo logs, so I am ignoring this one.
id_allow_insert_with_update_param
SQL> alter system set "_allow_insert_with_update_check" = true;
Restart the database and check again...
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Ignore the message about AL32UTF8. It is already set.
Enterprise Manager Configuration
- Enter passwords
Shared Location Details
- Go with the defaults
Port Configuration Details
- Take a screen capture of all the defined ports
Review
- Take another screen capture
Finish
- Take another screen capture
Congratulations, you have successfully installed Oracle Enterprise Manager 13.5. That didn't take long did it? ;-)
Patching
Download the latest patches from Oracle Support.
Under the Patches and Updates tab, search on Product or Family (Advanced).
Product: Enterprise Manager Base Platform
Release: Enterprise Manager 13.5.0.0.0
Platform: Linux x86-64
Click on the patch, download it, unzip it and look at the README.html file.
Right now, it's telling me to download the latest OMSPatcher.
Click the links, download it, and install it like so...
rm -rf $OMS_HOME/OMSPatcher
unzip p19999993_135000_Generic.zip -d $OMS_HOME
In this particular instance, the README.html file indicates to apply the following patches:
- MLR Patch 35430934 (or its superset) which includes 32720458 and 33607709
- Patch 34153238
- Patch 31657681
Unzip the patches and apply them with OPatch.
emctl stop oms -all
opatch apply 35430934
opatch apply 34153238
opatch apply 31657681
emctl start oms
Now we can finally apply the OMS patches with 'omspatcher':
cd 36761595
omspatcher deploy -analyze
Congratulations! OEM is now ready to use.
Login
Use the following URL to access:
- Enterprise Manager Cloud Control URL: https://<host>:7803/em
username: sysman - Admin Server URL: https://<host>:7102/console
username: weblogic
The port numbers could theoretically change, so check your screen captures for the correct info.
What's the difference between the EMCC and the Admin Server URLs?
The EMCC is the actual Oracle Enterprise Manager GUI.
If you're familiar with WebLogic, the Admin Server is the GUI that manages the application. It can start and stop the EMCC, etc. That's sort of trippy, since the EMCC can start and stop other applications. Can the EMCC start and stop itself? Possibly... At some point, we need to configure the "Node Manager".
Cleanup
Let's do a couple of housekeeping tasks...
Coherence Cluster Cache is Down
You may notice some errors with the Coherence Cluster Cache being down. This caused by some misconfiguration in WebLogic. To remove the cache targets from OEM, follow these steps:
Workaround:
1. Bring in a new Copy of the Coherence Cluster by Refresh the GCDomain
(WLS Domain Refresh): Run the 'Refresh Weblogic Domain' built-in utility as follows:
Navigate to 'Targets' > 'Middleware'
a. Expand and click the 'Oracle Weblogic Domain' (i.e., the EMGC_GCDomain) target
b. Navigate to the "Refresh Weblogic Domain" in the Drop down on the GCDomain Page
Look at the top left of the screen you will see "WebLogic Domain" click on that and a Drop Down will appear. Scroll down until you see "Refresh WebLogic Domain"
c. New Screen will appear click on "Remove Targets..." A pop up will appear that it's processing
Finding Targets - Completed Successfully
Click Close to view targets to be removed
d. Click "Close"
e. Click "Remove Targets"
VERIFY
1. Now navigate to the GCDomain Coherence target in the OEM Console and you should now see the Coherence Cache's removed.
Database Quickly Runs Out of Space
If you follow the default installation of Oracle 19c, it will automatically make a backup but it will forget to delete the archive log (.arc) files, eventually filling up the Fast Recovery Area (FRA) and shutting the server down. To remedy this situation...
If the database is down...
$ rman
RMAN> connect target
RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 1 TIMES TO 'SBT_TAPE';
RMAN> delete obsolete;
RMAN> delete backup;
RMAN> delete force copy of archivelog all;
RMAN> exit
Unlock Accounts
SQL> alter user dbsnmp account unlock;
SQL> alter user dbsnmp identified by "PaS5W0rD";
SQL> alter user sysman identified by "PaS5W0rD";