DBA Best Practices

Download Report

Transcript DBA Best Practices

Oracle DBA Best
Practices
Dennis Williams
Senior Database Administrator
Lifetouch, Inc.
About Me






TCOUG member since 1990
8 years only DBA at Lifetouch, Inc.
Lawson Software Database
Research Engineer
Consultant - Fingerhut
Control Data
Contact me at
[email protected]
Audience



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
Agenda




Time - Until lunch is ready
Left-brain portion - tech. Issues
Right-brain portion - softer issues
Database audit form
75,610 DBAs





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
Where do DBAs come from?



Schools don’t offer a degree.
Developer
DB developer
System Administrator
DBA is a role



Like a policeman or teacher
Unstated responsibilities,
expectations
Most people don’t know what a
DBA does.
DBA time breakdown







22% Fire Fighting
33% Monitoring
12% Perf. Tuning / Change Mgt.
33% Development Support
0% Planning for growth
0% Backup & Recovery Planning
0% Learning
Koopman
Assignment




Keep a personal time log - 1 week
Learn your time distribution
Target improvements
Study time management
Levels of Oracle DBA
Rookie
Veteran Expert
TCOUG
No time
Studies
Member,
On the
attends reg. board
Concepts
Architecture
Admin.
Commands
No time
Reads
manuals
Takes
OCP, books
classes
Manuals
Learning
Online
No time
forums
New Oracle Uses any
features
feature
Very
familiar
OCM,
author,
conferences
Lurks, asks Answers
questions
Wary of
Creates
new feature tests to find
problems
OCP





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
Types of DBAs:
Development DBA




May carry developer title
Develop code ( PL/SQL )
“Hunter” personality (find/fix/forget)
Best practices: Code Complete by
McConnell
Production Support DBA




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
Application DBA





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
Consultant DBA



Fastest way to get expertise
Varied work opportunities
Understand economic cycles
Backup is Job #1






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
Export: the DBAs friend





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
Security is Job #2





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
Making it work
Dev to Prod







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?
Oracle Performance
Tuning - Types



SQL Statements - explain plan,
tkprof, 10053 events
Application disasters - 10046 trace,
Cary Millsap (TCOUG Hotsos
seminar)
Proactive tuning and hanging STATSPACK, utlestat/utlbstat
Server statistics




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
Bind variables





Ensure developers use bind
variables
Audit v$sql in test to verify
In Java, PreparedStatement
In .net, CommandText,
CreateParameter, Append
Connection pooling
Not your Dad’s Oracle
tuning




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
Goal of tuning




What matters to the business user
Good chance to sell value
End-to-end analysis
DBA must prove innocence
Monitoring




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
Oracle Versions








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
Oracle Patches

Two philosophies:
 Only
when bug arises
 Immediately (security)

Vendor testing hierarchy:
 Version
 Patch
set
 Individual patch
Oracle Licensing




Install defaults to all - know what
costs extra
Consider Standard Version
Understand the organization
budget mechanisms
Knowledgeable if not authorized
Troubleshooting



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
Documentation





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
Data Modeling





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
Tech. Learning List




Application interface methods Microsoft, Java, OCBC
Server tuning
Storage methods and options,
strengths and weaknesses
Effective communication proceeds
from shared knowledge
Self-Study







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?
Know your learning style


Left-brain vs. right-brain
Four primary learning styles:
 Visual
(diagrams)
 Auditory (reading)
 Tactile (hands-on)
 Kinesthetic (body)

Your manager’s learning style
People Skills




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
Respect





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
How to avoid problems





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?
When you’re wrong,
admit it, quickly

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
Stress






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
That Problem Person






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 team-building “we can
work together on this”, “I need your
help”
End with a nice complement
Simple Explanations



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
Database Audit Form



Periodically audit each database
Checklist for problems
Form is terse, so I included a sheet
describing the purpose of each
check