Home  /  Journal  /  Multicloud Database  /  Multicloud Cost Governance
Multicloud Database

Cost Governance When Oracle Runs Inside Azure or AWS

Oracle Database at Azure, AWS, or Google Cloud puts one workload under two bills. The database is OCI infrastructure operated by Oracle, the invoice flows through a hyperscaler marketplace, and everything around the database lands on the hyperscaler account. Neither console shows the whole picture, and cost governance has to be rebuilt for that reality.

Published Jun 6, 2026 · By Fredrik Filipsson · 11 min read · Independent OCI advisory
Financial documents and a calculator arranged on a desk

When an enterprise adopts Oracle Database@Azure, Database@AWS, or Database@Google Cloud, the operational story gets simpler and the financial story gets harder. The database runs on genuine OCI infrastructure, Exadata or Autonomous Database, physically placed inside the hyperscaler data center and operated by Oracle. But the money takes a different path. The spend is purchased as a private offer through Azure Marketplace or AWS Marketplace, it draws down the commitment you negotiated with Microsoft or Amazon, and the detailed consumption telemetry lives partly in the OCI console and partly in the hyperscaler cost tooling. Meanwhile the application tier, the storage around the database, and the network traffic all bill natively on the hyperscaler side as if the database did not exist.

The result is that a single business service, one application backed by one database, now produces cost lines in two consoles, governed by two different commitment vehicles, visible to two different sets of people. Finance sees a marketplace charge it cannot decompose. The database team sees ECPU consumption it cannot reconcile to an invoice. The cloud platform team sees an Azure or AWS bill with a large opaque block in the middle of it. Nobody owns the full number, and where nobody owns a number, it grows.

This article lays out how to govern that two vendor bill in practice: where each cost line actually appears, how Database@ consumption interacts with MACC and EDP commitments, how to make tagging and showback work across clouds, where the idle capacity hides, and what a FinOps operating model looks like when one workload spans two providers. It is part of our series on running Oracle database services inside the hyperscalers, anchored by the complete guide to Oracle Database at Azure, AWS, and Google Cloud.

Why cost visibility fragments

On native OCI, Oracle database spend is straightforward in at least one sense: you buy Universal Credits, consumption draws them down, and the OCI console plus the cost analysis tooling shows you what consumed what. On Database@Azure or Database@AWS the purchasing model changes. You buy through a marketplace private offer, a negotiated commercial construct between you, Oracle, and the hyperscaler, and the charge arrives on your Azure or AWS invoice as marketplace spend. The hyperscaler bills you, settles with Oracle behind the scenes, and presents the cost at a level of granularity that was designed for marketplace software, not for a metered database platform.

Who sees what in which console

The practical consequence is a split brain. The OCI console, reached through the identity federation that the Database@ services establish, shows the resource level truth: which Exadata VM clusters exist, how many ECPUs or OCPUs are enabled, what Autonomous Database consumed hour by hour, which compartments and tags the resources carry. The hyperscaler console shows the financial truth: the marketplace charge, its effect on your committed spend, and its place in the overall Azure or AWS bill. Neither view is wrong, but neither is complete. A cost analyst working only in Azure Cost Management sees a number without drivers. A DBA working only in OCI sees drivers without a number. Governance starts by accepting that both views are required and assigning someone to join them, on a schedule, with a defined reconciliation method.

It is worth being precise about what did not change. The OCI metering model underneath is the same one we analyze in our breakdown of Database@AWS pricing: infrastructure floor cost for the Exadata shape, enabled cores or ECPUs as the variable, storage and backup as the steady growth lines. The Database@ wrapper changes who invoices you and which commitment the spend counts toward. It does not change the meter, and it does not change the levers that move the meter.

How Database@ spend draws down MACC and EDP commitments

For many enterprises the decisive reason to run Oracle inside Azure or AWS is commercial rather than technical: qualified marketplace purchases count toward the Microsoft Azure Consumption Commitment or the AWS Enterprise Discount Program commitment. A database platform that used to be a separate Oracle bill, invisible to the hyperscaler agreement, now helps you hit a committed spend number you were going to struggle to reach. That is genuinely valuable, and it deserves to be in the business case, as we argue in building the business case for Database@ platforms.

But commitment drawdown needs governance of its own. Three questions matter. First, confirm eligibility and the drawdown rate in your specific agreement, because marketplace treatment under a MACC or an EDP is contract language, not a universal rule, and the treatment of private offers has conditions. Second, model the interaction between the Database@ private offer term and the hyperscaler commitment term. If your Oracle commitment runs longer than your MACC, or renews on a different cycle, you can end up overcommitted in one agreement to serve another. Third, watch for the perverse incentive: once database spend helps burn down a commitment, the organization loses some of its appetite to reduce that spend. A dollar saved on the database becomes a dollar that must be found elsewhere to meet the commitment. Good governance names this tension explicitly and resolves it with arithmetic, because a commitment shortfall penalty is almost always smaller than years of structural overconsumption.

One workload, two bills: where each line lives

The cleanest way to see the governance problem is to lay out the cost lines of a typical Database@ deployment and ask where each appears and who is positioned to control it.

Cost lineWhere it appearsWho governs it
Exadata infrastructure floorMarketplace private offer on the Azure or AWS invoiceNegotiated at contract time, fixed until renewal
Enabled ECPUs or OCPUsMetered in OCI, billed through the marketplace chargeDatabase team, the largest live dial
Database licensing postureLicense included rate or BYOL applied to the OCI meterLicensing and procurement, set per workload
Database storage and backupMetered in OCI, billed through the marketplace chargeDatabase team, retention and housekeeping
Application tier computeNative Azure or AWS billingCloud platform team
Surrounding storage and data servicesNative Azure or AWS billingCloud platform team
Network egress and inter region trafficNative Azure or AWS billingNetwork and platform teams
Commitment drawdown effectMACC or EDP tracking in the hyperscaler agreementProcurement and FinOps jointly

Read down the third column and the governance gap is obvious. The biggest controllable line, enabled cores, belongs to a database team that often never sees the invoice. The invoice belongs to a finance function that cannot see the cores. And the commitment effect belongs to procurement, which may not be in the room for either conversation. The table is the org chart problem in disguise.

The database team owns the dial, finance owns the invoice, and procurement owns the commitment. Until one forum joins those three views, the bill is governed by nobody.

The database cost and the cost around the database

A second discipline is to stop treating the marketplace charge as the cost of the workload. It is the cost of the database platform. Around it sits the application tier compute, the load balancers, the object storage, the analytics services reading from the database, and the network paths in and out, all billed natively by the hyperscaler. One of the strongest arguments for the Database@ architecture is that it collapses the egress and latency penalty of running the application in one cloud and the database in another, a tradeoff we examine in Database@Azure versus native OCI. But proximity does not make the surrounding cost zero, and replication to another region, backup copies to a second location, and data sharing to other platforms still generate network lines that belong in the workload view.

Showback should therefore present each business service as a composite: the database platform line from the marketplace, plus the attributed hyperscaler lines around it. When the composite exists, real conversations become possible. Is the application tier oversized relative to a database that was just right sized? Is the analytics replication pattern generating more egress than the report it feeds is worth? Without the composite, each team optimizes its own fragment and the workload as a whole stays expensive.

Tagging and showback across two clouds

Cross cloud attribution stands or falls on a shared tagging dictionary. OCI has tag namespaces and compartments, Azure has resource tags and management groups, AWS has cost allocation tags and accounts, and none of them talk to each other. The fix is organizational rather than technical: define one canonical set of keys, typically cost center, application, environment, and owner, with one controlled vocabulary of values, and enforce it in all three places. In OCI, use compartment structure and tag defaults so that every database resource inherits the keys at creation. In Azure and AWS, use policy to require the same keys on the surrounding resources. The values must match exactly, because the join between the two datasets happens on those strings.

Then build the joined report. Export OCI cost and usage data, export the hyperscaler cost data, and join on the shared keys so that each application shows its database consumption and its surrounding consumption side by side. This is unglamorous plumbing, a few days of engineering and a monthly refresh discipline, but it is the single highest leverage artifact in multicloud database FinOps, and it is the backbone of the operating model we install in our cost governance practice. Once showback is credible, chargeback becomes a policy decision rather than a data project.

Idle capacity and scaling discipline

Visibility tells you where the money goes. Scaling discipline is what changes the number. On the Database@ platforms, the same OCI rules apply: the Exadata infrastructure floor is fixed by the shape you chose, and the enabled ECPU or OCPU count is the live dial that drives both compute and, where licensing is tied to active cores, the licensing line as well. Every core left enabled through the quiet hours is paid for twice, once in compute and once in license. The platforms support online scaling, Autonomous Database supports automatic scaling within bounds you set, and lower environments rarely need to match production sizing or run around the clock.

In practice, the waste concentrates in three places. Development and test clusters sized as production clones and never revisited. Production core counts set for a quarterly peak and left there all year. And automatic scaling ceilings set so generously that the autoscaler quietly becomes the budget. The countermeasures are equally concrete: scheduled scale down for environments outside production, a calendar of expected peaks with deliberate scale up and scale down around them, and a monthly review where actual utilization is compared with enabled capacity per cluster. None of this requires new tooling. It requires someone to own the dial, and a forum where turning it down is rewarded rather than ignored.

Budgets and anomaly detection in both consoles

Because the spend is split, the alarms must be split too. On the OCI side, set budgets per compartment so that a development cluster suddenly consuming like production trips an alert, and use the consumption data to watch ECPU trends per database. On the hyperscaler side, set Azure Cost Management or AWS Budgets thresholds on the marketplace line itself and on the surrounding resource groups or accounts, and enable the anomaly detection features so that an unusual jump is surfaced within days rather than at month end. The two alert streams should land with the same owner. An anomaly that appears only in OCI telemetry, a core count that doubled, will surface in the marketplace charge weeks later; the team that sees the first signal must be the team that can act before the second one arrives.

Licensing deserves its own watch. Whether each database runs license included or brings existing licenses changes the per ECPU economics materially, and the compliance posture of BYOL on a platform that scales cores online needs deliberate management. We cover the mechanics and the audit exposure in licensing Oracle Database on the multicloud platforms; for governance purposes the point is that the licensing decision is a cost line in the table above, and it should be reviewed on the same cadence as the core counts it multiplies.

A multicloud cost governance framework

Pulled together, the operating model fits in seven steps.

  1. Map every cost line to a console and an owner. Build the table above for your own estate, name a single accountable owner for the joined picture, and publish it.
  2. Unify the tagging dictionary. One set of keys and values across OCI, Azure, and AWS, enforced by tag defaults and policy at resource creation, audited quarterly.
  3. Build the joined showback report. Export both cost datasets, join on the shared tags, and show each application its database line and its surrounding lines together, monthly.
  4. Govern the commitment drawdown. Confirm eligibility and rates in contract language, align private offer and commitment terms, and decide in advance how savings interact with the commitment.
  5. Install scaling discipline. Schedules for environments outside production, a peak calendar for production, automatic scaling with deliberate ceilings, and a monthly utilization versus enabled capacity review.
  6. Alarm both sides. OCI budgets per compartment, hyperscaler budgets on the marketplace line and surrounding services, anomaly detection on, all alerts routed to the owner from step one.
  7. Review quarterly against the renewal horizon. Track consumption against the private offer and the commitment, and start renewal preparation with a clean baseline at least two quarters out.

The FinOps operating model for a two vendor bill

Most FinOps teams grew up on a single cloud bill, and their instincts, rate optimization, reserved capacity coverage, unit economics, all still apply, but the Database@ pattern adds a coordination layer. The forum that works in practice is small and meets monthly: the FinOps analyst who owns the joined report, the database lead who owns the dial, the platform lead who owns the surrounding spend, and procurement when commitments or renewals are in play. The agenda is fixed: actuals versus budget on the composite view, utilization versus enabled capacity per cluster, anomalies and their dispositions, and drawdown pace against the commitment curve. Decisions, especially scale downs, are recorded with owners and dates. This is deliberately boring. Multicloud cost governance fails through diffusion of responsibility far more often than through lack of data, and a boring forum with a fixed agenda is the antidote.

Where organizations want help, the engagement shape matters as much as the expertise. We structure this work three ways. A fixed Project fee suits the setup phase: building the tag dictionary, the joined showback report, and the budget and alert plumbing as a defined deliverable. A Managed Monthly retainer suits the steady state, where we run the review cadence, produce the composite reporting, and manage the scaling calendar alongside your teams. And for estates that suspect they are overspending now, our Optimization fee is charged as a percentage of verified savings, with no savings, no fee, which puts the burden of proof on us rather than on your budget. The optimization work itself, from core count rationalization to storage housekeeping, is described in our OCI cost optimization practice.

Renewal posture: the quiet payoff of good governance

Everything above compounds at renewal time. A Database@ private offer renewal is a negotiation with Oracle conducted inside a marketplace construct, and your leverage is your data. If you arrive with twelve months of consumption history, utilization versus enabled capacity per cluster, a defensible forecast, and a clear view of how the database spend interacts with your MACC or EDP trajectory, you negotiate from evidence. If you arrive with an invoice and a shrug, you renew at the incumbent number plus growth. The same is true on the hyperscaler side: a commitment renewal that already accounts for the marketplace drawdown of the database platform is a very different conversation from one where that spend is discovered late. The business case framing in our Database@ business case article is not a one time artifact; refreshed annually with actuals, it becomes the renewal brief.

Bringing it together

Running Oracle inside Azure or AWS does not make database cost unmanageable, but it does make the old single console habits obsolete. The spend splits across a marketplace charge and a native bill, the levers split across a database team and a platform team, and the commercial effects split across an Oracle agreement and a hyperscaler commitment. The enterprises that govern this well do a small number of things consistently: they join the two views with shared tags, they put one owner and one monthly forum around the composite number, they treat enabled cores as a managed dial rather than a setting, and they walk into every renewal with evidence. If your Database@Azure or Database@AWS bill has become a number nobody can explain, that is a solvable problem, and usually a faster one than teams expect.

Free white paper

Go deeper on this topic with The OCI Cost Optimization Framework, how to find, verify, and lock in OCI savings. An independent analyst style report with comparison tables and recommendations, free with a work email. Prefer a monthly summary instead? The OCI Brief delivers one practical OCI briefing a month.

Part of a series
This guide is part of OCI vs Other Clouds — our complete pillar guide on the topic.

About the author

Fredrik Filipsson, Co-founder of OCI Specialists — 20 years of enterprise IT experience in Oracle Database, OCI cost optimization, licensing, and data platforms. Full profile · LinkedIn

Moving Oracle workloads to OCI, or already running on OCI and not sure the architecture or the spend is right? Most teams bring in a specialist before they commit to a region, a shape, or a Universal Credits number. OCISpecialists.com plans the landing zone, runs the migration, and manages the estate after go live, on a fixed project fee, a managed monthly retainer, or a cost optimization fee paid only on verified savings.