Sponsored by Chevron

August 18, 2005

at Chevron, San Ramon, CA


Refer a Friend

Rate this conference

See directions to the conference location near the bottom of this page.


8:00 - 9:00 Registration and Continental Breakfast - Refreshments Served
9:00 - 9:15 General Session and Welcome - Darrin Swan, NoCOUG President
9:15 - 10:30 Keynote: Foundation Matters - Chris Date
10:30 - 11:00 Break and Book Signing
  Room 1220 Room 1240 Room 1130
11:00 - 12:00
Session 1
High Availability and Oracle RAC - I by John Sheaffer, Principal Platform Solution Specialist, Oracle Corporation Assertions, Exceptions and Module Stability: Applying Design by Contract to PL/SQL Programming by John Beresniewicz, Oracle Corporation Managing Data Risk Management, or, Honey, I Shrunk the Beast by Ian Colvin, Quest Software
12:00 - 1:00 Lunch
1:00 - 2:00
Session 2
High Availability and Oracle RAC - II by John Sheaffer, Principal Platform Solution Specialist, Oracle Corporation Case Study: Creating Price Lists in an Oracle ERP Dynamic Pricing Environment by Tim Lindemulder, Agilent Technologies Serializability: The Hobgoblin of Little Minds? by Iggy Fernandez, Intacct
2:00 - 2:15 Break
2:15 - 3:15
Session 3
Wait Event Enhancements in Oracle 10g by Roger Schrag and Terry Sutton, Database Specialists Inc. Table and Query Design for Hierarchical Data Without CONNECT BY by Charles Yu, Elance A Brief History of Data (with apologies to Stephen Hawking) by Michael Scofield, Loma Linda University
3:15 - 3:45 Raffle and Refreshments
In the vendor area.
3:45 - 4:45
Session 4
Exploring Change Data Capture in Oracle 9i/10g (a Case Study) by Venki Krishnababu, Nordstrom When Good Optimizers Make Bad Choices (Sometimes) by Dan Tow, Singing SQL Managing Data About Terrorists by Michael Scofield, Loma Linda University
5:00 - 6:00 NoCOUG networking and happy hour at O'Kane's Irish Pub & Grill, 200 Montgomery Street, San Ramon.  (Directions: Leaving the conference, turn right on Bollinger Canyon Road, right on Market Place, and left on Montgomery Street.)

Mark your calendar for NoCOUG's Fall Conference:
November 10 at Computer History Museum in Mountain View.



Speaker Abstracts for Summer Conference


“Foundation Matters” - Chris Date

This session is meant as a wake-up call...The foundation of the database field is, of course, the relational model. Sad to say, however, there are some in the database community--certainly in industry, and to some extent in academia also--who don't seem to be as familiar with that model as they ought to be; there are others who seem to think it isn't very interesting or relevant to the day-to-day business of earning a living; and there are still others who seem to think all of the foundation-level problems have been solved. Indeed, there seems to be a widespread feeling that "the world has moved on," so to speak, and the relational model as such is somehow passé. In my opinion, nothing could be further from the truth! In this session, I want to sketch the results of some of my own investigations into database foundations over the past twenty years or so; my aim is to convey some of the excitement and abiding interest that is still to be found in those investigations, with a view--I hope--to inspiring others in the field to become involved in such activities.

Room 1220
“High Availability and Oracle RAC - I” - John Sheaffer, Principal Platform Solution Specialist, Oracle Corporation

John Sheaffer, Principal Platform Solution Specialist at Oracle Corporation, will present an overview of the various technologies that contribute to the creation of a High-Availability Oracle environment. They will specifically focus on Real Application Clusters (RAC) and discuss, in detail, 10g RAC, the new Cluster Ready Services (CRS), and then demo Transparent Application Failover (TAF) on their two-node traveling cluster using both the Oracle TAF-OCI demo and SwingBench.

“High Availability and Oracle RAC - II” - John Sheaffer, Principal Platform Solution Specialist, Oracle Corporation

See Above

“Wait Event Enhancements in Oracle 10g” - Roger Schrag and Terry Sutton, Database Specialists Inc.

This presentation is designed for DBAs who have experience using the wait event facility in Oracle 9i or earlier, and want to learn what changes have been made in Oracle 10g. Although introduced way back in Oracle 7.0, not a lot changed in the wait event interface through and including Oracle 9i. Sure, Oracle 9i boasts over 400 wait events while Oracle 7.3 had a paltry 106. And yes, Oracle 9i TKPROF reports include wait event information and Oracle 9i v$ views show wait times in microseconds. But these are minor enhancements, really. Oracle 10g, on the other hand, brings more significant change to the wait event interface than we have seen in years. Now there are over 900 wait events, a categorization of wait events into classes, wait event accounting at the SQL statement level, easy access to recent wait events for each session, built-in statistics collection by the Automatic Workload Repository, a new time model concept for looking at how sessions spend their time, and a lot more.

“Exploring Change Data Capture in Oracle 9i/10g (a Case Study)” - Venki Krishnababu, Nordstrom

In many organizations a requirement exists for transactional data to feed into decision support systems. Aggregation and summarization of data in DSS and data warehouse systems allow organizations to make informed decisions based on trends and statistical analysis. Traditionally, changes from transactional systems are captured using DML triggers or complex batch programs that extract the change on a periodic basis. With versions 9i and 10g, Oracle introduced a new feature for capturing change at the source very efficiently. Change Data Capture (CDC), first introduced in Oracle 9i, allows the capture of change at the source without having to write traditional triggers. This presentation discusses a case study performed at a major Oracle customer site, exploring how CDC compared to traditional triggers and batch processes in terms of development, testing, maintenance and support costs. This presentation focuses on synchronous CDC, including the process flow and steps involved in implementation in a real production database. In addition to providing an end-to-end overview of how an efficient ETL mechanism can be used to load in near real time to a data warehouse, the presentation also shows how to extend CDC to feed cross functional systems for information integration. This presentation also touches on asynchronous CDC, new in Oracle 10g, which reads from redo logs in order to obtain data changes. This presentation includes a live demo of CDC.

Room 1240
“Assertions, Exceptions and Module Stability: Applying Design by Contract to PL/SQL Programming” - John Beresniewicz, Oracle Corporation

This presentation introduces the software engineering techniques of Design by Contract as applied to PL/SQL programming for purposes of creating bug-free code. We will discuss preconditions, post-conditions and invariants and learn how a standardized package-level ASSERT procedure can be leveraged to enforce contract preconditions between calling and called modules. Modularization and exception handling issues will also be covered to some degree, as well as best practices for hardening code. Specific code examples will be presented to illustrate the techniques.

“Case Study: Creating Price Lists in an Oracle ERP Dynamic Pricing Environment” - Tim Lindemulder, Agilent Technologies

At Agilent Technologies, once a month, we need to generate static price lists containing over 14 million items. However, all of our prices are dynamically generated by formulas. Over the course of the past year, Agilent has implemented a set of batch programs to generate a static snapshot of our dynamic prices. The process of designing, building, testing, and deploying this project uncovered many interesting issues? ranging from basic software testing principles to obscure Oracle database setup issues. This talk will describe the project, describe the issues we found, describe their resolutions, and give you a set of lessons that we learned

“Table and Query Design for Hierarchical Data Without CONNECT BY” - Charles Yu, Elance

Hierarchical data is popularly represented in an RDBMS by a table where the parent-child relationship is implemented in such a way that if record x is a child of record y, then the value of x's parent_id column is the same as the id column of y's. Since records in such tables may serve both as children and a parents, these tables are referred to as recursive tables. Recursive tables seem to be a very good for hierarchical data. However, the standard SQL syntax does not support general query on such hierarchical data with this kind of table design. Oracle comes with native support for querying hierarchical data, known as CONNECT BY. For all its niceness, the CONNECT BY mechanism falls short in two accounts: It is slow in many cases due to the fact that the parent-child relationship cannot be directly indexed; and SQL code built upon CONNECT BY cannot be easily adapted to other database vendors as there is no such support from other vendors so far. This presentation introduces an alternative new mechanism for storing hierarchical data that overcomes these shortcomings.

“When Good Optimizers Make Bad Choices (Sometimes)” - Dan Tow, Singing SQL

Smart optimizers do sometimes make bad choices. This presentation will describe the main root causes for cost-based optimization failures to find the best execution plans, and what the developer can and should do about these failures. I make a case that inaction, motivated by a wish to avoid over-directing the optimizer, or motivated by any other reason, is not generally the best choice.

Room 1130
“Managing Data Risk Management, or, Honey, I Shrunk the Beast” - Ian Colvin, Quest Software

Data risk management poses a complex and costly challenge to many organizations. Regulatory requirements and best practices dictate the need to provide comprehensive, timely and reliable controls that have been proven to minimize risks to the confidentiality, integrity and availability of the data. This is a familiar story of woe. Ian will present three key principles to put things into perspective. Look up. Step back from the myriad details and get a clear vision. Understand the key components and processes that drive compliance and build a model. Do all the requirements have a home? Does everyone have the same vision in mind? Who are the drivers of the whole and the pieces? Do we have all the tools we need? Once a satisfactory model is in place, it provides the framework on which to prioritize, plan, manage, and change compliance. One such risk management model will be presented, together with example walkthroughs. Step up. Communicate compliance requirements to all effected staff. Ensure that roles, responsibilities and reporting structures are not at odds with the risk management goals. How do you work with internal and external auditors? Instill a sense of ownership, assess and improve skills, and check that segregation of duties. Tool up. Compliance products provide repeatability, scalability and automation opportunities. There are different categories of compliance products. The challenge is to achieve control over the compliance products themselves, through integration of their risk control models, compliance incident registries, security models, and compliance management standards. How do you pressure the vendors with specific requirements, individually and at the group level?

“Serializability: The Hobgoblin of Little Minds?” - Iggy Fernandez, Intacct

In his presentation to NoCOUG last year, Tom Kyte characterized differences in approaches to data consistency and concurrency as the fundamental difference between Oracle and the other database vendors such as Microsoft and IBM. He said that it can be Oracle's best feature or its worst feature, if you don't understand it. He also said that, if you don't understand it, you are probably doing some transactions wrong in your system! Interested already? Then run, don't walk to this presentation! “Serializability”, or the notion that concurrently executing transactions must not interfere with each other to produce unexpected results, is such a tricky beast that original research is still being published on the topic. Come learn about the issues and stop doing transactions wrong!

“A Brief History of Data (with Apologies to Stephen Hawking)” - Michael Scofield, Loma Linda University

This session presents a survey of the history of data (particularly structured or tabular data) and the technology used to manage it, with the focus on what characteristics of raw data and information have not changed through the years. What the IT advances do change is our ability to find information, and our ability to associate it, convert it, and display it in newer and meaningful ways. Rows and columns existed in the 17th century! So did null conditions in cells of data. The first non-story commercial data occurred in both the Egyptian and Babylonian empires. The first tabular scientific data is evidenced in a 6th century astronomer being able to predict a lunar eclipse. During World War Two, both Americans and English scientists invented electronic data processing (computers) which were used to process data, but not manage data. Big difference. Their greatest limitation was their inability to store data. Going back to the ultimate of unstructured data (the human brain) and how it stores and associates business data, we compare this to the feeble efforts of CRM (customer relationship management) to reconstruct that brilliant, intuitive sole proprietor's brain. We shall look at how proprietorships grow into complex (and dysfunctional) bureaucracies, and what happens to data in this evolution.

“Managing Data About Terrorists” - Michael Scofield, Loma Linda University

This session looks at the difficulty of linking data from diverse government agencies to get a better picture ("connect the dots") of suspect activities. The problem with that is the danger of "false positives", especially with insufficient data or misinterpreted data. And, of course, all such data are observations, and have issues of accuracy and reliability. How do you design a database to capture the reliability of suspect observations?


If you have suggestions for future meetings or would like to offer feedback on previous conferences, then please complete our online survey or send us an email.

Directions to Chevron Park in San Ramon:

6101 Bollinger Canyon Road, San Ramon, CA 94583.

Please note that the conference building is just after the Chevron Campus.
Upon arrival, enter the building at the East entrance where you'll find NoCOUG representatives ready to sign you in.

From Highway 680 South:
Exit at Bollinger Canyon Road. Turn left onto Bollinger Canyon Road (heading east over the freeway). After passing Chevron Park Circle West, turn right into Bishop Ranch 1. Address 6101 is the first building after entering the parking lot. Park anywhere not restricted.

From Highway 680 North:
Exit at Bollinger Canyon Road. Turn right onto Bollinger Canyon Road (heading east). After passing Chevron Park Circle West, turn right into Bishop Ranch 1. Address 6101 is the first building after entering the parking lot. Park anywhere not restricted.

Copyright © 2005 NoCOUG. All rights reserved.