David Fitzjarrell: Geek of the Week

David Fitzjarrell is well known amongst Oracle developers for his knowledge of database performance tuning and problem solving/resolution. He is an Oracle ACE, and an Oracle DBA Group Lead. He is the prinipal author of "Oracle Exadata Survival Guide", from Apress.

2361-davidfitzjarrell.JPG

David Fitzjarrell has more than 20 years experience with various releases of the Oracle DBMS having installed the Oracle software on many platforms, including UNIX, Windows and Linux, and monitored and tuned performance in these environments.

He is knowledgeable in the traditional tools for performance tuning and has used these to great advantage at various organisatioins including the U.S. Postal Service, American Airlines/SABRE, ConocoPhilips and SiriusXM Radio to increase throughput and improve the quality of the production system.

David spends a large amount of his time working with the Oracle database and, more specifically, working with people who are working with the Oracle database and regularly answering people’s questions about the Oracle database and its tools on his blog.

RM:
What was your career path to becoming a DBA? Was the world of Oracle thrust upon you by events you had no control over?
DF:
I was a career chemist (across the pond that’s not a pharmacist) with minors in mathematics and Computer Science.

The lab whom I was working for went with an Oracle-based manufacturing solution and, being the only one on-board with both chemistry and IT knowledge it fell to me to be the UNIX system administrator and Oracle DBA. That was 23 years ago and I’ve been one ever since.

RM:
Was it something you were reluctant to do? And how long did it take for to accept what you were asked to do?
DF:
No, not at all. I’m always open to new challenges and give 100% when asked to take on new responsibilities. I find such challenges fun. Currently I’m engaged in several database migrations to Exadata, a platform unknown to me six months ago.
RM:
Why do you think it’s important the industry recognizes the work DBAs do? And what has given you most satisfaction?
DF:
It sometimes appears that the only recognition some DBAs get is when problems rear their ugly heads and fingers of blame are pointed at the ‘black box’ that is the relational database.

Thus, it’s important, to me, anyway, that the industry recognize the long hours and hard work the exceptional DBAs put in to keep systems running.

Much of the work is ‘behind the scenes’ as proactive management is preferred over reactive repair and since the DBA doesn’t advertise the fact that he or she prefers preventing problems rather than working them in the heat of battle the time and effort are not recognized. So it is important that peers recognize one another for their contributions.

Work, honestly, really does give me the most satisfaction. Each day I learn something new, something about Oracle I didn’t know before. Learning is my joy.

RM:
How much does trying to be an exceptional DBA matter to the job you do?
DF:
It’s not trying to be an ‘exceptional DBA’ as much as it is doing the best job that I can for the clients I support. If doing things right, doing things that keep the system running over bringing it back online means I’m exceptional I won’t argue that evaluation. It’s not, however, trying to be exceptional; it’s doing the best to keep the customers blissfully unaware that Oracle is doing the heavy lifting.
RM:
Could you tell me something about the way you work? Do you live a hurried life and work every day, 7 days a week?
DF:
It seems that way sometimes. Yes, there are the weeks where the work seems endless and the conference calls and tickets are apparently never-ending. Then there are the weeks where very little goes by in terms of production issues. I take things as they come; it’s the easiest way to keep from stressing out when things get crazy.
RM:
Are there issues that keep you awake at nights?
DF:
That depends on the customer and how they view their systems. I worry when they do, but it usually doesn’t keep me up at nights unless I’m at the keyboard and monitor actively addressing an issue.
RM:
Who gave you the idea to evangelize what you do, do you feel comfortable as a speaker and what’s the key to delivering a good speech?
DF:
I’ve always been one to help others; it’s in my genes, I guess. Also it’s been my goal to help spread Oracle fact rather than Oracle fiction and I back up what I post on my blog with working examples.

I don’t feel uncomfortable with being a speaker as I don’t speak on topics I know very little about. That is the key, in my mind, to delivering a good address – know your subject well.

RM:
What’s your proudest moment as a speaker?
DF:
That’s been fairly recently, at the Rocky Mountain Oracle Users Group Training Days event. I presented on Exadata Storage Indexes and had excellent questions afterwards.
RM:
Did anyone ever help with your work as extensively as you have helped others? I mean by criticism and editing work?
DF:
When I started it was basically an ‘eat or be eaten’ world and the extensive resources on the Internet we rely upon today did not exist. It wasn’t a walk in the park to get to where I could start exploring Oracle on my own and know enough to start sharing that information with others.

I was lucky in finding Tom Kyte and Jonathan Lewis as their resources taught me as much, or more, as I possibly taught others. From there it was peer feedback, experimentation and the desire to learn more that drove me to where I am today. Helping others through the maze of fiction, half-truths and marketing fluff by stating unassailable facts led me here. I’m so glad that it did.

RM:
What are the biggest lessons you feel you’ve learnt from the Oracle community in the years that you’ve been answering questions?
DF:
The greatest lesson is that no one has all of the answers. We all contribute to the base of Oracle knowledge in some degree, either by asking questions or by answering them.
RM:
What are the commonest mistakes and assumptions which crop up again and again?
DF:
Temporary tablespace issues are still a murky stream, even since Oracle has been creating what I call ‘true temporary tablespaces’ since the 9i release. I still see blog posts and forum responses that state that 100% allocation of temporary extents is bad and requires a rebuild of the TEMP tablespace which simply is not true. Rollback issues, ORA-01555 errors also creep in to the swamp of misinformation and I’ve tried to address all of those in my forum responses and my blog posts.

What do I get in return? The sheer pleasure of watching someone’s light come on. That’s the joy, really, knowing that someone finally understands a concept.

RM:
I read that your goal is to dispel the myriad of myths surrounding the Oracle database and replace them with fact. What would you say are the top five myths with Oracle?
DF:
The top five myths would be:

  • The ‘silver bullet’ theory of database tuning
  • Hardware solves most problems
  • Statistics are always right
  • Index access is always better than a full table scan
  • Take my word for it, you don’t need proof
RM:
Do you think then that poor education is to blame? That somehow it’s got worse over the years rather than getting better?
DF:
I think that some Oracle professionals rest too much on their perceived laurels. The ‘I have years of experience so believe me’ camp can run afoul of actual fact and proof.

Some of these professionals scoff at those of us who prove behavior using scripts. ‘A script won’t reflect real life situations.’

To believe that is a disservice to yourself and others, really, as scripts can and do reflect real life situations in the database arena.

They isolate errant database behavior and spotlight it for all to see. They prove that something may be amiss with the database engine which needs to be addressed. Living in the vacuum of one’s own glory can’t be good for that person nor anyone else who uses him or her as a knowledgeable resource.

RM:
Is there a need for database triggers? Should they be banned?
DF:
No, they shouldn’t be banned; there are good uses for triggers such as auto-populating columns using sequences, enforcing assertions or for extended auditing in older releases of Oracle. There are simply some tasks constraints cannot successfully handle.

Take, for instance, a bank where new accounts must start with a balance of $100 or greater yet existing accounts can have a balance which falls below that target value. A check constraint cannot successfully enforce that assertion as it will never let the balance fall below $100.

A trigger is the way to implement that condition, as it will verify the opening balance is $100 or greater, yet provide no additional processing once the account is established.

I do think that in some cases triggers are overused or used in ways that they shouldn’t be. A trigger should never be used to enforce referential integrity as triggers are transactional objects and cannot police the affected table outside of the current transaction. Even with that, though, I do not believe triggers should be eliminated.

RM:
Do you think businesses recognize the value of a development DBA?
DF:
I would like to hope so. It’s difficult to manage both a production environment and a development farm and be able to do both tasks justice.

The development DBA is the point person for developers to ask tuning advice as well as validation of coding standards. Such a DBA is truly a boon to industry and should be recognized as such. Unfortunately there aren’t as many development DBAs (to my knowledge) as there should be.

RM:
Do you think the kind of people who can be successful DBAs has changed, and is becoming a DBA more of a career choice than an accident?
DF:
It is a career choice; unfortunately that choice is sometimes driven by the earning potential rather than the desire to actually learn the database, which is sad. That is not to say that the majority of working Oracle DBAs don’t know their stuff, they do, which is why they continue to work, continue to prove themselves worthy of what they earn.

What makes a successful Oracle DBA hasn’t changed – dedication to the job, the constant drive to learn and use what they’ve learned. As in all occupations there are good and not-so-good representatives. From my experience, though, I’ve found the good far outnumber the not-so-good.

RM:
How would you make money from your skills if you weren’t in the job that you are in now?
DF:
The way I’ve done it before this position-contracting. It’s difficult for a new DBA to get good contract jobs but a DBA with at least 7 years of progressive experience can, many times, have the pick of good positions.
RM:
Who would you say has taught you most about Oracle DBs? Your Zen master, if you will?
DF:
There are two, actually Jonathan Lewis, Thomas Kyte.

Of course there are others who have contributed to my knowledge base – Nuno Souto, Mladen Gogala, Kerry Osborne, Tanel Poder to name a few. All have provided insight into the workings of Oracle – even those who many times remain nameless by asking questions that make me think and dig into Oracle that much deeper in an effort to find the answer.