Oracle reliability & performance engineering
Vendor-neutral, field-tested guidance for teams running mission-critical Oracle databases — on-prem and on OCI or Azure. Turning 3am incidents into boring, automated, observable systems.
Explore by topic
- HA & DR
RAC, Data Guard, RMAN, failover & recovery
- Performance
AWR/ASH, wait events, SQL & optimizer tuning
- Cloud & Migration
OCI, Azure, Exadata, 23ai/26ai, on-prem → cloud
- Security & Ops
Hardening, patching, auditing, automation
Latest posts
All posts →-
Oracle Indexes: When They Help, When They Hurt, and How to Tell
Oracle indexes without the cargo cult: why an index is fast or slow only relative to a query's selectivity, why the optimizer correctly ignores a low-cardinality index, how a forced index can read more than the full scan it replaced, B-tree vs bitmap and covering scans, and a lab that proves all of it with real buffer gets.
-
Oracle Privilege Analysis: You Granted DBA. Here's What They Actually Used.
Oracle Privilege Analysis with DBMS_PRIVILEGE_CAPTURE: how to record the privileges a user really exercises, compare used against granted, and generate the least-privilege revoke list from evidence — including why SELECT ANY TABLE almost always shows up unused, and a lab that proves it.
-
Oracle Virtual Private Database: Row-Level Security You Can't Route Around
Oracle VPD (DBMS_RLS) without the confusion: how a policy function appends a per-session WHERE clause to the base table, how EXEMPT ACCESS POLICY works, SELECT vs INSERT/UPDATE/DELETE and update_check, and a lab proving three users each see only the rows they should — on counts, sums, and by-id lookups.
-
Oracle Data Pump, Done Right: A Migration You Can Prove
Oracle Data Pump beyond expdp full=y: server-side architecture, the flags that actually matter (REMAP, INCLUDE, PARALLEL, consistency, encryption), the command-line quoting trap, and a lab that proves an export/import round trip loses nothing.
-
Oracle Partition Pruning: Read One Partition, Not the Whole Table
Partition pruning is the whole point of partitioning for performance: how the optimizer skips partitions it does not need, the function-on-the-key mistake that silently defeats it, static vs dynamic pruning in the plan, and a lab that reads one partition instead of twenty-four.