Free Oracle 1Z0-149 Exam Actual Questions & Explanations

Last updated on: Jul 14, 2026
Author: Eva Garcia (Oracle Database Architect & Certification Specialist)

The Oracle PL/SQL Developer Certified Professional credential validates your ability to design, develop, and maintain PL/SQL applications on Oracle Database 19c. The 1Z0-149 exam (Oracle Database 19c: Program with PL/SQL) tests practical knowledge of procedural logic, SQL integration, and database object creation. This page maps the exam syllabus, explains question formats, and guides your preparation with actionable study steps. Whether you're building stored procedures, managing packages, or optimizing database code, this resource helps you understand what the exam measures and how to prepare efficiently.

1Z0-149 Exam Syllabus & Core Topics

Use this topic map to guide your study for Oracle 1Z0-149 (Oracle Database 19c: Program with PL/SQL) within the Oracle PL/SQL Developer Certified Professional path.

  • Declaring PL/SQL Variables: Define scalar and composite variable types, understand scope and initialization, and apply naming conventions that improve code readability.
  • Writing Executable Statements: Construct assignment statements, use operators correctly, and handle implicit type conversions in procedural blocks.
  • Writing SQL in PL/SQL: Embed DML and query statements within PL/SQL blocks, retrieve single and multiple rows, and manage context switches between SQL and procedural engines.
  • Writing Control Structures: Implement IF-THEN-ELSE logic, loop constructs (LOOP, WHILE, FOR), and conditional branching to control program flow based on data conditions.
  • Working with Composite Data Types: Create and manipulate records, associative arrays, nested tables, and varrays to organize complex data structures efficiently.
  • Using Explicit Cursors: Declare, open, fetch, and close cursors; use cursor attributes (ROWCOUNT, FOUND, NOTFOUND) to process multi-row result sets.
  • Handling Exceptions: Catch predefined and user-defined exceptions, write exception handlers, and propagate errors appropriately through the call stack.
  • Using PL/SQL Subprograms: Understand the structure and benefits of procedures and functions as reusable code units within larger applications.
  • Creating Procedures and Using Parameters: Build standalone and packaged procedures with IN, OUT, and IN OUT parameters; pass arguments by position and by name.
  • Creating Functions: Write functions that return values, use them in SQL expressions, and apply function purity rules for integration with SQL.
  • Creating Packages: Organize related procedures, functions, and variables into packages; understand specification and body separation for modularity.
  • Working with Packages: Call packaged subprograms, manage package state across sessions, and leverage package initialization for setup logic.
  • Using Dynamic SQL: Build and execute SQL statements at runtime using EXECUTE IMMEDIATE and DBMS_SQL; handle bind variables and result sets.
  • Design Considerations for PL/SQL Code: Apply best practices for performance, maintainability, and security; choose appropriate data structures and control flow patterns.
  • Creating Compound, DDL, and Event Database Triggers: Define triggers on DML and DDL events, implement complex business logic, and manage trigger firing order and dependencies.
  • Using the PL/SQL Compiler: Understand compilation phases, interpret compiler warnings and errors, and use conditional compilation directives.
  • Managing PL/SQL Code: Store, organize, and version control PL/SQL objects; use SQL Developer and command-line tools for development and deployment.
  • Managing Dependencies: Track object dependencies, handle invalidation and recompilation, and resolve circular references in package and procedure relationships.

Question Formats & What They Test

The 1Z0-149 exam combines multiple-choice items and scenario-based questions to assess both conceptual understanding and applied reasoning. Questions progress in difficulty and require you to connect syntax knowledge with real-world development decisions.

  • Multiple choice: Test core definitions, syntax rules, cursor behavior, exception handling, and feature characteristics. Examples include identifying correct parameter modes, recognizing valid variable declarations, or selecting appropriate exception handlers.
  • Scenario-based items: Present realistic development situations where you analyze code snippets, diagnose logic errors, or choose the best approach for a given requirement. You might evaluate trigger design, optimize cursor usage, or select the right composite data type.
  • Code analysis: Examine PL/SQL blocks and identify outcomes, errors, or performance implications. This format tests your ability to trace execution flow and predict results.

Questions emphasize practical application; you must not only know PL/SQL syntax but also understand when and why to use specific constructs in production code.

Preparation Guidance

A structured study plan maps each exam topic to weekly goals and reinforces connections between concepts. Dedicate time to hands-on practice with Oracle Database 19c, review weak areas systematically, and simulate exam conditions before test day.

  • Organize by topic clusters: Group Declaring PL/SQL Variables, Writing Executable Statements, and Writing SQL in PL/SQL into Week 1; cover Writing Control Structures and Working with Composite Data Types in Week 2; progress through cursor, exception, and subprogram topics in Weeks 3-4; finish with dynamic SQL, triggers, compilation, and dependency management in Weeks 5-6.
  • Practice with code labs: Write and execute PL/SQL blocks for each topic; create sample procedures, functions, and packages; test exception handling and trigger behavior in a development environment.
  • Review explanations thoroughly: When you answer practice questions, understand not just the correct answer but why other options are wrong. This deepens retention and builds confidence.
  • Link concepts across workflows: Trace how variables flow into procedures, how procedures call functions, how triggers fire on DML, and how packages organize related logic. Real projects combine multiple topics.
  • Run a timed mini-mock: In your final week, take a practice test under exam conditions (time limit, no breaks between sections). Review results to identify remaining gaps and adjust your focus.

Explore other Oracle certifications: view all Oracle exams.

Get the PDF & Practice Test

Strengthen your preparation with up-to-date resources from validexamdumps.com. These materials align to 1Z0-149 and cover practical scenarios with clear explanations.

  • Q&A PDF with explanations: Topic-mapped questions that clarify why correct options are right and others aren't.
  • Practice Test: Realistic items, timed and untimed modes, progress tracking, and detailed review of each answer.
  • Focused coverage: Aligned to Declaring PL/SQL Variables, Writing Executable Statements, Writing SQL in PL/SQL, Writing Control Structures, Working with Composite Data Types, Using Explicit Cursors, Handling Exceptions, Using PL/SQL Subprograms, Creating Procedures and Using Parameters, Creating Functions, Creating Packages, Working with Packages, Using Dynamic SQL, Design Considerations for PL/SQL Code, Creating Compound DDL and Event Database Triggers, Using the PL/SQL Compiler, Managing PL/SQL Code, and Managing Dependencies so you study what matters most.
  • Regular reviews: Content refreshes that reflect syllabus and product changes.

Visit the exam page to download the PDF, Online Practice Test, or get a Bundle Discount offer for both formats: Oracle Database 19c: Program with PL/SQL.

Frequently Asked Questions

What topics carry the most weight on the 1Z0-149 exam?

Procedures, functions, packages, and exception handling typically account for a significant portion of the exam because they form the foundation of enterprise PL/SQL development. Cursor management and trigger design also appear frequently. Focus your deepest study on these areas while ensuring you have baseline knowledge across all topics.

How do procedures, functions, and packages connect in real projects?

In production systems, you often build a package that contains multiple related procedures and functions, each handling a specific business task. Procedures perform actions (insert, update, delete), functions return computed values, and the package organizes them into a cohesive unit with shared variables and initialization logic. Understanding this hierarchy helps you design maintainable code and answer scenario questions correctly.

How much hands-on experience with Oracle Database 19c helps, and which labs should I prioritize?

Hands-on practice is essential because it builds muscle memory for syntax and helps you understand execution behavior that you cannot learn from reading alone. Prioritize labs that involve writing procedures with parameters, creating functions that integrate with SQL, building packages with multiple objects, and writing triggers that respond to DML events. These core labs directly map to high-weight exam topics.

What are common mistakes that lead to lost points on this exam?

Candidates often confuse parameter modes (IN, OUT, IN OUT), misunderstand cursor attributes and when ROWCOUNT versus FOUND applies, or overlook exception propagation rules. Another frequent error is misidentifying which composite data type (record, associative array, nested table, varray) is appropriate for a given scenario. Review the Oracle documentation on these topics and test your understanding with practice questions that focus on these distinctions.

What is an effective pacing and review strategy for the final week before the exam?

In your final week, avoid learning new topics; instead, review your weak areas identified in practice tests and run a full-length timed mock to build stamina and pacing confidence. Spend 20-30 minutes daily reviewing code examples and tracing execution logic mentally. On the day before the exam, do a light review of key definitions and syntax rules, then rest well to arrive focused and alert.

Question No. 1

Examine this table in the SH schema:

User SH executes this code:

The program must terminate with a user-defined message and no rows displayed if more than one product's price is 1000.

With which option must ''---placeholder'' be replaced?

A.

B.

C.

D.

E.

Show Answer Hide Answer
Correct Answer: A

Question No. 2

Which two are true about collections and RECORD types? (Choose two.)

Show Answer Hide Answer
Correct Answer: B, F

Question No. 3

Examine these facts:

Table EMP exists in schema USERA with columns SALARY and EMP_ID.

EMP_ID is the primary key with values ranging from 1 to 100.

USERA now executes these statements successfully:

USERA then grants execute privilege on procedure MYPROC to USERB.

USERB exists in the database identified by pdb1 but does not have select privilege on USERA.EMP.

USERB now executes these statements:

conn userB/userB@pdb1

execute userA.myproc;

Which is true?

Show Answer Hide Answer
Correct Answer: D

Question No. 4

User ORA41 executes these statements successfully:

Now, examine this statement which is executed successfully by user ORA61 after a successful login:

EXECUTE ora41.update_emp_proc(100,25000);

Which two are true? (Choose two.)

Show Answer Hide Answer
Correct Answer: C, D

Question No. 5

Examine these statements:

Which two are true? (Choose two.)

Show Answer Hide Answer
Correct Answer: C, E