Metering and Chargeback

In the past few posts, I’ve covered setting up PDBaaS, using the Self Service portal with PDBaaS, setting up Schema as a Service, and using the Self Service Portal with Schema as a Service, all of these using Enterprise Manager Cloud Control 12c release Now I want to move on to an area where you start to get more back from all of this work – metering and chargeback.

Metering is something that Enterprise Manager has done since its very first release. It’s a measurement of some form of resource – obviously in the case of Enterprise Manager it’s a measurement of how much computing resource such as CPU, I/O, memory, storage etc. has been used by an object. If I think way back when to the very first release of Enterprise Manager I ever saw – the 0.76 release whenever that was! – the thing that comes to mind most was it had this remarkably pretty tablespace map, that showed you diagrammatically just where every block in an object was in a particular tablespace. Remarkably pretty, as I said – but virtually useless, because all you could do was look at the pretty colours!

Clearly, metering has come a long, long way since that time, and if you have had Enterprise Manager up and running for some time you now have at your fingertips metrics on so many different things that you may be lost trying to work out what can you do with it all. Well, that’s where Chargeback comes into play. In simple terms, chargeback is (as the name implies) an accounting tool. In Enterprise Manager terms, it has 3 main functions:

  1. It provides a way of aggregating the enormous amount of metrics data that Enterprise Manager has been collecting.
  2. It provides reports to the consumers of those metrics of how much they have used of those particular metrics.
  3. If you have set it up to do so, it provides a way for the IT department to charge those consumers for ther resources they have used.

Let me expand on that last point a little further. Within the Chargeback application, the cloud administrator can set specific charges for specific resources. As an example, you might decide to charge $1 a month per gigabyte of memory used for a database. Those charges can be transferred to some form of billing application such as Oracle’s “Self-Service E-Billing” application and end up being charged as a real cost to the end user. However, my experience so far has been that few people are actually using it to charge a cost to the end user. There are two reasons for that:

  • Firstly, most people are still not in the mindset of paying for computing power in the same way as other utilities i.e. paying for the amount of computing power that is actually consumed, as we do with our gas, electricity and phone bills.
  • Secondly, and as a direct extension (I believe anyway) of the first reason, most people are still not capable of deciding just how much to charge for a “unit” (whatever that might be) of computing power. In fact, I have seen arguments over just what to charge for a “unit” of computing power last much longer than any meetings held to decide to actually implement chargeback!

The end result of this is that I have most often seen customers choose to implement SHOWback rather than CHARGEback. Showback is in many ways very similar to chargeback. It’s the ability to provide reports to end users that show how much computing resource they have used, AND to show them how much it would have cost the end users if the IT department had indeed decided to actually charge for it. In some ways this is just as beneficial to the IT department as it allows them to have a much better grasp on what they need to know for budgeting purposes, and it avoids the endless arguments about whether end users are being charged too much. 🙂


OK, let’s talk about some of the new terminology you need to understand before we implement chargeback (from now on, I will use the term “chargeback” to cover both “chargeback” and “showback” for simplicity’s sake, and because the application is actually called “Chargeback” in the Enterprise Manager Cloud Control product).

Chargeback Entities

The first concept you need to understand is that of a chargeback entity. In Enterprise Manager terms, a target typically uses some form of resource, and the Chargeback application calculates the cost of that resource usage. In releases prior to Enterprise Manager, the Chargeback application collected configuration information and metrics for a subset of Enterprise Manager targets. In the release, you can add Chargeback support for Enterprise Manager target types for which there is no current out of the box Chargeback support via the use of EMCLI verbs. These chargeback targets, both out of the box and custom types, are collectively known as “entities”.

Charge Plans

A charge plan is what Enterprise Manager uses to associate the resources being charged for and the rates at which they are charged. There are two types of charge plans available:

  • Universal Charge Plan – The universal charge plan contains the rates for CPU, storage and memory. While it is called the “Universal” charge plan, in fact it isn’t really because it doesn’t apply to all entity types. For example, it is not applicable to J2EE applications.
  • Extended Charge Plans – The Universal Charge Plan is an obvious starting point, but there are many situations where entity-specific charges are required. Let’s say you have a lot of people who understand Linux, but there is a new environment being added to your data centre that requires Windows knowledge. If you had to pay a contractor to come in to look after that environment because it was outside your knowledge zone, it would be fair to charge usage of the Windows environment at a higher rate. As another example, let’s say your standard environments did not use Real Application Clusters (RAC), and a new environment has come in that requires the high availability you can get from a RAC environment. RAC is, of course, a database option that you need to pay anadditional license fee for, so that should be charged at a higher rate. An extended charge plan can be used to meet these sorts of requirements, as it provides greater flexibility toChargeback administrators. Extended charge plans allow you to:
    • Setup specific charges for specific entities
    • Define rates based on configuration and usage
    • Assign a flat rate regardless of independent of configuration or usage
    • Override the rates set for the universal plan

    An out of the box extended plan is provided that you can use as a basis for creating your own extended plans. This plan defines charges based on machine sizes for the Oracle VM Guest entity.

Cost Centres

Obviously, when charges for resource usage are implemented, these charges must be assigned to something. In the Chargeback application, the costs are assigned to a cost centre. Cost centres are typically organized in a hierarchy and may correspond to different parts of an organization — for example, Sales, Development, HR, and so forth – or they may correspond to different customers – for example, where you are a hosting company and host multiple customer environments. In either case, cost centres are defined as a hierarchy within the Chargeback application. You can also import cost centres that have been implemented in your LDAP server, if you want to use those.


The main benefit you get from using Chargeback is the vast amount of information it puts at your fingertips. This information can be reported on by administrators in a variety of formats available via BI Publisher, including pie charts and bar graphs, as well as drilling down to charges based on a specific cost centre, entity type, or resource. You can also make use of trending reports over time and can use this to aid you in your IT budget planning. Outside the Chargeback application itself, Self-Service users can view chargeback information related to the resources they have used within the Self Service Portal.

What’s Next?

So now you have an understanding of the capabilities of the Chargeback application in the Enterprise Manager product suite. The next step, of course, is to set it up. I’ll cover that in another blog post, so stay tuned for that!


After 22 years of working at Oracle in just about every role except Marketing and Support, I am now working as a Senior Managed Services Consultant with Data Intensity, specializing in Oracle Database technology, High Availability and Disaster Recovery solutions. I am also a member of the OakTable Network, and have presented at RMOUG Training Days, Hotsos Symposia, Oracle OpenWorld conferences, and other user group events. I have co-authored the Expert Oracle Enterprise Manager 12c and Practical Oracle Database Appliance books published by Apress, and am one of the authors of the Building Database Clouds in Oracle Database 12c book published by Addison Wesley.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.