Hiring (or being hired as) An Oracle DBAPresentation 66 Michael R. Ault DMR-Trecom
Introduction • The DBA market is being saturated with both jobs and candidates -- How do you match one to the other? • The interview process is critical to hiring, or being hired as a DBA • As a Senior Consultant for DMR-Trecom I have had to develop an interview strategy to separate the “wheat from the chaff”
Topics of Discussion • What is a DBA? • What levels are there in the DBA job and what are their qualifications? • Interview Tools • Does certification mean anything?
What Is A DBA?According to the DBA manual duties include: • Installing and upgrading the ORACLE Server and application tools. • Allocating system storage and planning future storage requirements for the database. • Creating primary database storage structures (tablespaces) once developers have designed an application.
What is a DBA? (cont.) • Creating primary database objects (tables, views, indexes) once application developers have designed an application. • Modifying the database structure, as necessary, from information given by application developers. • Enrolling users and maintaining system security.
What is a DBA (cont.) • Ensuring compliance with Oracle License agreements. • Controlling and monitoring user access to the database. • Monitoring and optimizing the performance of the database. • Planning for backup and recovery of database information.
What is a DBA (cont.) • Maintaining archived data on appropriate storage devices. • Backing and restoring the database. • Contacting Oracle Corporation for technical support • Plus many other duties....
Distilled Version:To be a “Full Charge” DBA you must know: • Installation • Configuration management • Security • Monitoring and Tuning • Backup and Recovery • Trouble Shooting • Vendor Interface
Personality Traits of a Good DBAA good DBA exhibits: • Self Confidence • Curiosity • Tenacity • Tactful • Self starter • Detail oriented
Trait One: Self ConfidenceWithout it: • They will constantly ask about decisions both major and minor. • They will be afraid to show initiative. • Will be afraid to admit they don’t know something -- it isn’t bad not to know something as long as you know where to look it up!
Trait Two: CuriosityWhy do you need it? • Oracle is constantly changing, and not all of the changes are documented • You can’t depend on employer to provide references, you must have them yourself. • The Oracle toolset requires “Mining” to get the full benefit from the data dictionary, DBMS_ packages and utility scripts.
Trait Three: Tenacity • Trouble shooting requires tenacity (so does dealing with Oracle Support at times). • Many times the “Next” solution is the correct one. • Tenacious DBAs solve their own problems (usually proactively) but they know when to call for help.
Trait Four: Self Starting • Important with any position, but especially DBA. • DBA has to be proactive, not reactive. • DBA has to be willing to “Go where no one has gone before” and develop their own tools where none exist.
Trait Five: Tactful • DBA deals with all levels of people from upper management to programmer to vendor. • Needs to be able to deflect unreasonable demands without burning bridges. • Has to be able to manage both upper management’s and user’s expectations.
Trait Six: Detail Oriented • Dealing with Oracle requires detail oriented people, from command syntax to storage requirement specifications. • DBA work requires documentation, of tools, parameters and storage decisions. • Most DBA work requires time management skills -- attending meetings like other managers but also trench work.
Knowledge Required of DBAsTo reiterate: • Installation • Configuration management • Security • Monitoring and Tuning • Backup and Recovery • Trouble Shooting • Communication
Installation • Oracle is ported to many, many platforms. Installation on OpenVMS is different than on UNIX or NT. • A bad install can ruin a production environment. • DBA should be knowledgeable about your platform.
Configuration Management • Database sizing - tablespaces, redo logs, rollback segments, tables and indexes. • Physical file placement (OFA) • RAID usage in your environment. • RAW usage in UNIX and NT. • Required kernel parameters for your platform.
Security • System and Object level security • Roles and Profiles • Secure Oracle (if required) • SQLNET security • Password Security options (in ORACLE8)
Monitoring And Tuning • Next to backup and recovery most important knowledge factor. • Detailed knowledge of the data dictionary is required. • Knowledge of the uses of TKPROF and EXPLAIN PLAN. • Knowledge of COST and RULE based optimizers.
Monitoring and Tuning (cont.) • How indexes help or hurt you. • Use of Hints. • Initialization parameters and their uses. • DBA_, ALL_, USER_ views • V$ dynamic performance tables • SYS owned “$” tables • DBMS_ packages and UTL* scripts
Backup and Recovery • Most critical aspect of the DBA job. • Must know import and export and sqlloader • Must understand hot and cold backups. • Must understand partial recovery options. • Must understand archive logging.
Troubleshooting • Binary ability, either you have it or you don’t. (if you don’t, don’t be a DBA!) • Requires an analytical approach tempered by leaps of faith (intuition). • Requires tenacity tempered with the willingness to ask for help.
Communication • DBAs must be able to be understood. • DBAs must be able to file intelligently written reports. • DBA must be able to document actions, scripts and installations.
Levels Of DBA • Candidates will range from DBBS level to full charge DBA level. • Resumes will not tell you this information, only a detailed in-depth interview can sort them out.
How to Tell a DBBS(DataBase Baby Sitter) • Has a great looking resume. • Has managed lots of instances. • Has no self-bought reference materials, may not even have a computer at home. • On most jobs they will have used third party monitoring tools. • Can’t answer questions about Data Dictionary or DBMS_ packages.
How To Tell A DBA • Has a great looking resume. • Has managed lots of instances. • Has bookshelf full of self bought references • Complains about the download time of the Oracle Demo packages from the web page over his 56k modem line at home. • Knows init.ora, Data dictionary and DBMS_ packages and UTL* scripts cold.
Converting a DBBS to DBA • Get then involved with IOUG • Get them involved with CompuServe forums (ORAUSER, ORASUPP) • Get them their own paper copy of the docs. • Train, train, train • Other than for general monitoring, wean them away from too many third party tools, until they no longer need them.
Developing Interview Questions • Decide on categories needed • Give specific questions with specific answers for detail questions • For questions with open ended answers, be sure the interviewer has the skill level to understand the correct answer. • Assign point values to each question. • Handouts give examples.
Prequalification of Candidates • Oracle Corp. Certification doesn’t count for much, if you attend the classes, you get certified (sorry Oracle) I’ve got 5 of them... • Third party training ranges from excellent to very poor... • The new test based certification, while not perfect is a good starting point. • Always check references.
Appearance • Shows attention to detail • Shows social skill level • The days of the brilliant maverick are numbered, besides, they are greatly over-rated. • If they don’t care enough to dress properly for your environment, do you want them in charge of your data?
Summary • There is no magic formula. • Hiring or being hired as a DBA is hard work. • Successful hiring or being hired as a DBA requires careful preparation.