Exam Domains
1.0 Declaring PL/SQL Variables
Weight not published
- 1.1Recognize valid and invalid identifiers
- 1.2List the uses of variables, declare and initialize variables, use bind variables
- 1.3List and describe various data types using the %TYPE and %ROWTYPE attributes
2.0 Writing Executable Statements
Weight not published
- 2.1Identify lexical units in a PL/SQL block
- 2.2Use built-in SQL functions in PL/SQL and sequences in PL/SQL expressions
- 2.3Describe when implicit conversions take place and when explicit conversions have to be dealt with
- 2.4Write nested blocks and qualify variables with labels
- 2.5Write readable code with appropriate indentation
3.0 Writing SQL in PL/SQL
Weight not published
- 3.1Create PL/SQL executable blocks using DML and transaction control statements
- 3.2Make use of the INTO clause to hold the values returned by a SQL statement
4.0 Writing Control Structures
Weight not published
- 4.1Identify the uses and types of control structures (IF, CASE statements and expressions)
- 4.2Construct and identify loop statements
- 4.3Use EXIT and CONTINUE statements inside loops
5.0 Working with Composite Data Types
Weight not published
- 5.1Create user-defined PL/SQL records
- 5.2Create a record with the %ROWTYPE attribute
- 5.3Create an INDEX BY table and INDEX BY table of records
- 5.4Describe the differences among records, collections, and collections of records
- 5.5Initialize collections and records
6.0 Using Explicit Cursors
Weight not published
- 6.1Distinguish between implicit and explicit cursors and use SQL cursor attributes
- 6.2Declare and control explicit cursors, use simple loops and cursor FOR loops to fetch data
- 6.3Declare and use cursors with parameters
- 6.4Lock rows with the FOR UPDATE clause and reference the current row with the WHERE CURRENT OF clause
7.0 Handling Exceptions
Weight not published
- 7.1Define PL/SQL exceptions
- 7.2Recognize unhandled exceptions
- 7.3Handle different types of exceptions (internally defined exceptions, predefined exceptions and user-defined exceptions)
- 7.4Propagate exceptions
8.0 Using PL/SQL Subprograms
Weight not published
- 8.1Differentiate between anonymous blocks and subprograms
- 8.2Create a simple procedure and invoke it from an anonymous block
- 8.3Identify benefits of subprograms
9.0 Creating Procedures and Using Parameters
Weight not published
- 9.1Create a procedure with parameters
- 9.2Use named notation
- 9.3Work with procedures (create, invoke and remove procedures)
- 9.4Handle exceptions in procedures and display a procedure's information
10.0 Creating Functions
Weight not published
- 10.1Differentiate between a procedure and a function
- 10.2Describe the uses of functions
- 10.3Work with functions (create, invoke and remove functions)
11.0 Creating Packages
Weight not published
- 11.1Identify the benefits and the components of packages
- 11.2Work with packages (create package specification and body, invoke package subprograms, remove a package and display package information)
- 11.3Overload package subprograms and use forward declarations
12.0 Working with Packages
Weight not published
- 12.1Use package types and variables
- 12.2Use packaged constants and functions in SQL
- 12.3Use ACCESSIBLE BY to restrict access to package subprograms
13.0 Using Dynamic SQL
Weight not published
- 13.1Describe the execution flow of SQL statements
- 13.2Use Native Dynamic SQL (NDS)
- 13.3Bind PL/SQL types in SQL statements
14.0 Design Considerations for PL/SQL Code
Weight not published
- 14.1Create standard constants and exceptions
- 14.2Write and call local subprograms
- 14.3Control the run-time privileges of a subprogram
- 14.4Perform autonomous transactions
- 14.5Use NOCOPY hint, PARALLEL ENABLE hint and DETERMINISTIC clause
- 14.6Use bulk binding and the RETURNING clause with DML
15.0 Creating Compound, DDL, and Event Database Triggers
Weight not published
- 15.1Create triggers on DDL statements
- 15.2Create triggers on system events
- 15.3Describe different types of triggers and their uses
16.0 Using the PL/SQL Compiler
Weight not published
- 16.1Describe the PL/SQL compiler and features
- 16.2Use the PL/SQL compiler initialization parameters
- 16.3Use the PL/SQL compile time warnings
17.0 Managing PL/SQL Code
Weight not published
- 17.1Describe and use conditional compilation
- 17.2Code-based access control: granting roles to program units
- 17.3Whitelist code access with the ACCESSIBLE BY clause
- 17.4Mark code as deprecated
18.0 Managing Dependencies
Weight not published
- 18.1Track and manage procedural dependencies
Exam Details
Question TypesMultiple Choice, Multiple Select
FormatLinear
Online ProctoringAvailable
ID RequirementsOne valid government-issued photo ID with full name. Name must match Pearson VUE registration exactly.
RenewalNot required -- Oracle certifications are version-specific. When Oracle releases a new database/platform version, a new exam version is typically released. Previous certifications remain valid as earned.
Retake Policy14-day waiting period after failed attempt. Maximum 3 attempts per exam in a 12-month period. Full exam fee required for each retake.
LanguagesEnglish, Brazilian Portuguese, Simplified Chinese, Japanese, Korean, Spanish