Skip to content

Data

Oracle

The heavyweight enterprise database — run by engineers who respect it, price it honestly, and will tell you when you do not need it.

Overview

Oracle Database is the heavyweight of the relational world. For decades it has been the default choice for the largest, most demanding, most unforgiving systems in existence — core banking ledgers, telecoms billing, government records, airline reservations — the systems where downtime is measured in money per second and data loss is not survivable. It got there by being genuinely excellent at the hard parts: extreme reliability, availability and scale, backed by a feature set no other database has matched breadth for breadth. Real Application Clusters (RAC) run a single database across multiple servers for continuous availability. Data Guard keeps a synchronised standby ready for disaster recovery. Partitioning, a mature cost-based optimiser, and Exadata engineered systems let it handle data volumes and query complexity that would flatten a lesser engine. This is not marketing; Oracle earned its reputation in the places where getting it wrong ends careers.

The application language is PL/SQL — Oracle’s procedural extension to SQL — and a great deal of business logic in large enterprises lives inside it, in stored procedures, packages and triggers that have run correctly for twenty years. That depth is real, and it is also a large part of why Oracle estates are so hard to leave: the database is not just storing your data, it is running your business rules. On the modern side, Oracle now offers Autonomous Database on Oracle Cloud, a self-patching, self-tuning managed service that removes a chunk of the operational burden the product is famous for. We work across the range — from legacy on-premises estates with decades of accumulated PL/SQL to Autonomous Database on OCI.

We will be blunt about the trade-off, because it is the single most important thing on this page. Oracle is notoriously expensive and its licensing is notoriously complex — a well-known source of audit exposure, compliance pain and unbudgeted cost that has ambushed many organisations. It is operationally heavy, demanding specialist DBAs to run it well, and it locks you in deeply through both its licensing and its PL/SQL. For the vast majority of new systems, PostgreSQL — or another open-source database — delivers everything that is actually needed at a fraction of the total cost, and we will say so plainly rather than default to Oracle out of habit. Oracle is genuinely the right answer in a real but narrow set of cases; the rest of the time, the honest recommendation is to respect it and not use it.

Best for — Organisations with existing large Oracle estates, and extreme-scale mission-critical workloads that genuinely depend on Oracle’s RAC, Data Guard, partitioning or Exadata features — plus teams who need to migrate off Oracle onto PostgreSQL and want it done safely.

Why teams choose Oracle

  • Availability and disaster recovery at the top end

    Oracle’s high-availability stack is the reason it sits under so many systems that simply cannot stop. RAC runs one database across several servers so the loss of a node does not take the system down; Data Guard maintains a synchronised standby for failover and zero-data-loss recovery. For workloads where an hour of downtime is a genuine catastrophe, this is capability you can buy off the shelf and few other engines match it as completely.

  • Scale and query power that hold up under real load

    Partitioning splits enormous tables into manageable pieces the optimiser can prune; the cost-based optimiser is decades mature; and Exadata engineered systems pair the database with hardware tuned specifically for it. Together they let Oracle handle data volumes and analytical complexity that would force a lesser database into heroics or defeat. Where your workload is genuinely at that scale, this depth is the point.

  • Business logic that has been proven for years

    A mature Oracle estate is not just data — it is a body of PL/SQL that encodes how the business actually works, tested and corrected over many years of production. That accumulated correctness has real value. Where it exists and works, the sensible engineering move is often to run and maintain it well, not to gamble on rewriting rules that took two decades to get right.

Why businesses choose Oracle

  • You already run a large Oracle estate and need engineers who can operate RAC, Data Guard and years of PL/SQL competently — keeping a mission-critical system healthy rather than reflexively replacing it.
  • Your workload is genuinely at the extreme end — availability, scale or query complexity that depends on Oracle’s specific features — and you want a team that understands where those features earn their cost.
  • You are weighing whether to stay on Oracle or move off it, and you want an honest, numbers-led assessment rather than a vendor pitch in either direction.
  • You want to migrate off Oracle onto PostgreSQL to escape the licence cost and lock-in, and you need it done carefully — including the PL/SQL — by people who respect how much can go wrong.

What we build with Oracle

The capabilities this technology is genuinely strong at — and what we most often build with it.

  • Real Application Clusters (RAC)

    RAC runs a single Oracle database across multiple servers sharing storage, so the failure of any one node does not bring the database down and load can be spread across the cluster. It is one of Oracle’s signature capabilities and a genuine reason organisations stay. We are honest that it is complex to run and licence, and we deploy and operate it where the availability requirement truly justifies it — not as a default badge of seriousness.

  • Data Guard for disaster recovery

    Data Guard maintains one or more synchronised standby databases, kept current from the primary’s redo, ready to take over on failure. Configured for maximum protection it gives zero-data-loss recovery; configured for performance it trades a small window for throughput. We design the standby topology and the failover procedure to match your actual recovery objectives, and — crucially — we test failover, because an untested standby is a hope, not a recovery plan.

  • PL/SQL packages and stored logic

    PL/SQL is Oracle’s procedural language, and in mature estates it holds a great deal of the business — packages, procedures, triggers and functions running rules that have been correct for years. We are fluent in it: we maintain and extend it carefully where it lives, and when the goal is migration, we treat translating or replacing PL/SQL as the hardest and most dangerous part of the job, planned accordingly.

  • Partitioning for large tables

    Partitioning divides a huge table into ranges, lists or hashes the optimiser can prune, so a query touches only the partitions it needs and maintenance operates on slices rather than the whole. It is central to how Oracle handles very large datasets. We design partitioning schemes around the queries and the data-lifecycle — how data ages, how it is archived — rather than partitioning for its own sake.

  • The cost-based optimiser and Exadata

    Oracle’s cost-based optimiser is decades mature and, paired with Exadata engineered systems — hardware built specifically to offload database work — handles analytical and transactional complexity at a scale most engines cannot approach. We read execution plans, manage statistics and optimiser behaviour deliberately, and are realistic about where Exadata’s cost is justified by the workload and where it is expensive over-provisioning.

  • Autonomous Database on OCI

    Autonomous Database is Oracle’s managed cloud offering — self-patching, self-tuning and self-backing-up — which removes a meaningful part of the operational burden the product is otherwise famous for. For teams committed to Oracle who want less DBA overhead, it is a genuine shift. We deploy and integrate it, while being clear that it deepens the commitment to Oracle Cloud, which is a factor to weigh openly rather than after the fact.

Use cases

  • Running and maintaining existing Oracle estates

    Large, established Oracle systems — core banking, billing, government records — that need competent day-to-day operation, PL/SQL maintenance, performance work and upgrades, kept healthy by engineers who understand how much depends on them.

  • High-availability mission-critical systems

    Workloads where downtime and data loss are not acceptable and RAC and Data Guard genuinely earn their cost — designed, deployed and tested so the availability and recovery guarantees are real rather than assumed.

  • Migrating off Oracle onto PostgreSQL

    Organisations escaping Oracle’s licence cost and lock-in, moving schema, data and PL/SQL onto PostgreSQL — the hardest and most valuable database work we do, done in careful, verifiable stages rather than a risky big-bang cutover.

  • Independent stay-or-leave assessments

    A clear-eyed evaluation of an existing Oracle system — what it costs, what it actually depends on, what a migration would genuinely involve — so a decision to keep or replace it is made on evidence rather than fear or sunk cost.

When Oracle is the right choice

  • Right when you already run a large Oracle estate — a core system with years of PL/SQL, RAC clusters and Data Guard standbys built around it. Rewriting a working, mission-critical Oracle system is a multi-year, high-risk undertaking, and it is often the wrong call even when the licence bill stings. The existing investment and the operational knowledge around it are real, and we help you run it well rather than reflexively tear it out.
  • Right for extreme-scale, mission-critical workloads that already depend on Oracle’s specific features — RAC for continuous availability, Data Guard for zero-data-loss disaster recovery, partitioning and Exadata for data volumes and query complexity that genuinely stress an open-source engine. These are the workloads Oracle was built for, and where its feature depth earns its keep.
  • Right when you have — or are willing to fund — the specialist teams to run it. Oracle rewards expertise and punishes the lack of it. If you have seasoned Oracle DBAs and the licensing discipline to stay compliant, the product does things few others can. If you do not, its complexity becomes a liability rather than an asset.
  • Wrong for the vast majority of new systems. If you are building greenfield and have a free choice, PostgreSQL almost always delivers what you actually need — full ACID transactions, strong SQL, JSON, partitioning, replication, extensions — without the licence cost, the audit exposure or the lock-in. We will recommend Postgres over Oracle for new work as a matter of course, and explain exactly why.
  • Wrong when the real driver is prestige or inertia rather than a hard technical requirement. Choosing Oracle because it feels like the “serious” option, or because nobody wants to make a decision, is how organisations end up paying enterprise-database prices for a workload a free database would have handled comfortably. We will challenge that reasoning before you commit to it.

Oracle: pros and cons

Strengths

  • Best-in-class high availability and disaster recovery through RAC and Data Guard — continuous operation across node failures and synchronised standbys for zero-data-loss recovery, at a level of maturity few competitors reach.
  • Exceptional scale and query power: partitioning, a decades-mature cost-based optimiser, and Exadata engineered systems handle data volumes and analytical complexity that genuinely stress open-source engines.
  • A deep, comprehensive feature set built over forty years — advanced security, flashback, materialised views, sophisticated PL/SQL — with tooling and documented operational knowledge for almost any enterprise requirement.
  • A proven track record in the most demanding environments on earth — banking, telecoms, government — where it has earned trust the hard way, and Autonomous Database now removes much of the operational burden for cloud workloads.

Trade-offs

  • Cost and licensing are the defining problem: Oracle is expensive, and its licensing is notoriously complex — per-core factors, options priced separately, virtualisation rules — making it a well-known source of audit exposure and unbudgeted compliance cost. Many organisations have been ambushed by a licence bill they did not see coming.
  • Heavy operational complexity. Running Oracle well demands specialist DBAs; it is not a database a general engineering team casually operates. That expertise is scarce and expensive, and without it the product’s power turns into risk.
  • Significant vendor lock-in. Between the licensing model and PL/SQL — which encodes business logic in Oracle-specific procedural code — leaving Oracle is a genuine project, not a config change. The switching cost is real and it is by design; it is precisely why estates persist long after the economics stop making sense.
  • Overkill for most new systems. For the large majority of greenfield projects, PostgreSQL or another open-source database delivers what is actually needed at a fraction of the total cost. Reaching for Oracle when the workload does not demand it means paying enterprise prices, and accepting enterprise lock-in, for capability you will never use.

Architecture

An Oracle architecture is a set of expensive, consequential decisions, and the first honest question is whether it should be an Oracle architecture at all. Where it should — an existing estate, or a workload that genuinely needs the feature set — we design around Oracle’s real strengths: RAC where continuous availability is required, Data Guard standbys sized to the recovery objective, partitioning schemes built around how the data is queried and aged, and PL/SQL organised into clean packages rather than scattered triggers. Every one of these carries a licensing implication, and we design with the licence model in view from the start, because in Oracle the architecture and the bill are the same conversation.

The other half of the work is the boundary between the database and everything else. Oracle estates tend to accumulate business logic inside the database over decades, which is why they are so hard to leave. We are deliberate about that boundary — keeping logic that genuinely belongs in the database there, and resisting the drift that turns Oracle into an application server you can never migrate away from. Backups, tested restores, a documented failover procedure and a clear picture of exactly which Oracle-specific features a system depends on are part of the architecture from day one — the last of these being precisely what makes a future migration off Oracle feasible rather than terrifying.

Performance

Oracle is enormously capable at performance, and most of the work is about using its own instrumentation properly rather than fighting it. The cost-based optimiser lives or dies on statistics, so we keep them current and read execution plans rather than guessing. AWR and ASH reports tell you where a database is actually spending its time; we use them to find the queries, the waits and the contention that dominate load, and fix those, instead of scattering indexes and hints on a hunch. Most “Oracle is slow” problems are a stale statistic, a plan regression, or a query doing far more work than it needs — not a limit of the engine.

Where the workload is genuinely at the top end, Oracle’s heavy machinery — partitioning to prune huge scans, parallel query, materialised views, and Exadata’s storage offload — is exactly what it is for, and we apply it where the numbers justify it. We are equally honest in the other direction: much of the time, the performance a system needs is well within what a properly tuned PostgreSQL would deliver, and the Oracle-specific tuning is effort spent defending a choice the workload never required. We tell you which situation you are in.

Security

Oracle has one of the deepest security feature sets of any database — Transparent Data Encryption for data at rest, fine-grained access control, auditing, Database Vault to constrain even privileged users, and network encryption. For the regulated environments Oracle typically serves, that depth is part of why it is chosen, and we configure it deliberately: least-privilege accounts, separation between application and administrative access, encryption in transit and at rest where the data warrants it, and auditing that produces a usable trail rather than noise.

The unglamorous fundamentals matter as much as the advanced features. Oracle-backed applications are as exposed to SQL injection as any other, and the defence is parameterised queries and bind variables everywhere, without exception. Beyond that: keep the database off the public internet, stay current with Oracle’s Critical Patch Updates — which are frequent and important — remove default accounts and sample schemas, and make sure backups are encrypted and access-controlled. And in an Oracle estate specifically, compliance has a second meaning: licence compliance is itself a risk to manage, because an audit finding can cost as much as a breach.

Scalability

Oracle scales further, out of the box, than almost anything else — which is precisely why it is chosen for the workloads that need it. RAC scales across cluster nodes for both availability and throughput; partitioning keeps very large tables manageable; parallel execution spreads heavy queries across resources; and Exadata pushes the ceiling higher still with purpose-built hardware. When a workload is genuinely at the extreme end, this is a coherent, well-trodden scaling path that few other databases can offer as completely, and we design it to the workload rather than over-provisioning for a scale you will not reach.

The honest caveat is that Oracle’s scalability is expensive scalability. Each of these capabilities is a licensing decision as much as a technical one, and the costs compound. Before assuming a workload needs Oracle-scale infrastructure, we test that assumption hard — because a great many systems believed to need it would in fact run comfortably on a well-tuned PostgreSQL, with read replicas and partitioning of its own, at a fraction of the cost. We reserve Oracle’s heavy scaling machinery for the cases that genuinely demand it, and we say clearly when a workload does not.

Oracle integrations & ecosystem

The technologies we most often pair with it — each links to how we work with it.

How we work

We start with an honest assessment, because with Oracle the most valuable thing we can do is sometimes tell you not to use it. For a new system we weigh the workload against the cost, and if PostgreSQL or another open-source database would serve you as well — which is usually — we say so before a single licence is bought. For an existing estate we map what the system actually depends on: which Oracle-specific features are load-bearing, how much PL/SQL there is, what the real licence exposure looks like, and whether the sensible move is to run it well or to plan an exit. Only then do we design or operate.

The engineers who work on your Oracle system are the ones who run it — that is what we mean by operating what we build. The person tuning the optimiser is the person who gets paged when a plan regresses; the person designing the Data Guard topology is the one who has to make failover actually work under pressure. That incentive keeps us honest: we favour legible, well-documented setups over clever ones, we test failover and restores rather than assuming them, and where the job is migration off Oracle, we move in careful, reversible stages — proving each slice against real data — because the cost of getting a mission-critical cutover wrong is exactly why these systems are so hard to leave.

The service behind it

Delivered throughData Engineering

What we build with Oracle

The disciplines this technology most often shows up in — from a first build to taking over and stabilising an existing one.

How we deliver

  1. 01

    Discover

    We map the system, the constraints and the business it serves — including the parts nobody documented.

    Architecture brief

  2. 02

    Architect

    Decisions get made, written down and defended before a line of production code exists.

    Decision records

  3. 03

    Build

    Short cycles against working software. You see progress in the product, not in a status deck.

    Shipping increments

  4. 04

    Operate

    Monitoring, incident response and iteration. The system is alive, so the engagement is too.

    Runbooks & SLOs

Industries we use Oracle in

Domain knowledge changes what gets built. A few of the sectors we know before the first meeting.

Also in Data

Why teams choose us for Oracle

  • Honest about whether you need Oracle at all

    Most consultancies are only too happy to sell you Oracle. We will tell you when you do not need it — which, for new systems, is most of the time — and recommend PostgreSQL instead. Where Oracle is genuinely warranted, we back it without hedging. Either way the advice is led by your workload and your numbers, not by what is most profitable to sell.

  • Senior engineers who have run it in production

    Oracle rewards experience and punishes its absence. The people working on your estate have operated RAC, Data Guard and years of PL/SQL in production; there are no juniors learning the optimiser on your mission-critical system. That judgement is the difference between Oracle’s power being an asset and being a liability.

  • We operate what we build

    We run the Oracle systems we ship, so we optimise for operational reality: tested failover, tested restores, a documented licence position, and a database your own team can maintain. The engineer who designs the standby is the one who has to make failover work when it matters, which is exactly the right incentive.

  • We migrate off Oracle as a real service

    Escaping Oracle’s cost and lock-in is one of the most valuable — and most dangerous — pieces of work in enterprise data, and we do it deliberately: mapping the PL/SQL, moving in staged, reversible slices onto PostgreSQL, and proving each step against real data rather than gambling on a big-bang cutover.

Typical timeline

  1. 01

    Assessment and honest recommendation

    One to three weeks understanding the workload or the existing estate — the features it depends on, the PL/SQL, the licence exposure — and delivering a clear recommendation, which may well be that Oracle is not the right answer.

  2. 02

    Design or migration planning

    Designing the Oracle architecture — RAC, Data Guard, partitioning, PL/SQL structure — where Oracle is warranted, or planning a staged migration off it onto PostgreSQL where it is not, with the risky parts identified up front.

  3. 03

    Build, tune and hardening

    Standing up or reworking the database, tuning against profiled load with AWR and real execution plans, configuring encryption, patching and least-privilege access, and putting encrypted, tested backups and a tested failover in place.

  4. 04

    Handover and operations

    Documenting the topology, the failover and restore procedures, the licence position and the tuning decisions, so your team can run the estate confidently — with us available when a genuinely hard Oracle problem lands.

How pricing works

  • Independent Oracle assessments — a stay-or-leave evaluation, a licence-exposure review, or a health check of an existing estate — priced by scope and delivered as a clear, evidence-based recommendation rather than a sales document.
  • Fixed-scope database work for well-defined needs — a Data Guard setup, a partitioning redesign, a performance rescue, a version upgrade — quoted once we understand the estate and the workload.
  • Oracle-to-PostgreSQL migrations, priced against the real complexity: the volume of PL/SQL, the Oracle-specific features in use, and the cutover risk. These are staged engagements, not fixed one-liners, and we scope them honestly.
  • Monthly senior engagement for ongoing operation or for Oracle work sitting inside a wider build, where you want continuity and engineers who run the database rather than just configure it.

Hire Oracle engineers

Need Oracle capacity on your own team? We embed named senior engineers into your existing team — reporting to your leads, working in your rituals — so you add capacity without a hiring cycle.

Hire Oracle engineers

Common questions

Should we use Oracle or PostgreSQL for a new system?

For a genuine greenfield system with a free choice, we almost always recommend PostgreSQL. It gives you full ACID transactions, strong standards-compliant SQL, rich JSON, partitioning, replication and a deep extension ecosystem — everything most systems actually need — without the licence cost, the audit exposure or the lock-in. Oracle becomes the right answer in a narrower set of cases: you already run a large Oracle estate, or your workload genuinely depends on Oracle-specific features like RAC and Data Guard at extreme scale, and you have the specialist teams to run it. We make the call on your specifics, and for new work the honest answer is usually Postgres.

Why is Oracle licensing considered such a problem?

Because it is complex, expensive, and easy to fall foul of. Licensing depends on processor core counts and core factors, many capabilities are priced as separate options on top of the base licence, and the rules around virtualisation and cloud are notoriously intricate. The result is that organisations regularly find themselves under-licensed without realising it, and an Oracle licence audit can produce a bill that lands like a breach. It is a well-known source of unbudgeted cost and compliance pain. We treat licence exposure as a first-class risk — mapping what you actually use against what you are entitled to — because in an Oracle estate the architecture and the bill are the same conversation.

We have an old Oracle system — should we migrate off it?

Not automatically. It depends on what the system actually depends on and what a migration would genuinely cost. If it is a mission-critical core system with decades of proven PL/SQL and features like RAC that it truly relies on, rewriting it is a multi-year, high-risk undertaking that is often the wrong call even when the licence bill hurts. If it is a system that ended up on Oracle by inertia and uses little that Postgres could not replace, migrating off can save a great deal and remove the lock-in. We do an independent, evidence-based stay-or-leave assessment first, so the decision is made on the real numbers rather than fear or sunk cost.

How do you migrate a system off Oracle onto PostgreSQL?

Carefully and in stages — never as a big-bang cutover on a mission-critical system. We start by mapping exactly what the estate depends on: the schema, the data volumes, and above all the PL/SQL, which is the hardest and most dangerous part because it encodes business logic in Oracle-specific procedural code that has to be translated or replaced correctly. We move in reversible slices, proving each one against real data, and we keep a path back until every stage is verified. The PL/SQL and any Oracle-specific features in use dominate the difficulty, which is exactly why we scope these engagements against real complexity rather than quoting a flat number.

What are RAC and Data Guard, and do we need them?

They are Oracle’s flagship availability features. Real Application Clusters (RAC) runs a single database across several servers sharing storage, so losing a node does not take the database down and load can be spread across the cluster. Data Guard maintains synchronised standby databases ready to take over on failure, giving disaster recovery up to zero data loss. They are genuinely excellent, and genuinely expensive and complex to run and licence. You need them when downtime or data loss is truly not survivable and the workload justifies the cost and the specialist operation. For many systems that believe they need them, a well-designed PostgreSQL setup with replication and failover delivers the availability actually required at a fraction of the cost — and we will tell you which situation you are in.

Building on Oracle?

A technical conversation with the engineers who would do the work. If we are not the right fit, we will say so on the call.

Two fields required. We reply to real enquiries — no list, no sequence.