Oracle Database — MariaDB — Migration Economics

Oracle to MariaDB Migration: Feature, Cost and Licensing Comparison That Survives Board Review

An Oracle to MariaDB migration is the displacement path with the most marketing distance between the vendor pitch and the engineering reality. MariaDB's Oracle SQL mode and stored-procedure compatibility are real, and meaningfully better than what existed in MySQL five years ago. They are not the 95 percent compatibility number the vendor slide claims. This article is the buyer-side, evidence-based feature, cost and licensing comparison: what MariaDB actually replaces feature-for-feature, what it does not, what the MariaDB Enterprise Server subscription costs against the Oracle EE stack, where MaxScale fits, and where the migration genuinely changes the renewal conversation with Oracle. Written by former Oracle insiders, scored against real Oracle EE estates from 600+ engagements and $1.8B in advised spend.

Published 1 May 2026 15 min read Tags: Oracle Database · MariaDB · Migration Licensing
Former Oracle insiders25+ years600+ engagements$1.8B advised38% avg cost reduction100% buyer-side
Score my MariaDB exit → License Optimisation

Where MariaDB sits in the Oracle displacement landscape in 2026

MariaDB occupies a specific corner of the Oracle to open-source displacement market. It is meaningfully more Oracle-compatible than PostgreSQL out of the box because of the SQL_MODE=ORACLE feature first shipped in 10.3, and meaningfully cheaper than commercial alternatives because the underlying engine is open source under GPLv2. MariaDB Corporation sells MariaDB Enterprise Server as a hardened distribution with backports, MaxScale as the proxy/routing layer, and ColumnStore for analytics. The Enterprise subscription is what most buyers price against Oracle EE — the community edition is not realistic for production Oracle replacement at enterprise scale because the operational tooling, backup orchestration, and ACID hardening Oracle DBAs rely on are concentrated in the Enterprise distribution.

The Oracle to MariaDB migration is the right path in a handful of specific situations and the wrong path in many others. The right situations: mid-market workloads of 1 to 6 TB with PL/SQL heavy enough that PostgreSQL refactor cost is prohibitive, where Oracle RAC was never used and the active-passive HA pattern is sufficient, where the team has MySQL operational experience already. The wrong situations: workloads with heavy Oracle Spatial, Advanced Queueing, materialised view fast-refresh chains, RAC active-active topology, or Multitenant pluggable database patterns. Read the Oracle database licensing guide for the feature inventory you need to score before the destination decision is even credible.

The Oracle to MariaDB migration also has a specific tactical use as renewal lever. Oracle's account team ranks displacement threats by destination credibility, and the ranking goes Postgres > SQL Server > MariaDB > MySQL community. MariaDB is third on the threat ladder but still credible enough at deal desk to open the discount stack — particularly because MariaDB Corp is a commercial entity with named accounts and reference customers, which Oracle's win-loss tracking treats as a real loss.

MariaDB Oracle compatibility — actual versus marketed

MariaDB's SQL_MODE=ORACLE setting was introduced in 10.3 (2018) and has matured incrementally since. The current state in 11.x supports a substantial subset of Oracle SQL and PL/SQL syntax natively in the engine — not transpiled, not converted. The compatibility surface is real but limited. The buyer-side migration plan has to know exactly where the boundary sits.

What MariaDB Oracle mode supports natively

  • Anonymous PL/SQL blocks — BEGIN ... END; with declared local variables
  • Stored procedures and functions — Oracle syntax CREATE PROCEDURE / FUNCTION
  • Packages — CREATE PACKAGE / PACKAGE BODY (since 10.3)
  • Record types and TYPE...IS RECORD — supported with limitations
  • Exception handling — DECLARE handlers with Oracle-style EXCEPTION
  • DECODE, NVL, NVL2, LNNVL — included since 10.3
  • Sequences — CREATE SEQUENCE with NEXTVAL / CURRVAL
  • Synonyms — CREATE [PUBLIC] SYNONYM (limited)
  • ROWNUM — supported, behaviour aligned to Oracle
  • Hierarchical CONNECT BY — supported since 10.6 with caveats on PRIOR

What MariaDB does NOT natively support

  • Object types — CREATE TYPE ... AS OBJECT — no equivalent
  • Autonomous transactions — PRAGMA AUTONOMOUS_TRANSACTION — must be redesigned
  • Advanced Queueing (AQ) — no native equivalent, requires Kafka / RabbitMQ replacement
  • Materialised view FAST refresh — MariaDB has CREATE TABLE AS SELECT; FAST refresh logic must be reimplemented
  • Database links to other Oracle DBs — CONNECT / FederatedX engine partial; usually replaced with ETL
  • Oracle Spatial and Graph — limited GIS support; no graph equivalent
  • RAC active-active shared-disk — Galera is multi-master replication, not shared-disk; architectural change
  • Result cache — no equivalent; query plan caching only
  • Flashback queries — no equivalent; PITR via xtrabackup is the closest analogue
  • BULK COLLECT INTO nested tables — partial support; many forms require rewrite

Realistic auto-conversion on a typical Oracle EE workload using SQL_MODE=ORACLE and a tool like SQLines or AWS Schema Conversion Tool runs at 65 to 80 percent — slightly higher than PostgreSQL's 60 to 75 percent on the same code, but lower than the 95 percent the MariaDB marketing copy implies. The remaining 20 to 35 percent is the manual refactor budget the buyer-side TCO model has to score line by line.

Forensic MariaDB compatibility scoring

We run SQL_MODE=ORACLE against your actual PL/SQL estate, score the unconvertible tail line by line, and produce a defensible refactor budget. Buyer-side numbers only, fixed-fee.

Score my MariaDB exit →

Feature-for-feature comparison: Oracle EE vs MariaDB Enterprise

The feature-for-feature scoring below comes from how we cost an Oracle to MariaDB migration on the buyer side. The Oracle Options column on the right is the line that destroys the surface comparison most often — Oracle charges $11,500 to $23,000 per processor for features MariaDB Enterprise bundles inside the subscription.

Feature areaOracle EE (with options)MariaDB Enterprise
OLTP engineEE base ($47,500/proc)InnoDB / ColumnStore (included)
PartitioningPartitioning option ($11,500/proc)InnoDB partitioning (included)
CompressionAdvanced Compression ($11,500/proc)InnoDB row compression (included)
HA / replicationActive Data Guard ($23,000/proc)MaxScale + semi-sync replication (included)
Active-active multi-masterRAC ($23,000/proc)Galera Cluster (included) / Xpand (subscription)
Diagnostics & tuningDiagnostics + Tuning Packs ($12,500/proc)Performance Schema + sys schema (included)
MultitenantMultitenant option ($17,500/proc)Multiple databases per instance (included)
EncryptionAdvanced Security ($15,000/proc)InnoDB TDE (Enterprise tier)
Backup orchestrationRMAN (free, separate licence for catalog DB)MariaDB Backup / xtrabackup (included)
Spatial / graphSpatial & Graph option ($17,500/proc)Limited GIS / no graph
Advanced QueueingIncluded in EENo native equivalent
Materialised view FAST refreshIncluded in EELimited; manual reimplementation

The pattern: MariaDB Enterprise replaces 70 to 80 percent of Oracle EE functionality at roughly 5 percent of the Oracle list cost once options are included. The unsupported 20 to 30 percent (spatial, AQ, MV fast refresh, RAC active-active) is where the workload either gets reshaped architecturally or stays on Oracle.

Licensing economics — Oracle EE vs MariaDB Enterprise Server

MariaDB Enterprise Server is sold by subscription per node per year. The published list is opaque (MariaDB Corp negotiates each enterprise contract) but our buyer-side benchmark from recent engagements is roughly $5,000 to $8,000 per node per year for the Silver to Platinum support tiers, with MaxScale at roughly $3,000 to $5,000 per node per year additional. ColumnStore and Xpand are priced separately. On a 16-node Oracle Enterprise Edition estate the comparison is:

5-year licence stackOracle EE + optionsMariaDB Enterprise + MaxScale
Net licence$1,040,000 (sunk)$0
Annual maintenance / subscription$229,000 / yr (22% support)$160,000 / yr (16 nodes × ~$10K blended)
5-year recurring$1,344,000 (with uplift)$800,000
5-year total$2,384,000$800,000

This is the licence-and-subscription line only. Operational and refactor costs sit on top, and the refactor line is where the migration economics actually live. The licence saving alone — $1.58M across five years on a 16-node estate — is not enough to justify the migration if refactor cost lands at $1.8M to $2.5M. The cleaner buyer-side use of the model is as renewal lever. The Oracle to PostgreSQL TCO model covers the same logic on the Postgres destination — the arithmetic differs at the refactor line but the conclusion is the same: the migration earns its keep by changing the renewal conversation, not by being cheaper in year five.

MaxScale, Galera, Xpand — the operational stack you actually need

MariaDB Enterprise on its own does not produce an Oracle EE-equivalent operational platform. MaxScale is the proxy and routing layer that handles read/write splitting, automatic failover, query firewall, and binlog routing. Galera Cluster is the synchronous multi-master replication layer for active-active patterns at small to medium scale. MariaDB Xpand (formerly ClustrixDB) is the commercial distributed-SQL layer for active-active at large scale. Most enterprise Oracle EE workloads need at least two of these three components, and the buyer-side TCO model must include them explicitly rather than treating MariaDB Server as a complete platform.

Operational stack components and their roles

  • MaxScale — Replaces a portion of the Oracle EE Connection Manager + listener stack; handles automatic failover that Oracle RAC's VIP did. ~$3K–5K/node/yr subscription.
  • Galera Cluster — Synchronous multi-master, up to 5 nodes practically; replaces small-scale RAC active-active. Open source; included in Enterprise.
  • Xpand — Distributed-SQL at larger scale; multi-tenant active-active sharding. Subscription-priced separately.
  • ColumnStore — Columnar analytical engine; replaces a portion of Exadata's storage indexes and HCC for reporting workloads.
  • MariaDB Backup — Hot physical backup; closest analogue to RMAN. Included.
  • SkySQL DBaaS — Managed-cloud option; PaaS economics for teams without DBA depth.

The buyer-side migration TCO model must cost each component the workload actually requires. Pricing MariaDB Enterprise Server alone against Oracle EE is the equivalent of pricing Oracle EE alone without RAC, ADG, or Multitenant — technically possible, operationally non-viable for a real enterprise workload. The Cloud & OCI Advisory service covers the operational equivalence question explicitly when the destination is a managed-cloud platform rather than self-managed MariaDB.

Anonymised case: mid-market manufacturer to MariaDB Enterprise

The case below is anonymised from a 2025 engagement. A European mid-market manufacturer running a manufacturing-execution-system (MES) on Oracle Standard Edition 2 with hot standby, four sockets across two servers. Annual Oracle support $42K. The renewal carried a 12 percent uplift and a request to upgrade to Enterprise Edition because the workload had outgrown SE2's two-socket limit. The proposed Oracle EE re-licensing was $310K net licence plus $68K annual support. The client engaged us to score a MariaDB Enterprise migration as the alternative.

5-year total (USD)Stay on SE2 + upliftUpgrade to Oracle EEMigrate to MariaDB Enterprise
Licence$0 (sunk)$310,000 (new licence)$0
5-year support / subscription$252,000 (12% uplift)$408,000 (22% + uplift)$200,000 (MariaDB + MaxScale)
Refactor (SQL_MODE=ORACLE + manual)$0$0$185,000
Dual-run cost$0$0$80,000
Operational labour delta$0 baseline$0 baseline($60,000) saving
Audit reserve$0$0$80,000
5-year total$252,000$718,000$485,000

On the five-year horizon staying on Oracle SE2 was cheapest in nominal terms, but the workload had already exceeded SE2's two-socket constraint and was running with capacity caps that were costing production throughput. The migration to MariaDB Enterprise was the cheaper of the two real options (EE upgrade vs MariaDB migration). The client executed. The migration ran 14 months end-to-end and delivered the projected outcome within 7 percent of plan. Oracle's account team did issue an LMS audit during the cutover window — the audit reserve in the model absorbed it. The Audit Defence service ran the LMS engagement on the client's behalf. See the manufacturer ULA exit case for an adjacent engagement pattern in the same sector.

Independent migration scoring

Independent, buyer-side. MariaDB compatibility scoring, refactor budget, operational stack design, audit reserve sizing. Fixed-fee, ten-day turnaround.

Brief us on the renewal →

Oracle renewal redlines a credible MariaDB exit unlocks

MariaDB sits third on Oracle's deal-desk threat ranking but it is credible enough to open the discount stack when the migration plan is properly evidenced. The redlines below have been signed on engagements where the buyer-side Oracle to MariaDB migration TCO was on the table.

Redline clauses unlocked by a credible MariaDB exit

  • SE2 to EE conversion at SE2 economics — Defend SE2 socket pricing inside an EE upgrade when MariaDB is the alternative.
  • Multi-year support cap — 0 percent uplift for the contract term against MariaDB threat.
  • Audit suspension — No LMS audit during contract term, written into ordering document.
  • Right to reduce processor count — 25 to 30 percent reduction at anniversary with notice; defend against non-reducibility.
  • Option drop rights — Terminate Partitioning, Diagnostics, Tuning, Compression at anniversary with no recapture.
  • NUP convertibility — Convert NUP to Processor on remaining workloads at the original discount stack.

The redlines depend on the migration plan being credible at deal desk. A MariaDB migration plan without named MariaDB Corp engagement, without a sponsored Microsoft Azure or AWS landing-zone partner, and without a board-approved budget reads as a position, not a threat. The buyer-side model is the credibility. See the Support Reduction service for the support termination sequence we use to protect the residual Oracle workloads during cutover.

Frequently asked questions

Does MariaDB really run PL/SQL natively?

MariaDB has had a SQL_MODE=ORACLE mode since version 10.3 that supports a subset of PL/SQL syntax natively. The compatibility surface covers anonymous blocks, packages, procedures, functions, records, and exceptions. The unsupported tail includes hierarchical queries with CONNECT BY (limited support since 10.6), object types, autonomous transactions, and Advanced Queueing. Realistic auto-conversion is 65 to 80 percent of PL/SQL, slightly better than Postgres but worse than the marketing claims.

What is the cost of MariaDB Enterprise compared to Oracle Enterprise Edition?

MariaDB Enterprise Server with MaxScale subscription runs roughly $5,000 to $8,000 per node per year on the published list, depending on the support tier (Silver, Gold, Platinum) and the bundled features (MaxScale, ColumnStore, Xpand for distributed). For a 16-node Oracle EE estate the MariaDB Enterprise subscription lands at roughly $80K to $128K per year against Oracle's $1.04M licence list plus $229K annual support. On a 5-year horizon MariaDB Enterprise is roughly 4 to 6 percent of the Oracle EE comparison once the option stack is loaded.

Can MariaDB realistically replace Oracle RAC?

MariaDB does not offer a like-for-like RAC equivalent. The closest replacement is MariaDB Xpand (formerly ClustrixDB) for distributed SQL with multi-active replication. Galera Cluster handles synchronous multi-master at smaller scale. For active-passive HA, MariaDB MaxScale with semi-sync replication is a clean replacement. For shared-disk active-active workloads of the kind RAC was designed for, the migration usually requires architectural change to a sharding pattern rather than a 1-to-1 RAC replacement.

How does an Oracle to MariaDB migration affect Oracle audit risk?

Oracle LMS audits roughly 1 in 3 customers who issue an RFP for an Oracle Database displacement, particularly when the destination is MariaDB or Postgres because Oracle perceives those as direct competitive losses. The audit usually targets the residual Oracle estate during cutover — virtualisation rules, partial usage of options, Java SE on the same hosts. Sized audit reserve is non-negotiable in the buyer-side TCO model.

Does the threat of a MariaDB migration produce real Oracle renewal discount?

Yes, when the migration plan is costed, sponsored, and sequenced. The discount authority that opens up on the Oracle side mirrors what we see for Postgres and SQL Server displacements — 50 to 70 percent off list at renewal, with multi-year uplift cap. The model is the lever. MariaDB has slightly less weight than Postgres in Oracle's deal-desk threat ranking because the install base is smaller, but a credible Oracle to MariaDB migration plan still routes to deal desk.

Free Briefing

Oracle Licensing Brief

Twice a month. Oracle pricing moves, audit-defence tactics, migration economics, ULA exit playbooks. Written by former Oracle insiders, never marketing.

No spam. Unsubscribe any time. Independent — not affiliated with Oracle Corporation.