Dennis Williams
Senior Database Administrator
Lifetouch, Inc.
TCOUG member since 1990
8 years only DBA at Lifetouch, Inc.
Lawson Software Database
Research Engineer
Consultant - Fingerhut
Control Data
Contact me at dwilliams@lifetouch.com
Those considering DBA career
DBAs who want to improve
Those forced to tolerate DBAs
There’s no asset more important than a company’s data. You can’t give that responsibility to someone who doesn’t know how to handle it.
Malcom Fields, CIO
Hon Industries
Time - Until lunch is ready
Left-brain portion - tech. Issues
Right-brain portion - softer issues
Database audit form
U.S. Bureau of Labor Statistics in
2003 began tracking the IT workforce.
6.46% unemployed
There are 797,445 Software
Engineers (5.3% unemployed)
DBA supports about 10 developers.
66% DBA growth by 2010
Schools don’t offer a degree.
Developer DB developer
System Administrator
Like a policeman or teacher
Unstated responsibilities, expectations
Most people don’t know what a
DBA does.
22% Fire Fighting
33% Monitoring
12% Perf. Tuning / Change Mgt.
33% Development Support
0% Planning for growth
0% Backup & Recovery Planning
0% Learning
Koopman
Keep a personal time log - 1 week
Learn your time distribution
Target improvements
Study time management
TCOUG
Studies
Manuals
Rookie Veteran Expert
No time Member, attends reg.
On the board
Concepts Architecture Admin.
Commands
No time
Learning Takes classes
Online forums
New Oracle features
No time
Uses any feature
Reads manuals
Very familiar
OCP, books OCM, author, conferences
Lurks, asks Answers questions
Wary of new feature
Creates tests to find problems
Misconception: you are an expert
Multiple choice, so simple questions
Broad, not deep
Career benefit can’t hurt
Can help you go deeper in Oracle
May carry developer title
Develop code ( PL/SQL )
“Hunter” personality (find/fix/forget)
Best practices: Code Complete by
McConnell
Keep it running
“shepherd / farmer” personality
Where best practices really make a difference
The hero isn’t the DBA that battles problems through the weekend, but the one that avoided the problem
Supports a business critical app. like Oracle Financials, SAP,
Peoplesoft, Lawson
Production support, some dev.
Key skill: understands how the app. Interacts with Oracle
Can’t self-study
Caution: Vendor doesn’t operate databases in production
Fastest way to get expertise
Varied work opportunities
Understand economic cycles
Ensuring data is never lost
Don’t trust an untested backup configuration
Be ready to perform any type of recovery at any time
Communicate vulnerabilities, recovery times to management
Archivelog mode by default
Cold or Hot backups, which best fits your environment
Enhance recoverability
Easy to recover a single table, avoid full recovery
Checks block corruption
Teach your developers to request special exports
Validate, no errors, Unix strings command, last line should be EXIT
DBA is responsible for making data available to authorized users
Keeping data inaccessible to unauthorized
Role: policy, implementation
Know security options, implications
Know how application affects security, data sensitivity
ITIL
3 environments - test/stage/prod
Clone DB from backup
Developers provide scripts to change production
Simple application login test
Always have a backout plan
Is this change worth the possible consequences?
SQL Statements - explain plan, tkprof, 10053 events
Application disasters - 10046 trace,
Cary Millsap (TCOUG Hotsos seminar)
Proactive tuning and hanging -
STATSPACK, utlestat/utlbstat
If you have a performance problem, either your database is working too hard, or it’s not being allowed to work. - Jonathan
Lewis
You must know what your server is doing.
You must know the O.S.
Unix Admin. - your best friend
Ensure developers use bind variables
Audit v$sql in test to verify
In Java, PreparedStatement
In .net, CommandText,
CreateParameter, Append
Connection pooling
Rules of thumb, ratios to mathematical foundations
Counts to measured times in microseconds
Aggregate by instance to process details
V$ tables are either too summarized or point-in-time
What matters to the business user
Good chance to sell value
End-to-end analysis
DBA must prove innocence
There is nothing so useless as doing efficiently that which shouldn’t be done at all
- Peter F. Drucker
Use LMT, uniform extents, vs. rebuild
Use autoextend vs. monitoring
Email exceptional conditions
Be not the first by whom the new are tried, nor yet the last to lay the old aside - Alexander Pope
Good choice saves downtime
Support by appl, O.S.
Rule of 4’s - 7.3.4, 8.1.7.4, 9.2.0.4
Timing - can I skip versions?
Appl. quality requirements
What are others saying? Metalink
Only change one major component
Two philosophies:
Only when bug arises
Immediately (security)
Vendor testing hierarchy:
Version
Patch set
Individual patch
Install defaults to all - know what costs extra
Consider Standard Version
Understand the organization budget mechanisms
Knowledgeable if not authorized
Never worked? Check installation
Worked earlier, doesn’t work now?
What changed?
Intermittent? (worst kind) How does it vary? With time, system load, hardware?
From Oracle Networking 101 by
Marlene Theriault
Key: What is essential?
Don’t document what can easily be figured out
Keeping up-to-date is the crucial aspect.
Obsolete documentation is treacherous
Self-documenting where possible
O-O Developer: Database is just a means to persist classes
DBA: Good data modeling can ensure the data is usable across the enterprise
Data architect is a DBA career path
Participate in initial design where your leverage is large
Learn data modeling software
Application interface methods -
Microsoft, Java, OCBC
Server tuning
Storage methods and options, strengths and weaknesses
Effective communication proceeds from shared knowledge
When you can’t get experience
Be aware of the limits
Well-defined area? (books?)
Can earn credentials?
Area where you can gain significant knowledge with a reasonable effort?
Average experience of competitors is short
Enjoy after doing 10 years?
Left-brain vs. right-brain
Four primary learning styles:
Visual (diagrams)
Auditory (reading)
Tactile (hands-on)
Kinesthetic (body)
Your manager’s learning style
Few people besides a DBA understand what a DBA does
This makes it hard to communicate your value to the organization
People don’t mind paying for what they value, but resist paying for what they don’t consider valuable
If your manager is a DBA, less people skills are required, but this is career-limiting
Do you respect someone who doesn’t respect you?
The root of much conflict is a mutual lack of respect
Smartness paradox
We are the hero of our own movie, we justify ourselves, never the bad guy
Really care about the people you work with
Many bad reactions stem from a lack of warning
Emotions play a large role in decision-making
Work hard to warn people ahead of time of what will be coming
Don’t know why? Assume stupidity
A DBA appreciates a heads-up, why shouldn’t others?
Any man worth his salt will stick up for what he believes right, but it takes a slightly better man to acknowledge instantly and without reservation that he is in error - Andrew Jackson
Feeling no control
Constant interruptions
DBA syndrome - responsible for everything, control nothing, nobody understands
You hear yourself saying “nobody appreciates me”
Antidote: study stress control, exercise visit clients, future changes
Sandwich / Oreo approach by
Rachel Carmichael
1-on-1 outside the office
Begin with a complement
Make statements addressing the problem, starting with “I” - “I feel”,
“I think”, “what I see is”. Listen
Wrap with teambuilding “we can work together on this”, “I need your help”
End with a nice complement
The most valuable people are those who can understand complex issues and explain them simply to others
Makes other feel good about themselves
Albert Einstein, Steve Hawking,
Carl Sagan, Richard Feynman
Periodically audit each database
Checklist for problems
Form is terse, so I included a sheet describing the purpose of each check