NOCOUG November, 2011 report
For those of you who did not attend yesterday’s (November 9th, 2011) NOCOUG (Northern California Oracle User Group - http://nocoug.org) meeting, you missed a good one! Here’s a quick recap of what I saw interesting to me:
The keynote by Feurstein Coding Therapy for Database Professionals actually had some good food for thought. Some of the more interesting points:
- As a developer, it can really help to understand modern ideas about how the mind works; the book On Intelligence is highly recommended. Our brains come with lots of issues, and tons of computational power that we aren’t aware of.
- Don’t sprinkle SQL code throughout your regular PL/SQL code; try to encapsulate database calls in wrappers. This makes implementation far easier to change. I can definitely attest to this idea, having created quite a few APIs in PL/SQL for Java applications, and it allowed a lot of flexibility in design changes over the course of time.
- Use subtypes for varchar2(x) fields — this is actually a feature I wasn’t aware of (and I’ve been coding pl/sql since, hmm, 1995 or so).
- If you get stuck, try sleeping.
He had other points, e.g. the relationships between developers & DBAs among
others (recommending the book Peopleware), but those are the ones I remember.
He’s a great speaker.
Next I saw Feuerstein’s Making the Most of PL/SQL Error Management Features. Actually knew most of the tips, but there is a new package since v10 I wasn’t aware of; DBMS_ERRLOG (since v10 even); this allows you to first call it to create an exception table for a given real table, then do DML on the original table. Rejects will (such as duplicate primary/unique key) will go into the error-table instead of the entire transaction rolling back. He’s supplied some of his own code that adds extra features. It should be noted that it is entirely up to the developer to handle rows in that resulting table. It would be probably really good for really big updates which take lots of time, and you don’t want the entire transaction to roll back if it finds 1 problem row.
Next I saw The Case for Manual SQL tuning by Dan Tow of Singing SQL; he obviously had some good points, being that understanding the application itself can make decisions far better than any cost-based analyzer, and that there are still parts of the cost-based analyzer that will fail miserably (ie anti-correlation between values in different tables used in the same query). The current cost-based analyzer will usually work 90-99% of the time, but there are always, and likely will always be exceptions.
I then saw the Resolving Buffer Busy Waits by Craig Shallahamer of OraPub. This was by far my favorite presentation, and I wasn’t expecting it to be so, having been acquainted several times with resolving buffer-busy wait problems. The presentation was actually far deeper than that, and gave me quite a bit of insights into the buffer pool itself; LRU chains, dirty-block buffers, cache-buffer chains, how block headers work, how segment headers for data/index-blevel/index-leaf/undo work. Fascinating stuff - in fact this was my favorite presentation at NOCOUG in at least 6 months.
I actually skipped the last sessions; my colleague Terry earlier had seen an Oracle Appliance session, Visual Tuning by Example was probably pretty much a sales presentation for Delphix, and I’ve done a fair amount of reading/playing on nosql (and from Oracle, was thinking it too would be mostly sales-oriented). So, I headed downstairs for the great computer history exhibit. It was different, and bigger than it was when I saw it apx 3 years ago, and totally worth it. If you haven’t seen it, I’d highly recommend it, esp if you’ve been in computers awhile. Loved the robots and very early tablet computers most, though I found myself reminiscing quite a bit about the computers I started my career with. They even had a special video on the history of Oracle Corp.
Even for an Oracle veteran like myself, I found some really useful information in this last conference. Kudos to Iggy and the entire NOCOUG team for delivering a great conference once again!

Recent Comments