
Oracle 1Z0-149 Exam Practice Questions
US$39
Every question with the correct answer and why the other options are wrong.
Card, Apple Pay, Google Pay or PayPal. Your PDF is prepared and emailed to you after checkout, usually within a few hours.
This material kept everything straight to the point. It didn’t waste time with extra talk, which helped me cover more in less time.
Three of the 65 questions in this pack
Question 1
Which two are true about collections and RECORD types? (Choose two.)
Show answer and explanation
Correct answer: A, F. A variable of RECORD type can contain fields of another RECORD type or any collection type; VARRAYS, nested tables and each field in %ROWTYPE type variables have a default value of null.
Option A is correct: RECORD type variables can contain fields of other RECORD types (nested records) or any collection type (varrays, nested tables, or associative arrays). Option F is correct: VARRAYs and nested tables have a default value of null for their elements, and fields in %ROWTYPE variables default to null. Option B is wrong because all three collection types can contain RECORD types. Option C is wrong because associative arrays cannot be defined at the schema level. Option D is wrong because associative arrays are sparse collections. Option E is wrong because only nested tables and varrays can be stored in table columns, not associative arrays or RECORD types as top-level column types.
Why the other options are wrong
- B. All three collection types (varrays, nested tables, and associative arrays) can contain elements of RECORD type.
- C. Associative arrays cannot be defined at the schema level; only varrays and nested tables can be.
- D. Associative arrays are sparse collections and do not require contiguous index values.
- E. Associative arrays cannot be stored in table columns; only nested tables and varrays can be.
Question 2
Which two are true about exception handling? (Choose two.)
Show answer and explanation
Correct answer: C, E. User-defined exceptions can be defined in the declarative part of any PL/SQL anonymous block, subprogram, or package; Predefined exceptions are globally declared in the standard package.
Option C is correct: user-defined exceptions can be declared in the declarative section of any PL/SQL construct including anonymous blocks, subprograms, and packages. Option E is correct: predefined exceptions such as NO_DATA_FOUND and ZERO_DIVIDE are globally declared in the STANDARD package and available throughout PL/SQL. Option A is wrong because internally defined (predefined) exceptions can be handled by specific exception handlers before falling back to OTHERS. Option B is wrong because user-defined exceptions must be raised explicitly by the programmer. Option D is wrong because only predefined and user-defined exceptions can have names; internally caught conditions may not have explicit names available to the programmer.
Why the other options are wrong
- A. Predefined exceptions can be caught by their specific exception handlers, not only by OTHERS.
- B. User-defined exceptions must be explicitly raised by the programmer, not implicitly by the runtime system.
- D. Internally defined exceptions can exist without user-declared names in some contexts.
Question 3
Which two PL/SQL elements can be deprecated using the DEPRECATE pragma? (Choose two.)
Show answer and explanation
Correct answer: A, B. PACKAGES; VARIABLES
The DEPRECATE pragma in PL/SQL can be applied to packages and procedures/functions (which are typically organized within packages). This pragma marks code elements as deprecated to warn developers that they should migrate away from using them. Packages are explicitly deprecable, as are the procedures and functions they contain. Variables, anonymous blocks, trigger bodies, and database links cannot be deprecated using this pragma.
Why the other options are wrong
- C. Anonymous blocks cannot be deprecated with the DEPRECATE pragma.
- D. Trigger bodies cannot be deprecated with the DEPRECATE pragma.
- E. Database links cannot be deprecated with the DEPRECATE pragma.
1 review for Oracle 1Z0-149 Exam Practice Questions
Only logged in customers who have purchased this product may leave a review.
How much of the Oracle 1Z0-149 bank is free?
65 questions in the bankEach step includes the one before, so buying only adds new questions.
- You are here10questionsFree sampleThree on this page, all ten as a PDF.Download the sample
- 1625% of the bankPractice pageFree on the site, every answer explained.Go to the practice page
- 33the first half of the packHalf PackFree by email, as one PDF, every answer explained.Get the Half Pack
- 65100%, the whole bankFull pack, US$39Plus the questions-only PDF, monthly updates, refund if you fail.Get the full pack
What’s in the Oracle 1Z0-149 pack
- 65 questions mapped to the 1Z0-149 exam topics
- Answers and explanations for every question, including the wrong options
- A questions-only PDF for timed practice runs
- Delivered by email shortly after checkout
- Free monthly updates for as long as the exam is live
- Pass or your money back
A failed 1Z0-149 attempt means paying the exam fee again. This pack is US$39, paid once.
What makes the 1Z0-149 hard
1Z0-149 is the current PL/SQL developer exam, and it pairs with 1Z0-071 SQL to make the Oracle Certified Professional, Oracle Database PL/SQL Developer credential. It replaced 1Z0-144, and it is a code-reading exam: most questions show a block, a package or a trigger and ask what it does, what it outputs, or why it fails to compile, so the syntax has to be second nature and the rules about scope, exceptions and transactions have to be exact.
The topics run from blocks to the compiler. The fundamentals cover anonymous blocks, declarations and data types, control structures, composite types with records, associative arrays, nested tables and VARRAYs, and bulk processing with BULK COLLECT and FORALL. SQL in PL/SQL covers implicit and explicit cursors, cursor FOR loops, cursor parameters, FOR UPDATE and WHERE CURRENT OF, and dynamic SQL with EXECUTE IMMEDIATE and DBMS_SQL. Exception handling covers predefined, non-predefined and user-defined exceptions, RAISE_APPLICATION_ERROR, propagation and the rules about where an exception is caught. Subprograms cover procedures, functions and their parameter modes, invoker's and definer's rights, using functions in SQL, packages with public and private components, overloading, forward declarations, package state and initialisation, and the Oracle-supplied packages such as DBMS_OUTPUT and UTL_FILE. Triggers cover DML, compound, INSTEAD OF and system triggers and the mutating table problem.
About the exam
1Z0-149 (Oracle Database Program with PL/SQL) is one of the two exams for the Oracle Certified Professional, Oracle Database PL/SQL Developer credential, alongside 1Z0-071 Oracle Database SQL. It covers PL/SQL fundamentals, cursors and dynamic SQL, exception handling, procedures, functions, packages and triggers, dependencies, the PL/SQL compiler and code management. Prerequisite for the credential: 1Z0-071.
Questions before you buy
How quickly do I receive it?
Your PDF is prepared and sent to your email address after checkout, and you get a confirmation as soon as it is on its way.
Are updates included?
Yes. The pack is updated every month for as long as the exam is live, and updates are free for everyone who has bought it.
What if I fail the exam?
We refund the pack, or swap it for any other pack if you would rather keep studying. Sit the exam 7 to 30 days after buying, then send your official score report within 7 days of the exam date, as set out in the refund policy.
What is your pass rate?
99% of customers who prepare with a CertStash pack pass. If you do not, we refund the pack, or swap it for another pack.
Can I share it with colleagues?
Each purchase is licensed to one person. For a team, school or training organisation, email support@certstash.com for a licence that fits.





Aayush Chaturvedi –
This material kept everything straight to the point. It didn’t waste time with extra talk, which helped me cover more in less time.