Skip to Content

Training Resources

Current Training Schedule

Class Registration Form

Get Adobe Reader

expand or collapse the menu Accessibility

expand or collapse the menu Web Development

expand or collapse the menu Adobe / Macromedia Web

expand or collapse the menu Programming

expand or collapse the menu Databases

expand or collapse the menu Professional Courses

expand or collapse the menu Adobe

expand or collapse the menu Microsoft SharePoint

expand or collapse the menu Technical

expand or collapse the menu Geographic (GIS)

expand or collapse the menu Microsoft Office

Training Resources

Current Training Schedule

Class Registration Form

Get Adobe Reader

Programming & Tuning with Oracle PL/SQL – Advanced

4 day course

View Detailed Outline in PDF format

Get Adobe Reader

The objective of this course is to allow experienced PL/SQL developers to write efficient programs. Advanced techniques which not only improve execution speed but also enhance the functionality of the programs are also discussed. Topics covered include exploiting and managing cursor sharing, utilizing cursor variables, invoking external procedures, including dynamic SQL and other advanced programming techniques, efficiently executing dynamic SQL using bulk bind techniques, tuning with the DBMS_PROFILER() system-supplied package, debugging with the DBMS_TRACE() system-supplied package, and performance tuning and analysis of PL/SQL applications.

Course Topics:

(for a full detailed outline, visit our PDF link above)

PL/SQL Development Support from EM

  • About EM & PL/SQL
  • Managing invalid objects

Exploiting & Managing Cursor Sharing

  • About cursor sharing
  • Bind variables & cursor peeking
  • Using the CURSOR_SHARING parameter

Dynamic SQL

Using Collections

  • About collections
  • Bulk bind using collections
  • Collection methods

Retrieving DDL with DBMS_METADATA()

  • Why retrieve object definitions?
  • Retrieving default metadata
  • Retrieving customized metadata

Advanced DBMS_METADATA() Processing

  • set_transform_param()
  • get_query()

Processing Dependent Objects with DBMS_METADATA()

Redefining Tables with DBMS_REDEFINITION()

  • About table redefinition
  • Using the DBMS_REDEFINITION() package
  • Using other system-supplied packages
  • DBMS_DESCRIBE()
  • UTL_MAIL()
  • DBMS_SCHEDULER()

Using Large Objects (LOBs)

Advanced Interface Methods

  • About external procedures
  • Registering with the database
  • Oracle Net configuration
  • Calling external procedures

About PL/SQL Performance Tuning

  • The difficulty of tuning
  • The SQL & PL/SQL execution environment
  • The impact of the systems infrastructure

Using the Tuning Utilities

Influencing Oracle PL/SQL Compilation

  • PLSQL_WARNINGS
  • PLSQL_OPTIMIZE_LEVEL
  • PL/SQL native execution

PL/SQL Tuning with DBMS_PROFILER()

  • About DBMS_PROFILER()
  • Installing DBMS_PROFILER()
  • Using DBMS_PROFILER() to manage runs
  • Examining the profiler tables

Evaluating the PL/SQL Profiler Data

  • About the profiler data
  • User queries of the cross run tables
  • System-supplied cross run tables queries

PL/SQL Advanced Programming & Tuning

  • Autonomous transactions
  • Using NOCOPY for parameters
  • Choosing the optimum datatype
  • Useful PL/SQL coding techniques

PL/SQL Debugging with DBMS_TRACE()

  • About the trace facility
  • Installing DBMS_TRACE()
  • Using DBMS_TRACE()to manage runs
  • Examining the PLSQL_TRACE_... Tables