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.
|
|
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. |
| 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. |
| 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. |
| 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.
|
|