Developer Series
Home

Maximum Availability Series
Automated Storage Management (ASM)
Data Guard
Dynamic Reconfiguration
Flashback
Grid Control
Online Redefinition
Real Application Clusters (RAC)
Resumable Transactions

DBA Series
11g New features for DBAs
Audit Vault
Disaster Prevention and RMAN
Managing Terabyte Databases
Oracle Security Workshop
Sarbanes-Oxley & HIPAA Compliance

Developer Series
11g New Features for Developers
Advanced Queuing and Streams
Array Processing and Bulk Binding
Exception Handling
Procedures, Functions, & Packages
Security and Fine Grained Access Control
SQL and PL/SQL Tuning
SwingBench Installation & Configuration
Triggers

Applications Series
E-Business Suite

Fusion Middleware Series
Oracle Application Server
Oracle Identity Management

Independent Classes
Interviewing and Hiring Oracle Pros
Oracle for DB2/UDB DBAs & Developers
Oracle for Informix DBAs & Developers
Oracle for SQL Server DBAs & Developers
Oracle for Sybase DBAs & Developers
UNIX, Linux and vi

Evening Workshops
Constraints
Exception Handling
Functions & Pipelined Table Functions
Interviewing
Linux and UNIX Skills
Loops Cursors and Array Processing
Materialized Views
Sarbanes-Oxley - HIPAA Compliance
Triggers
Tuning SQL and PL/SQL
Writing PL/SQL Packages
Writing Stored Procedures

11g New Features for Developers
Why should developers study database functionality they are not using?
  • Improved performance
  • Improved scalability
  • Lower development cost
  • Faster testing cycle
  • Not reinventing the wheel
  • Improved security
  • Improved auditing and compliance

The demo at the right shows 100,000 rows inserted into an Oracle table ... 
not on a super-fast server ... 
on a laptop.

The PSOUG's 11g New Features class is a stark departure from the New Features presentations given by Oracle and its employees. We don't focus on new revenue opportunities but on those features often not discussed elsewhere that can be leveraged to improve performance and scalability, and to decrease the total cost of development, debugging, and testing. And we don't define "new" as the latest buzz-word in the industry but rather as features that may be new and may have been in the database for multiple versions but which will be new to Oracle developers.

Warning: The syllabus, below, shows the topics covered. This class is 100% hands-on and does not contain a single PowerPoint slide. $1350/student for all three days. $450/student for a single day.
 
2007-2008 Calendar
Nov Dec Jan Feb Mar Apr May Jun Jul Aug Sep Oct
 
Day 1: SQL
8:30-9:00am Registration Join us for coffee and pastries while you register.
9:00-9:15am Introductions
9:15-10:15am Demo 1 New Object Types
Compressed tables, global temporary tables, external tables, index organized tables, partitioned and subpartitioned tables, sorted hash clusters, compressed indexes, function-based indexes, no-segment indexes, and more have been added including the recyclebin.
10:15-11:15am Demo 2 New Functions
In versions 10g and 11g Oracle has added a lot of new built-in functions that are a powerful new set of tools. Among these functions are the analytics, regular expressions, Quote Delimiters, SYS_CONTEXT, and SYS_OP_MAP_NONNULL
11:15-12:00pm Demo 3 New Clauses
This lab covers the use of the WITH clause, RETURNING clause, SAMPLE clause, the MODEL clause, and enhancements to the 9i Merge statement.
12:00-12:45pm Lunch
1:00-2:00pm Demo 4 Legacy Functionality
There is substantial legacy functionality that has remained hidden from sight. This section covers CREATE SCHEMA, CUBE, GROUP_ID,  GROUPING, GROUPING SETS, and ROLLUP as well as DML functionality such as INSERT ALL and INSERT WHEN.

2:00-3:00pm

Demo 5 SQL Tuning
Tuning SQL statements has changed over the years. Even basics like AUTOTRACE, COMMIT, and EXPLAIN PLAN. This section covers these as well as the new DBMS_XPLAN built-in package, outlines, histograms, and the influence of clustering factor.
3:00-4:00pm Demo 6 Built-in Package Support
Oracle has added new built-in packages that can help those developing and working with SQL and DML among them DBMS_ERRLOG, DBMS_INDEX_UTL, DBMS_IOT, and DBMS_STATS. We cover them and more.
4:00-4:30pm Demo 7 Developing for RAC
While it is true that any application will run on a RAC cluster ... it may not run well. These demos focus on those practices that will enable developers to build applications that will run flawlessly in a stand-alone environment but
 
Day 2: PL/SQL
8:30-9:00am Registration Join us for coffee and pastries while you register.
9:00-9:15am Demo 1 PL/SQL Objects and Data Types
Gone are the days when a discussion of PL/SQL objects meant procedures and data types meant VARCHAR2. This section covers associative arrays, the polymorphic data types such as anydata, and additional more.
9:15-10:15am Demo 2 Pipelined Table Functions & Operators
With Oracle 9i and above developers have gained the ability to implement pipelined table functions and to write their own overloaded operators. This section demonstrates how.
10:15-11:15am Demo 3 Stored Procedures
Optimal use of stored procedures requires an understanding of the NOCOPY and DEFAULT keywords, defining privileges with definer and invoker rights and using autonomous transactions. All of these are covered in this section.
11:15-12:00pm Demo 4 Built-in Packages
Oracle packages are more than just a library for collecting functions and procedures. They rules for value retention in variables are different, they can contain an initialization section, and allow for overloading. This session will focus on those aspects of packages that enhance PL/SQL functionality.
12:00-1:00pm Lunch
1:00-2:15pm Lab 5 Exception Handling
Best practice in PL/SQL exception handling has changed. This section covers the WHO_CALLED_ME procedure, the DBMS_WARNING built-in package, and the DBMS_UTILITY procedures FORMAT_CALLSTACK, 
FORMAT_ERROR_BACKTRACE and FORMAT_ERROR_STACK as well as PRAGMA EXCEPTION_INIT.
2:15-3:30pm Lab 6 Security and Auditing
This section focuses on security, auditing, and compliance. We will cover ORA_ROWSCN and ROWDEPENDENCIES, the WRAP utility, how to, in real-time, create wrapped PL/SQL objects, and how to secure data and databases with DDL and System Triggers.
3:30-4:30pm Lab 7 Cursors, Loops, and Array Processing
With the introduction of the 9i database cursors and cursor loops became essentially obsolete. This section focuses on the dramatically improved performance and scalability that comes with array processing.
 
Day 3: Built-in Packages
8:30-9:00am Registration Join us for coffee and pastries while you register.
9:00-10:15am Lab 1 DBMS_CHANGE_NOTIFICATION
Many applications repeatedly query tables to determine if data has changed: That is no longer necessary. This new 11g capability allows code to register with a table for notifications. This is a valuable adjunct for  auditing, compliance, and many application designs.
10:15-10:45pm Lab 2 DBMS_CRYPTO
This package has replaced the obfuscation toolkit and dbms_random package as the most secure way to encrypt and decrypt Oracle data. This section presents the full capabilities of this new package for enhanced security.
10:45-11:30am Lab 3 DBMS_DB_VERSION
With Oracle 11g has come the ability to perform conditional compilation. To write a single PL/SQL object that is version aware. This section focuses on this new capability: When and where to implement it in your code.
11:30-12:00am Lab 4 DBMS_PROFILER
The best tool for optimizing the performance of PL/SQL objects is the profiler. This section demonstrates how to use it to optimize and tune performance.
12:00-1:00pm Lunch
1:00-1:45pm Lab 5 DBMS_SERVICE
Creating and using services isn't just for the Java guys that think a database is a bit bucket. Developers can utilize services, just as Oracle does, to ease the burden of resource management, auditing, tracing, and compliance. This session focuses on creating and managing database services (with SQL*Plus).
1:45-2:30pm Lab 6 DBMS_SESSION
This package gives developers access to managing a variety of resources including consumer groups, contexts, database links, NLS parameters, package states, roles, tracing and user memory. This session covers this functionality in depth.
2:30-3:00pm Lab 7 UTL_COMPRESS
Storing large objects, CLOBs and BLOBs, is becoming more and more common. This section focuses on optimizing storage and speed when storing and retrieving large objects.
3:00-3:30pm Lab 8 UTL_FILE and BLOB
Another issue developers have faced with large objects has been the fact that while they were easy to get into the database ... it took C or Java to get them back out. This has now been fixed with an update to the UTL_FILE built-in package and we will explore the new capability in depth.
3:30-4:00pm Lab 9 UTL_HTTP
HTTP can be accessed from inside the database using this package. Everything from managing cookies to downloading web pages into the database. This session is a hands-on look at its functionality.
4:00-4:30pm Lab 10 UTL_MAIL
Oracle has deprected the UTL_SMTP built-in in favor of this more capable package. If you want to write applications that can send emails this session will cover this packages capabilities including sending attachments.
 
Instructors
Dan Morgan is an Oracle Ace Director, a 10g and 11g Beta tester for Oracle, and the instructor of the Oracle program at the University of Washington since its inception in 1999. He began his IT career in 1969 with an IBM 370/145, punch cards, and Fortran IV, and though he will vigorously deny it, wrote COBOL for a decade before moving into Oracle about when version 6 hit the market.

In addition to Dan's work at the university he is the Education Chair of the Puget Sound Oracle Users Group, a member of UKOUG, and a member of the British-American Chamber of Commerce in Seattle. He is also a frequent lecturer at training events and at conferences and has presented at Oracle OpenWorld on RAC (2005), at Seattle OracleDay (2004-2007), at numerous government and corporate training events including Apple Computer, Argonne National Laboratory, Boeing Commercial Airplane Group, Dow Jones & Company, Lawrence Livermore National Laboratory, NASA, T-Mobile, US Navy at Pearl Harbor, and Weyerhaeuser to name but a few and presented on Streams and Change Data Capture at UKOUG in 2006.

Dan Morgan is the Morgan behind the "Morgan's Library" website that contains the many demos he has  created for his University of Washington classes as well as for his frequent lectures. He is the former publisher of MacTech Journal, has presented Oracle technical lectures in the US, Canada, Great Britain, and Japan. Morgan is also the author of this course.
 
This is site maintained by the Puget Sound Oracle Users Group. Last Updated: