“But, You Don’t Understand…”


"Let me try once more," he said in an effort to explain. "In other words--"

"You mean you have other words?" cried the bird happily. "Well, by all means, use them.
You're certainly not doing very well with the ones you have now."
- Norton Juster, The Phantom Tollbooth 

A seemingly constant battle in many forums is getting those who post questions to be clear in what they are asking. Some questions are (more...)

What’s In A (User) Name?


"So each one of you agrees to disagree with whatever the other one agrees with,
but if you both disagree with the same thing, aren't you really in agreement?"
- Norton Juster, The Phantom Tollbooth

Recently a blog post caught my attention, primarily because it was talking about primary keys in a database. In the post an interesting situatino was presented, one involving using a username column as the key. The point was made (more...)

It Isn’t The Index


"If you want sense, you'll have to make it yourself."
- Norton Juster, The Phantom Tollbooth

One of the more confusing statistics in Oracle is, apparently, one called the clustering factor. Associated with an index (as evidenced by the columns in DBA_INDEXES) it’s actually dependent on the table data, more specifically the distance between ‘jumps’ for a given index key. Let’s define a ‘jump’ to be the number of blocks between rows containing the (more...)

Let Me Say That Another Way …


"I never knew words could be so confusing," Milo said to Tock as he bent down to scratch the dog's ear.
"Only when you use a lot to say a little," answered Tock.  Milo thought this was quite the wisest thing he'd heard all day.
-- Norton Juster, The Phantom Tollbooth

Occasionally it may be necessary to ‘flip’ a table on its side, so to speak, meaning to convert rows to columns in order to (more...)

Stop That!


"It seems to me that almost everything is a waste of time."
- Norton Juster, The Phantom Tollbooth 

Jonathan Lewis has coined a term and its definition that, I believe, we’ll be using quite a bit:



Stoptimisation - the art of optimisation by not doing the things you don't need to do.

It’s a term we’ve needed for some time now, given the pendulum swing back to the days of yore (meaning pre-9i) with (more...)

That Depends

In every universe there are questions that either:

Have no answer
or
Have an answer that is situation-dependent

and that includes the Oracle universe. Sometimes it’s difficult to get that concept across to the less knowledgeable. Let’s go back to a simple example from a previous post to illustrate this.

In Resurrecting The Dead flashback operations were discussed as an option to restore table data to before an errant update. The post started with this:

 (more...)

Perception Is Everything


"There is much worth noticing that often escapes the eye."
- Norton Juster, The Phantom Tollbooth

Using BULK COLLECT in PL/SQL blocks and procedures can drmatically speed array processing, but it can, if the DBA isn’t prepared, ‘hide’ any errors that occur in the bulk processing list. A ‘plain vanilla’ EXCEPTION handler may not report all errors that are thrown. Let’s look at an example intentionally set up to fail inserts based on data (more...)

Some People’s Kids


"Expectations is the place you must always go to before you get to where you're going. Of course, 
some people never go beyond Expectations, but my job is to hurry them along whether they like it or not."
- Norton Juster, The Phantom Tollbooth

From time to time I find a situation where a developer believes that:


	He or she believes referential integrity is not necessary

or


	He or she is better at enforcing  (more...)

Too Much Time

SQL> CREATE TABLE EMP
"It's bad enough wasting time without killing it." 
 Norton Juster, The Phantom Tollbooth 

AWR reports were a tremendous improvement over Statspack reports, primarily due to the depth and breadth of the sample data collected. A more detailed report, with extended metrics, provides a better look at what the database is doing during a given interval. Unfortunately this detail can create unusual information, especially in the SQL Elapsed Time section. For (more...)

Columns, Columns Everywhere


"Many of the things which can never be, often are."
- Norton Juster, The Phantom Tollbooth 

Oracle’s most recent database release has an interesting problem involving ANSI joins and tables having 500 or more columns. Yes, this is likely a rare situation in OLTP systems but it exists, nonetheless. [Data warehouses are different and it’s likely that tables of 500 columns or more could exist.] It was brought to light in a forum (more...)