1. Introduction
- Course Objectives
 - Course Agenda
 - Describe the development environments
 - Identify the tables, data, and tools used in this course
 
2. PL/SQL Programming Concepts: Review
- Identify PL/SQL block structure
 - Packages, procedures and functions
 - Cursors
 - Handle exceptions
 - Dependencies
 
3. Designing PL/SQL Code
- Describe the predefined data types
 - Create subtypes based on existing types for an application
 - List the different guidelines for cursor design
 - Describe cursor variables
 - White List
 
4. Overview of Collections
- Overview of collections
 - Use Associative arrays
 - Navigate using associative methods
 - Use Nested tables
 - Use Varrays
 - Compare nested tables and varrays
 
5. Using Collections
- Write PL/SQL programs that use collections
 - Use Collections effectively
 - Enhancements to PL/SQL Type Binds
 
6. Manipulating Large Objects
- Working with LOBs
 - Overview of SecureFile LOBs
 
7. Using Advanced Interface Methods
- Calling External Procedures from PL/SQL
 - Benefits of External Procedures
 - Understand how an external routine is called from PL/SQL
 - C advanced interface methods
 - Java advanced interface methods
 
8. Performance and Tuning
- Understand and influence the compiler
 - Tune PL/SQL code
 - Enable intra unit inlining
 - Identify and tune memory issues
 - Recognize network issues
 
9. Improving Performance with Caching
- Describe result caching
 - Use SQL query result cache
 - Use PL/SQL function cache
 - Review PL/SQL function cache considerations
 
10. Analyzing PL/SQL Code
- Finding Coding Information
 - PL/Scope Concepts
 - DBMS_METADATA Package
 - PL/SQL Enhancements
 
11. Profiling and Tracing PL/SQL Code
- Tracing PL/SQL Execution
 - Tracing PL/SQL: Steps
 
12. Implementing VPD with Fine-Grained Access Control
- Understand how fine-grained access control works overall
 - Describe the features of fine-grained access control
 - Describe an application context
 - Create an application context
 - Set an application context
 - List the DBMS_RLS procedures
 - Implement a policy
 - Query the dictionary views holding information on fine-grained access
 
13. Safeguarding Your Code Against SQL Injection Attacks
- SQL Injection Overview
 - Reducing the Attack Surface
 - Filtering Input with DBMS_ASSERT
 
14. Oracle Cloud Overview
- Introduction to Oracle Cloud & Oracle Cloud Services
 - Cloud Deployment Models
 - Evolving from On-premises to Exadata Express
 - What is in Exadata Express?
 - Exadata Express for Users & Developers
 - Oracle Exadata Express Cloud Service
 - Getting Started with Exadata Express
 - Service Console & Web Access through Service Console