Skip to main content

Oracle → Azure: The DBA's Rosetta Stone

You have 14+ years of Oracle (RAC, Data Guard, ERP, SOA, BI, OAM, APEX). This page maps every Oracle concept to its Azure equivalent so you can recall Azure architecture by connecting it to what you already know.

The Big Picture

Oracle to Azure DBA Mapping

Detailed Mapping

OracleAzureWhat Changes
Oracle RACBusiness Critical tierShared-everything → shared-nothing 4-node AG with local NVMe SSD. No interconnect tuning.
Data GuardFailover GroupsNo archive log management. Async geo-rep + auto failover + single DNS endpoint.
Active Data GuardActive Geo-ReplicationUp to 4 readable secondaries. Manual failover. Each has its own connection string.
Flashback DatabasePoint-in-Time RestorePITR creates a NEW database (7-35 days). For longer → LTR (10 years).
ASMManaged Disks + TiersNo ASMCMD. Azure handles striping/redundancy. You pick disk SKU.
CDB / PDBSQL Managed InstanceMI = CDB. Cross-DB queries with USE [db]. SQL Agent + CLR + Linked Servers.
RMANAutomated BackupsZero scripts! Full weekly, diff 12-24h, log 5-10 min — all automatic.
AWR / ASHQuery Store + DMVsPer-query plans continuously. More granular than AWR. Default on in Azure SQL DB.
ADDMIntelligent Insights + Auto TuningML-based continuous analysis. Can auto-force plans and create/drop indexes.
Oracle TDEAzure TDEBoth AES-256. Azure TDE is ON BY DEFAULT. BYOK via Key Vault.
VPDRow-Level SecuritySame concept: filter rows per user/tenant. Different syntax.
Data RedactionDynamic Data MaskingBoth mask at query time. Neither encrypts.
Unified AuditAzure SQL Auditing3 destinations: Log Analytics, Storage, Event Hub.
Oracle WalletAzure Key VaultCentralized across ALL Azure services.
DBMS_SCHEDULERSQL Agent / Elastic JobsSQL Agent for MI/VM. Elastic Jobs for Azure SQL DB.
APEXPower Apps / SWAPower Apps = low-code. Static Web Apps = custom apps.
SOA SuiteLogic Apps + Service BusVisual workflow designer + reliable messaging.
OBIEEPower BINative Azure SQL integration. Natural language Q&A.
OAMMicrosoft Entra IDSSO + MFA + Conditional Access + PIM.
WebLogicApp Service / AKSManaged Java/Node/.NET hosting or containers.

Architecture & Infrastructure

Oracle ConceptAzure EquivalentKey Difference to Remember
Oracle Instance (SGA + background processes)Azure SQL Database (logical server)Azure abstracts the instance — you manage the database, not the engine. No ALTER SYSTEM needed.
CDB / PDB (Multitenant)SQL Managed InstanceMI = one "instance" with multiple databases, like CDB/PDB. Cross-DB queries just work (USE db).
Oracle RAC (shared-everything cluster)Elastic Pools / Business Critical tierRAC shares storage + runs on multiple nodes. Azure Elastic Pools share resources across DBs. Business Critical has 4 replica nodes but doesn't share storage — each has local SSD.
ASM (Automatic Storage Management)Azure Managed Disks + Storage tiersASM stripes across disks automatically. Azure handles striping at the storage layer. You pick disk SKU (Premium SSD, Ultra) — Azure does the rest.
Oracle Data Directory (data files, redo, archive)Remote storage (GP) / Local SSD (BC)General Purpose uses remote Premium Storage (like NFS-backed data files). Business Critical uses local NVMe SSD (like ASM on local flash).
🏢 Real-World DBA Note

The biggest mental shift: In Oracle, you tune the instance (SGA, PGA, background processes). In Azure SQL, you tune the workload (queries, indexes, tier selection). The "instance" tuning is done by Microsoft.

High Availability & Disaster Recovery

Oracle ConceptAzure EquivalentArchitecture Insight
Data Guard (Physical Standby)Failover GroupsData Guard = redo shipping to standby. Failover Groups = async geo-replication + automatic failover + single endpoint. No need to manage archive log shipping.
Data Guard (Logical Standby)Active Geo-ReplicationUp to 4 readable secondaries. Manual failover only. Like logical standby — secondaries are read-only but active.
RAC (local HA)Business Critical tierRAC provides local HA via shared-everything. Business Critical provides local HA via 4-node Always On AG with synchronous commit. Different architecture, same goal.
Fast-Start Failover (FSFO)Automatic failover in Failover GroupsFSFO uses an Observer process. Azure uses built-in health detection with a configurable grace period (default 60 min).
Flashback DatabasePoint-in-Time Restore (PITR)Flashback works in-place. PITR creates a new database — never overwrites the original. Retention: 7-35 days.
Maximum Availability (MAA)Business Critical + Failover GroupsOracle MAA = RAC + Data Guard + FSFO. Azure equivalent = BC tier (local HA) + Failover Group (cross-region DR).
Oracle HA/DR → Azure HA/DR
🔄
Data Guard → Failover Groups
Redo shipping + manual failover → Async geo-replication + automatic failover + single endpoint
RAC → Business Critical
Shared-everything multi-node → 4-node Always On AG with local SSD (shared-nothing)
🎯
Fast-Start Failover → Auto Failover
Observer process → Built-in health detection with configurable grace period
Flashback → PITR
In-place flashback → Point-in-Time Restore creates a NEW database (7-35 day retention)
🏆
MAA → BC + Failover Groups
RAC + Data Guard + FSFO → Business Critical (local HA) + Failover Group (cross-region DR)
📋
Active Data Guard → Geo-Rep
Readable physical standby → Up to 4 readable secondaries with manual failover
🎯 Exam Focus

DP-300 key difference: Oracle Data Guard requires manual configuration of redo transport, apply processes, role transitions. Azure Failover Groups handle all of this automatically — you just define the group and the grace period.

Backup & Recovery

Oracle ConceptAzure EquivalentWhat Changes
RMAN (backup/restore)Automated BackupsNo more RMAN scripts! Azure takes full (weekly), differential (12-24h), log (5-10 min) backups automatically.
RMAN catalogLong-Term Retention (LTR)LTR stores backups up to 10 years in Azure Blob. Like RMAN catalog but fully managed.
Recovery WindowBackup retention (7-35 days)Set retention period = your recovery window. Beyond that, use LTR policies.
Data Pump (export/import)BACPAC / DMSData Pump = logical export. BACPAC = Azure's portable database format. DMS = Azure Database Migration Service for live migrations.
Flashback (table, database)PITR + Deleted database restoreFlashback a table → no direct equivalent (use PITR). Flashback database → PITR to any second within retention.
Cross-platform transportable tablespacesAzure DMS / SSMA (SQL Server Migration Assistant)For Oracle → Azure SQL migrations specifically. SSMA converts Oracle schemas + PL/SQL to T-SQL.
🏢 Real-World DBA Note

Migration tip from your experience: When migrating Oracle → Azure SQL, run SSMA assessment first. It flags PL/SQL constructs that won't convert (like autonomous transactions, varrays, Oracle-specific data types). Plan for these before you start.

Security

Oracle ConceptAzure EquivalentArchitecture Note
Oracle TDE (tablespace encryption)Azure TDE (database-level encryption)Both use AES-256. Azure TDE is enabled by default. Oracle TDE requires wallet setup. Azure supports BYOK via Key Vault.
VPD (Virtual Private Database)Row-Level Security (RLS)VPD uses policy functions on tables. RLS uses security predicate functions + security policies. Same concept, different syntax.
Oracle Data RedactionDynamic Data MaskingBoth mask data at query time without changing stored data. Neither encrypts data at rest.
Oracle Audit (Unified Audit)Azure SQL Auditing → Log Analytics / Event HubOracle writes to unified audit trail. Azure writes to Storage, Log Analytics, or Event Hub.
Oracle Vault (privilege control)Azure RBAC + Entra IDOracle Vault restricts DBA access to specific schemas. Azure RBAC + Entra ID provides role-based access with MFA, conditional access, PIM.
Oracle Wallet (credential store)Azure Key VaultWallet stores TDE keys, credentials. Key Vault stores keys, secrets, certificates. Key Vault is centralized across all services.
Oracle DBMS_CRYPTOAlways EncryptedDBMS_CRYPTO = app-level encryption. Always Encrypted = column-level encryption where the DB engine never sees plaintext. More secure than app-level crypto.
⚠️ Watch Out

Critical difference: Oracle TDE encrypts tablespaces. Azure TDE encrypts the entire database (data files, log files, backups). You can NOT selectively encrypt certain filegroups in Azure SQL Database — it's all or nothing (and it's always on by default).

Performance Monitoring & Tuning

Oracle ConceptAzure EquivalentKey Insight
AWR (Automatic Workload Repository)Query StoreAWR captures snapshots every hour. Query Store captures per-query execution plans + runtime stats continuously. Query Store is more granular than AWR for query-level analysis.
ASH (Active Session History)sys.dm_exec_requests + sys.dm_exec_sessionsASH samples active sessions every second. DMVs give you real-time session/request info. For historical data, use Query Store.
ADDM (Automatic Diagnostic Monitor)Intelligent Insights + Automatic TuningADDM analyzes AWR and recommends. Azure Intelligent Insights uses ML to detect anomalies. Automatic Tuning can auto-implement fixes (force plans, create/drop indexes).
SQL Tuning AdvisorAutomatic Tuning + Query StoreOracle Advisor suggests SQL profiles. Azure can automatically force good execution plans via FORCE_LAST_GOOD_PLAN.
Wait Events (v$session_wait)Wait Statistics (sys.dm_os_wait_stats)Same concept, different catalog. Oracle waits → SQL Server waits. Key waits: PAGEIOLATCH_* (I/O), LCK_* (locks), CXPACKET (parallelism).
Explain Plan / AutotraceExecution Plans (SET STATISTICS IO ON, actual/estimated plans)Same concept. In SSMS: Ctrl+M for actual plan, Ctrl+L for estimated plan. Look for scans vs seeks, key lookups, sort warnings.
Oracle Statspack (legacy)Query Store + Extended EventsExtended Events = Oracle trace files. Lightweight, targeted event tracing.
Enterprise Manager (Cloud Control)Azure Monitor + Azure Portal MetricsEM dashboard → Azure Portal metrics blade. EM alerts → Azure Monitor Alerts. EM performance hub → Query Performance Insight.
Oracle Monitoring → Azure Monitoring
📊
AWR → Query Store
Hourly workload snapshots → Continuous per-query plan + runtime stats capture
ASH → DMVs
Active session sampling → Real-time sys.dm_exec_requests + sys.dm_exec_sessions
🤖
ADDM → Intelligent Insights
AWR-based recommendations → ML-driven anomaly detection + proactive alerts
🔧
SQL Tuning Advisor → Auto Tuning
Manual SQL profiles → Auto-force good plans + auto-create/drop indexes
⏱️
Wait Events → Wait Statistics
V$SESSION_WAIT → sys.dm_os_wait_stats (same concept, different catalog)
🖥️
Enterprise Manager → Azure Monitor
OEM dashboards + alerts → Portal metrics + Monitor alerts + KQL queries
🎯 Exam Focus

DP-300 loves Query Store questions. Think of Query Store as "AWR on steroids" — it captures per-query plans (not just top SQL), lets you force specific plans (like SQL Profiles), and is enabled by default in Azure SQL DB.

Automation & Scheduling

Oracle ConceptAzure EquivalentWhen to Use
DBMS_SCHEDULERSQL Agent (MI/VM) / Elastic Jobs (SQL DB)DBMS_SCHEDULER = Oracle's built-in job scheduler. SQL Agent is the direct equivalent for MI/VM. Elastic Jobs replaces SQL Agent for Azure SQL DB.
DBMS_JOB (legacy)Elastic JobsDBMS_JOB is deprecated in Oracle. Elastic Jobs is the modern Azure approach for Azure SQL Database.
Oracle Streams / GoldenGateChange Data Capture (CDC) / DMSOracle replication tools. Azure CDC captures row-level changes. DMS handles live migrations.
Oracle Enterprise Manager JobsAzure Automation RunbooksEM jobs run shell/SQL scripts on a schedule. Azure Automation runs PowerShell/Python runbooks with managed identity.
cron jobs (OS-level)Azure Functions (Timer Trigger)cron on Linux/Task Scheduler on Windows → Timer-triggered Azure Function. Serverless, auto-scaling, pay-per-execution.

Application Architecture

Oracle ConceptAzure EquivalentArchitecture Note
Oracle APEXPower Apps / Static Web AppsAPEX = low-code DB-centric apps. Power Apps = low-code on Microsoft stack. For custom apps → Azure Static Web Apps + Azure SQL backend.
Oracle FormsPower Apps or custom .NET/React appsForms is legacy. No direct equivalent — modernize to Power Apps or custom web apps.
Oracle SOA SuiteAzure Logic Apps + Service Bus + Event GridSOA Suite = BPEL orchestration. Logic Apps = cloud-native workflow orchestration. Service Bus = reliable messaging. Event Grid = event routing.
Oracle BI (OBIEE)Power BIOBIEE → Power BI. Both provide dashboards, reports, and semantic models. Power BI integrates natively with Azure SQL.
Oracle OAM (Access Manager)Microsoft Entra ID (Azure AD)OAM = web SSO + access policies. Entra ID = identity platform with SSO, MFA, Conditional Access, PIM.
Oracle WebLogicAzure App Service / AKSWebLogic = Java app server. App Service hosts Java/Node/.NET apps. AKS for containerized workloads. WebLogic on Azure VMs is also supported.
Oracle GoldenGateAzure Data Factory / Synapse LinkGoldenGate = real-time replication. ADF = ETL/ELT orchestration. Synapse Link = real-time analytics bridge.
🏢 Real-World DBA Note

Your Oracle SOA + OAM + BI background maps perfectly to the Azure integration story: Logic Apps (orchestration), Entra ID (identity), Power BI (analytics). When talking to customers with Oracle stacks, you can speak both languages — this is your superpower as a DCSA.

Pricing & Licensing

Oracle ConceptAzure EquivalentCost Insight
Oracle Processor licensingvCore modelOracle charges per processor core. Azure vCore charges per virtual core. Mapping: 1 Oracle processor ≈ 1-2 vCores depending on tier.
Oracle Named User PlusPay-as-you-go or reserved capacityNUP per-user licensing → Azure PAYG (no per-user DB fee). Reserved capacity saves up to 55%.
Oracle RAC licenseIncluded in BC tierRAC is an expensive add-on license. Azure Business Critical tier includes HA replicas at no extra license cost.
Data Guard licenseIncludedData Guard requires Active Data Guard for readable standby (extra $). Azure Failover Groups include readable secondary.
Oracle Tuning/Diagnostic PackIncludedThese Oracle packs cost extra. Query Store, DMVs, Intelligent Insights — all included in Azure SQL at no extra charge.
Oracle Support (22% of license/year)Included in compute costOracle annual support is 22% of license. Azure includes all patches, updates, support in the compute price.
⚠️ Watch Out

This is your strongest migration argument for customers: Oracle licensing is per-processor + RAC + Data Guard + Tuning Pack + 22% annual support. In Azure, HA, DR, monitoring, and tuning are ALL INCLUDED. Azure Hybrid Benefit + Reserved Capacity can cut costs by up to 80%.

Quick Reference: Oracle → Azure Commands

TaskOracleAzure SQL
Check database statusSELECT STATUS FROM V$INSTANCE;SELECT DATABASEPROPERTYEX(DB_NAME(), 'Status');
Active sessionsSELECT * FROM V$SESSION WHERE STATUS='ACTIVE';SELECT * FROM sys.dm_exec_sessions WHERE is_user_process = 1;
Running queriesSELECT * FROM V$SQL WHERE EXECUTIONS > 0;SELECT * FROM sys.dm_exec_requests CROSS APPLY sys.dm_exec_sql_text(sql_handle);
Table sizesSELECT segment_name, bytes/1024/1024 MB FROM DBA_SEGMENTS;EXEC sp_spaceused 'TableName';
Wait eventsSELECT * FROM V$SESSION_WAIT;SELECT * FROM sys.dm_os_wait_stats ORDER BY wait_time_ms DESC;
Explain planEXPLAIN PLAN FOR ... then SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);SET STATISTICS IO ON; + Actual Execution Plan in SSMS
Index fragmentationANALYZE INDEX ... VALIDATE STRUCTURE;SELECT * FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'LIMITED');
BackupRMAN> BACKUP DATABASE PLUS ARCHIVELOG;Automated. Manual: BACKUP DATABASE TO URL = 'https://storage.blob.core.windows.net/...'
Kill sessionALTER SYSTEM KILL SESSION 'sid,serial#';KILL <session_id>;

Flashcards

Oracle AWR → Azure equivalent?
Click to reveal answer
Query Store. Captures per-query execution plans and runtime stats. Enabled by default in Azure SQL DB.
1 / 12

Quiz

Q1/5
0 correct
A customer running Oracle RAC for local HA wants to migrate to Azure. Which Azure SQL tier provides equivalent local HA with multiple replicas?