Setting Up Chargeback in EM

Some time back, I posted a blog entry about Metering and Chargeback in Enterprise Manager, where I covered the basic capabilities of the Chargeback Application. It’s taken me some time to get back to the promised followup blog post on setting up Chargeback, what with Oracle Open World getting in the way of things, but that’s what I’m finally doing now.

Chargeback can be setup in EM12c by any user with the EM_CBA_ADMIN role, or of course as SYSMAN. Once you are logged in as a user with the relevant privileges, follow the path “Enterprise → Chargeback”:


The default currency symbol displayed in the Chargeback application is the dollar sign ($). Note this is just a symbol and does not have any impact on chargeback calculations, but you can change it if you want by clicking on the “Settings” tab:


You can enter a new currency symbol here, but for this environment we will leave it at the default and click “Change Plans”:


The first thing we want to do is set rates for the universal change plan. This covers the CPU Usage, Memory Allocation and Storage Allocation metrics. Click “Set Rates”:


Set the rates appropriately and click “Save”:


While the universal charge plan is useful, there are situations where you want to apply charges on other entities. That’s where an extended charge plan can be used. To create an extended charge plan, click “Create” then “Plan”:


Provide a meaningful name for the charge plan, then click “Add” to select an entity type for which you can set rates:


You can add multiple entity types to the charge plan at once, so choose “Host” and “Oracle Pluggable Database” then click “OK”:


You can now setup specific configurations for each entity type, by selecting the entity then clicking “Setup Configurations …”:


Click the “Add” button:


In this example, we want to charge different rates for different machine architectures. This is the sort of thing you would do if you wanted to charge more for maintaining machines that are either outdated or where you have less skills and may need to bring in consultants. To do this, you can set the “Condition Item” to “Machine Architecture”, then click the “Search” button to search for different values you can choose:


In this scenario, we want to set up three different configurations:
• Intel x86_64 as our default
• Intel i686 as more expensive because it’s outdated
• PA-RISC 64-bit as more expensive since we have less skills in that area.
You can select each in turn from the list and click “OK”, like this:


Click “OK”:


On the “Setup Configurations” pop-up, click “OK” again:


You can now specify multipliers for each architecture. In this example, we’re leaving our preferred architecture (Intel x86-64) at 1, setting Intel i686 to 2x, PA-RISC 64 bit to 1.5x and other architectures to 3x. Next we can click “Oracle Pluggable Database” to setup configurations for that:


Click “Setup Configurations”:


Click “Add…”:


On the “Add Configuration” pop-up, select “Version” for the “Condition Item”:


In this scenario, we want to charge more for clients that have not switched to the latest version of the database as a way of encouraging migration so we set the “Condition Operator” and “Condition Value” to validate that. We could also have chosen to charge more when using paid options like Partitioning and so on. Click “OK”:


On the “Setup Configurations” pop-up, click “OK”:


Back on the “Create Plan: HR Chargeback Plan” page, we can increase the multiplier for configurations that aren’t on the latest version and click “Save”:


Now we have the charge plans configured the way we want, we can also define cost centers that the charges will be assigned to. Cost centers are normally configured in a business hierarchy, so let’s walk through the process of building that. We start by clicking the “Cost Centers” tab:


Cost centers can either be imported from an existing LDAP configuration (done via the “Action” menu) or defined in the Chargeback application itself. In this example, we’ll walk through adding them to the Chargeback application. To do this, click “Add”:


On the “New Cost Center” pop-up, enter a cost center name and display name, then click “OK”:


You can do this as many times as you like. To add a cost center in a business hierarchy, first create a cost center at the top level (as shown above) then create a cost center using the “Member of” radio button and select the relevant top level cost center, as shown here:


Once you have defined all the cost centers you need, the next step is to add the relevant entities. An entity is either a target in Enterprise Manager, or a custom resource that has been added to Enterprise Manager. Custom resources can include target types for which there is no current out-of-the-box Chargeback support (covered in more detail in the documentation). To add entities, click the “Entities” tab:


Click “Add Entities”:


This will start the “Add Entities” wizard. Click “Add” to select targets for chargeback:


Firstly, we want to add hosts. To search for hosts to add, deselect “All” and select “Host” from the “Target Type” dropdown:


From the list of hosts, select one or more hosts to add as an entity and click “Select”:


On the Make Assignments wizard step, select the entity name and click “Assign Plan”:


Select “HR Chargeback Plan” and click “OK” to add the chargeback plan to this host:


To add a cost center to this host, click “Assign Cost Center”:


Select the relevant cost center and click “OK”:


Back on the “Make Assignments” step, click “Next”:


Review the settings and if they are correct, click “Submit”:


You can walk through the same process to add one of the container databases and a PaaS zone as well.

NOTE: If you add a PaaS zone, everything inside the zone automatically gets added, so you don’t need to add items individually as I’ve shown here. If you’re not adding a PaaS zone, then you still need to add items individually.

Once that has been done, you can schedule an on-demand data collection to start seeing the information for these entities in the Chargeback application. To do that, select “On-demand data collection” from the “Action” dropdown menu:


Click “Yes” on the “Confirmation” pop-up:


In the “Information” message, click “here” to view the job status:


Once the job status changes to “1 Succeeded”, click on “Enterprise” then “Chargeback”:


You should see information being collected both in the “Summary” and “Usage Trends” regions:


It might seem like a very long-winded setup, but in reality Chargeback only takes you a short time to configure. Of course, once it’s configured you then have all the joys of getting money out of the end clients for their resource usage – good luck with that one, I can’t help you there! 🙂


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.