Courseiva
Design data storage solutionshardMultiple ChoiceObjective-mapped

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

Client Server SYN (seq=100) SYN-ACK (seq=200, ack=101) ACK (ack=201) Connection established — data transfer begins

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 →

How Courseiva writes practice questions · Editorial policy

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.