Recently I was asked the question “What is the real difference between EM Cloud Control [NOTE: I’ll refer to this as EM12c through the rest of this post] and EM Database Express in 12c?” It was (for me) a pretty easy question to answer, but I wanted to provide the questioner with a link to the place in the Enterprise Manager documentation where it covers that in detail. Somewhat to my surprise, I wasn’t able to find such a link – well, not quickly anyway. I think the reason for that is the documentation for EM Express (as it’s more commonly abbreviated to) falls under the database documentation which is owned by a different group in Oracle than the Enterprise Manager documentation. Well, that’s my speculation anyway. It may just be there in the documentation and I couldn’t find it in my quick search. Be that as it may, if I couldn’t find it in a quick search then I suspect others would have the same issue, so I thought it was worthwhile to bash out a quick post on the subject. And of course, what was originally going to be a quick post turned into something much bigger, so if you want, use the links below to move through the post:
What is EM Express?
Before I start on what the differences are, it’s probably worthwhile to spend a little time explaining what EM Express actually is. The first thing to note is what it replaces, and that’s the Database Control product. Database Control is no longer available as of Oracle Database 12c. In its place, the tool to monitor a single database is EM Express. EM Express – or to give it its full name, Oracle Enterprise Manager Database Express 12c (now you can see why it’s normally called just EM Express!) – is an integrated GUI management tool for database administration of a single Oracle Database 12c database. Let’s explain that in a bit more detail.
EM Express is preconfigured and installed when the database kernel is installed, so when you install your ORACLE_HOME, you have also installed EM Express. If you have used DBCA to create a database, one of the questions you will be asked is whether you want to manage this database with EM Express or EM12c. You can actually select both checkboxes, though I found the last time I did that (admittedly quite some time ago when Oracle Database 12c was relatively new) that the installer got a tad confused by selecting both and it was better to choose one and then set up the other later. EM Express runs inside the database and has no extra middleware components (this is one area of differentiation between EM Express and the earlier Database Control product). EM Express leverages the XDB server inside the database. It support both single instance and Real Application Clusters (RAC) databases.
EM Express has a fairly small footprint in terms of disk storage, memory and CPU usage. The disk storage added to the kernel by EM Express is only around 20 Mb. It requires minimal CPU and memory – in fact, none until you actually connect to it. All the UI rendering is done in the browser being used, reducing the footprint even more, and the database server is only used to run the SQL needed to retrieve the information being displayed in the GUI.
OK, comprehensive may be optimistic. This is one area where the tool doesn’t quite measure up as yet compared to Database Control, in that EM Express provides only basic administration support for configuration management, storage management, and security management. No doubt as new releases of the tool come out, this coverage will expand. Currently, the tool provides the following functionality:
- Configuration Management – initialization parameters, memory, database feature usage, and current database properties
- Storage Management – tablespaces, undo management, redo log groups, archive logs, and control files
- Security Management – users, roles, and profiles
- Performance Management – Performance Hub and SQL Tuning Advisor
One area where EM Express far outstrips Database Control (and in fact, even surpasses similar areas in EM12c) is the performance side. EM Express has quite advanced performance diagnostics and tuning capabilities. However, you do need to be licensed for the Diagnostics and Tuning packs to use these pages.
You can find a little bit more on managing Oracle Database 12c with EM Express in my presentation from the APAC OTN Tour back in 2013, located here.
What is Enterprise Manager Cloud Control 12c?
OK, so that’s what EM Express handles. Now let’s have a quick overview of the EM12c product.
To start with, EM12c is more of a product line or product family than a single product, but it still allows you to manage your entire Oracle infrastructure from a single pane of glass, from application to disk. It even allows you to manage your non-Oracle infrastructure, with a variety of plugins and connectors to manage everything from non-Oracle databases (like SQL Server and DB2) to non-Oracle middleware (like WebSphere, Microsoft Active Directory and JBoss Application Server) and so on. And if there’s something it doesn’t yet have a plugin or connector for, you can use the Extensibility capabilities to write your own.
If you look at the key capabilities of EM12c, it really boils down to three main areas:
- Cloud Lifecycle Management – EM12c helps enterprises discover their IT assets and plan their cloud by providing consolidation recommendations, and has a guided cloud setup wizard to help you define services such as Infrastructure as a Service, Middleware as a Service, and Database as a Service. With later releases, you also have Schema as a Service, Pluggable Database as a Service, Testing as a Service, and Snap Clone functionality. It also includes an out of the box self service portal capability, along with API’s that can be used to create your own self service portal. Finally, it has chargeback capability that allows you to provide business users a comprehensive report of how much computing resources they are using, and even to invoice them for the costs of those resources if you want to.
- Complete Application to Disk Management – EM12c can be used to monitor and manage every layer of your infrastructure from the application all the way down to the storage, including:
- Application Management – EM12c provides application management solution for packaged, third party and custom applications, including E-Business Suite, Siebel, PeopeSoft, JD Edwards, Fusion Apps, and Java or SOA based custom and third party apps.
- Middleware Management – EM12c also manages the many Fusion Middleware components, such as WebLogic Server, SOA Suits, Coherence, Identity Management, Business Intelligence, Glass Fish, Jolt and WebCenter
- Databases Management – this is the area EM12c has been well known for over many years. Indeed, the first version of Enterprise Manager I ever saw, the 0.76 beta release, already contained a lot of database management capabilities. Obviously, those have all expanded over the years as the database capabilities also have, but now includes additional functionality on top of the native database capabilities in database lifecycle management areas like automating mass database upgrades and patching.
- Hardware and Virtualization Management – Traditionally, Enterprise Manager has been focused on software management. EM12c expands that to provide management capabilities like provisioning, patching, monitoring, administration and configuration management for both hardware and virtualization layers too. This is particularly true in the case of Oracle’s Sun hardware line.
- Heterogeneous Management – Even though Oracle’s footprint has been expanding into so many different areas over the years, there are still going to be some non-Oracle products at most customer sites that need managing as well. Oracle has a number of plugins and management connectors that can be used to monitor and manage these third-party products. EM12c also includes an Extensibility Development Kit (EDK) to allow you to write your own management plugins. Many of these are available for other customers to use via the Extensibility Exchange.
- Engineered Systems Management – EM12c is tightly integrated with a range of Oracle’s Engineered Systems, such as Exadata, Exalogic, Exalytics, SuperCluster, Virtual Compute Appliance (VCA), Big Data Appliance, and Oracle Database Appliance (ODA). That list just keeps expanding as more engineered systems are released, so customers can take advantage of integrated hardware, software and management capabilities that are engineered together to form a complete solution.
- Application Quality Management – EM’s AQM products provide an end-to-end testing solution, including Application Testing Suite (OATS) which has test management, functional testing and load testing capabilities, Application Replay and Real Application Testing to provide production-scale testing of the application and database infrastructure, and test data management capabilities like data masking and subsetting
- Application Performance Management – APM delivers business driven application management with end to end monitoring that includes user experience management (which includes both real user monitoring via RUEI and synthetic transaction monitoring via SLM beacons), business transaction management (which allows you to monitor and trace transactions from a business perspective), Java and database monitoring and diagnostics, and application performance analytics.
So What are the Differences Between the Two?
Now you know what the two products are capable of, you can probably pick out some of the differences. But let’s be 100% clear on these.
The most obvious difference is that EM Express is a management tool that manages a single database, while EM12c manages your entire Oracle (and non-Oracle) data center. If all you are needing to manage is a few Oracle databases, then EM Express will be more than capable of meeting your needs. You will have to connect to each database separately to manage it though. However, as soon as you need to manage more than a few databases, or you want to manage more than just databases (i.e. you want to manage middleware, apps and so on), EM12c is your tool of choice. We have customers with literally thousands of database targets they need to manage. Try doing that with EM Express!
The second difference is that EM Express is an agentless architecture. Everything you need to connect to EM Express is built into the database kernel. You just need to point a browser to the correct page, and away you go. EM12c, on the other hand, uses an agent to both discover and then manage targets. For each host that you add to an EM12c environment, you add an agent to that host and it then discovers and promotes all the targets (such as databases, listeners, WLS environments and so on) that are on that host. When you need to perform a task on those targets (such as shutting down a database), EM12c communicates with the agent on the host containing that database and it sends the message to the database to shut down. If you think about it, using the agents like this is really the only way to ensure a scalable solution in large environments.
The third difference is functionality. As I mentioned above, EM Express provides a specific set of functionality, and if you want more you need to step outside of EM Express to either a tool like SQL Developer (I haven’t touched on that here because the article would be even longer, but if you want more on that go and visit Jeff Smith’s site for more details) or EM12c. Just a couple of examples – metric extensions, Data Guard management, and chargeback are all only available from EM12c rather than EM Express.
The fourth difference is security. To log in to EM Express, you need to be a user that has the DBA, EM_EXPRESS_BASIC or EM_EXPRESS_ALL roles. The EM_EXPRESS_BASIC role provides read-only access to EM Express, so users with that role can view the UI but not make any changes. This role also includes the SELECT_CATALOG_ROLE role. The EM_EXPRESS_ALL role obviously grants a lot more access. It has full read / write access to all EM Express features, and includes the EM_EXPRESS_BASIC role. Compare that to the security model for EM12c, where there are quite a number of roles and over 100 fine-grained privileges, and you can see that EM12c has a much more granular security model.
There are probably other more minor differences between the products that I haven’t covered here, but to my mind these are the main differences. Hope that helps explain the differences between the two!