AZ-305 Design data storage solutions Practice Question
An organization is migrating on-premises Oracle databases to Azure. They require minimal code changes and support for Oracle PL/SQL stored procedures. Which Azure data service best meets these requirements?
⚠ Common exam trap
Test-takers frequently assume Azure SQL Database is the natural choice for Oracle migrations due to its relational nature, but it lacks native PL/SQL support, whereas PostgreSQL with Oracle compatibility is the correct service for minimizing code changes.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Azure Database for PostgreSQL with Oracle compatibility
Azure Database for PostgreSQL with the Oracle compatibility extension (e.g., orafce) provides support for Oracle PL/SQL stored procedures and syntax, minimizing code changes during migration. This service is designed to handle Oracle workloads with minimal re-engineering, unlike other Azure database options that lack native Oracle compatibility.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Azure Database for MySQL
Why it's wrong here
Azure Database for MySQL is a relational database service, but it is based on MySQL's own SQL dialect and stored procedure language, which is not Oracle's PL/SQL. Oracle-specific constructs such as packages, exception handling with EXCEPTION, and nested table types are unsupported and would require substantial manual rewriting. MySQL also lacks several Oracle enterprise features like advanced analytic functions and partitioned table syntax commonly encountered in Oracle migrations, making it a poor fit without a major rewrite effort.
- ✓
Azure Database for PostgreSQL with Oracle compatibility
Why this is correct
Azure Database for PostgreSQL can be configured with an Oracle compatibility mode via the orafce extension, which emulates Oracle built-in functions, data types, and PL/SQL constructs. This compatibility layer allows many existing PL/SQL stored procedures, triggers, and functions to run with minimal or no modifications, significantly reducing migration effort. It is not a perfect one-to-one replacement, but it is the most viable managed service for preserving Oracle code logic in Azure, making it the correct choice for this migration.
- ✗
Azure SQL Database
Why it's wrong here
Azure SQL Database is Microsoft's PaaS relational offering, but it uses T-SQL, not PL/SQL, as its procedural language. T-SQL differs fundamentally in block structure, variable scoping, exception handling (TRY/CATCH vs. EXCEPTION), and it lacks Oracle packages entirely. Migrating stored procedures and packages from Oracle to Azure SQL Database requires a full rewrite in T-SQL; tools like SQL Server Migration Assistant can help, but complex PL/SQL code often needs manual correction, so this is not a direct migration path.
- ✗
Azure Cosmos DB
Why it's wrong here
Azure Cosmos DB is a globally distributed, multi-model NoSQL database that supports schema-flexible document, graph, and key-value data models, but it has no relational engine and does not support PL/SQL. Stored procedures in Cosmos DB are written in JavaScript and execute only within a single partition, unlike Oracle's server-side PL/SQL which can operate across the entire database. An Oracle-to-Cosmos migration would demand a complete re-architecture from relational tables and SQL to JSON documents and API-specific queries, making it wholly inappropriate for preserving existing Oracle code or even a near-equivalent relational migration.
Visual reference
Go deeper
Related to this question
About these practice questions
One of 212 original AZ-305 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This AZ-305 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the AZ-305 exam.