Friday, October 21, 2011

Enterprise Manager 12c Cloud Control Installation

This is a long overdue posting on my experience with installing the recently released Oracle Enterprise Manager 12c ( But before a few items of interest that I think should be pointed out:

Product Rename - Oracle has renamed the product from "Enterprise Manager Grid Control" to "Enterprise Manager Base Platform". A side effect of this is easier knowledge searching and support for this specific release/product.

Architecture redesign - The architecture has been redesigned (a good thing) to utilize plug-ins for everything. So now the OMS can be patched and/or upgraded independent of any capabilities in monitored targets, and even more importantly, so plug-ins can now be patched and/or upgraded to take advantage of new features and/or functionalities of their respective targets. For example, when Database 12c is released a simple upgrade to the "Enterprise Manager for Oracle Database" plugin should be all that is required to allow EM12c to monitor and leverage all the new features DB12c would offer. Previously, the Agent and the OMS would require patches and/or upgrades to fully support such a new database release. At least this is the plan, we will see when DB12c is released if this is indeed the case.

Repository is master - The repository is now the master for data with the Agents being even more stateless. This is an improvement which allows agents to simple pass monitoring data to the OMS, and hence can be upgraded or re-installed without any loss of target data since they can be fully re-synchronized from the repository.

On now with my installation...

Installation Setup
I wont go into the full detailed list of prerequisites since you can get that from the documentation here. It is pretty much the usual, you can simple reuse your settings for database (11.2 since that is what I use) installations. Lets just say it was all accurate as at this writing. So I created a VM guest environment with the following specifications:

OS: RHEL 5.6 x86_64
CPU: 2 x 2.67 GHz Intel Xeon
VM: Yes (VMware 4.1u1)

While many may shy aware from using VMs, I think EM is one area where this is ideail since there are no license implications (except for the OMR, more on that later) and the requirements are optimal for a VM. For production deployment I would have at least two OMS, spread across separate cluster hosts with node affinity setup so both OMS never share the same host (unless temporarily necessary when doing some form of VM host maintenance). There are multiple ways to do the configuration, if you need ideas based on your unique situation please feel free to contact me.

On the issue if license, Enterprise Manager does come with a restricted use license for all its components (the basic tool is free, you pay for the plugins, connectors, and packs). This means however, that if you chose to go outside those boundaries, you will need to license the component as appropriate. For example, the repository database is licensed as an Enterprise Edition Single Instance, choosing to use a RAC setup would mean you need to pay for those RAC licenses, as well as the second instance (or each additional RAC instance as the case may be). This is all documented in the license information here.

As most should be aware since EM 11.1, the OMR is no longer installed as part of the installation. So you will need to install and setup an existing database to use as your OMR prior to installation of EM. For my installation I chose Yes, as of this writing it is not yet on the certification listing, but this minor and I fully expect this version to be included shortly though for production I will be adhering to the certification matrix. I chose to let the installation install WebLogic (10.3.5). I prefer this method since it is simply cleaner and avoids any unnecessary patch, or upgrade issues which would result from using a shared WebLogic farm.

Step 1: Meet pre-requisite requirements
Check the documentation here for the requirements.

Step 2: Setup the repository database
This is included in the documentation here but I chose to include it since a few things have changed, or perhaps have not yet been documented, and otherwise stand out. In prior versions EM required setting '_b_tree_bitmap_plans=false', and 'aq_tm_processes=1' but there is no mention of these settings being required for EM12c (so I did not include them). Also, the documentation states "The instance parameters db_cache_size, large_pool_size, java_pool_size, and streams_pool_size must not be set for Enterprise Manager 12c installations.". I definitily do not agree with this note as my experience has been not setting minimum values for these parameters in the real world causes headaches with pool starvation and the reallocation not keeping up with demand (i.e. poor performance). AMM is recommended but since I'm installing on Linux and prefer to enable huge pages (in my humble experience this provides better performance), I instead use ASMM with huge pages (huge pages and AMM are mutually exclusive). I will leave my thoughts of ASMM and AMM for another blog. So in any case, the installation will complain (give a warning) but will go through otherwise with no issues. My usage thus far has also not encountered any issues. A final thing to note, that is not mentioned, is that the automatic stats gathering job should be disabled in the repository database. This will be detected during installation and can be disabled at that point so it is not critical.

So after you download, met all the pre-requisits and built your repository you are ready for the actual installation.

Step 3: Start installation


This is my lab environment which has no internet access so I disable the email option and clicked 'Next'. This leads to a follow-up screen confirming your intent to remain uninformed:


Step 4: Software updates


I selected to skip the updates (not that any are available just yet) since I have no internet access.

Step 5: Prerequisite Checks


Ensure that all the checks are successful here otherwise you may run into problems later on. I've been a good boy and everything is passed successfully.

Step 6: Select your installation type


Even though this a lab environment I prefer to choose the 'Advanced' option to 'Create a new Enterprise Manager System' since this is what I will be doing when testing for my company. So I then will need to specify a location for the middleware software location.


You can also choose to upgrade, or install just the software. I'll let you know how things work out with the other options once I've had a chance to test.

Step 7: Select Plug-Ins


Here is where things get interesting. This is the new architecture where everything is a plug-in. Those you see in the screen shot are selected by default and mandatory (i.e. you can't unselect). What is not so obvious is that the 'Oracle Fusion Middleware' plug-in is dependent on 'Exalogic Elastic Cloud Infrastructure', which is of course not selected. Seems silly to not just select and install the two together since there is a dependency, even if it is a soft one since you can move on by selecting to install it later. I chose to install it now and avoid any potential issues (admittedly I doubt there would be since I would not be using the feature).


Step 8: Weblogic Server Configuration


Default domain is GCDomain and default node manager is 'nodemanager'. This could be changed when invoking the runInstaller but I don't see any reason. Enter the passwords, and the OMS instance base location.

Step 9: Repository Database Configuration Details


Clicking 'Next' makes a test connection, and if successful verification of the repository commences. I did not know of the requirement to disable the automatic stats job in the repository database, but the installion handles disabling it (if I so choose which I did):


After fixing the stats collection job, a further warning is given for failing to exactly meet requirements:


My settings are higher than the requirement so most of these are silly and should not be displayed as they could cause unnecessary changes. For example the minimum for 'processes' is 300, and mine is set to 1024. Annoying me about the minimum which I've exceeded is a bug IMHO, after all it is not a maximum recommendation.

Next up is the SYSMAN credentials and tablespace setup. Enter the appropriate file system location for the database files. Here the system has detected (partially) that I'm using ASM, so I oblige by entering my disk group information to store the tablespace data files.


Step 9: Port Configuration


I don't have any need to modify anything here and leave the defaults. Your security requirements may be different and require the usage of non-standard ports, which is fine.

Step 10: Review

Almost done!

Step 11: Install


Watch (or get some refreshments) as the installation should breeze through! Note that EM12c uses the same database 11g process of packing already installed software, so the installation is essentially compressed into copying over those files, relinking for your system, and making some configuration changes.

Run the '' script when prompted:


Step 12: Installation Complete!


All should have gone well so you need only review the results of your successfully installation, and make some notes, if you don't want to check files later, as to URLs and ports. I highly recommend following the note about exporting the configuration which includes the encryption key. This should actually be a scheduled job and become part of your backup/recovery process for EM.

Step 13: Access the New UI

Redesigned (dear I say gorgeous?) login prompt.

Your first access greets you with an updated license acceptance screen. Following which you will need to select your future welcome screen:

This can be changed later, but the point is EM12c allows your to easily customize your welcome screen. Very cool!

So that is it! It is a very clean and easy installation process, compared with previous versions, and I am left impressed. Having used it for a little while things do take a bit of getting used to and finding your way around (as with any redesign), but it is a definte improvement. I'll be following up with usage posts in future and letting you know what I find.