460 likes | 600 Vues
In this insightful overview, Dennis Williams, a Senior Database Administrator at Lifetouch, shares his expertise and best practices for Oracle DBAs. With a rich career spanning consultancy and development, Dennis emphasizes the critical role of a DBA in managing data and supporting application functionality. This presentation covers daily responsibilities, performance tuning, security protocols, and backup strategies. Perfect for those aspiring to enter the DBA field or current DBAs looking to enhance their skills, this session provides invaluable knowledge to ensure efficient data management and security.
E N D
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 dwilliams@lifetouch.com
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
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