How Do I Become a DBA?
How do I become a DBA? How do I learn about PL/SQL? What books should I read? What websites should I visit? Readers often email me asking one or more of these questions. Behind all these questions is usually a person who wants to make a move into working with Oracle, either as a database administrator (DBA) or as a programmer. When I get these questions, I'm never sure how to respond. You see, there's more than one way to learn about Oracle. Ask half-a-dozen database administrators (DBAs) how they got to be a DBA, and you'll certainly end up with more than one answer. So when I get an email asking how to become a DBA, I don't want to respond as if there is only one path to that goal. It's also difficult to find the time to write a thorough, and thoughtful, response.
Recently, I received a spate of these "how do I?" emails. After writing several lengthy replies that each addressed different aspects of how one learns to be a DBA, it occurred to me that I should write a more comprehensive response in the form of an article that I could post on my website. This is that article. In it, I'm not claiming to preach the one, true way. I'm just sharing my thoughtsheavily influenced by my own personal experienceon the subject.
To may way of thinking, in order to become an Oracle DBA, you must develop in two fundamental areas:
- Knowledge. You need to develop your knowledge of the products, tools, and utilities that make up the Oracle space.
- Experience. You need to get experience performing database administration tasks.
Instructor-led courses, web-based training, books, magazine articles, websites, experimenting, and real-life DBA work all fall into these two fundamental areas. First, I'm going to talk about knowledge and some different ways to attain it. Then I'm going to speak to the subject of acquiring experience.
Knowledge
In this article, I use the term knowledge to refer to the book learning aspect of learning to be a DBA. Knowledge includes all the facts that you need to know regarding the Oracle database software, utilities, management tools, and so forth. There are many ways to develop this type of knowledge. Those in the following list are perhaps the most common:
- Attend Formal training courses
- Read Books
- Read Magazine Articles
- Visit websites
- Participate in newsgroup discussions
- Talk with practicing DBA
Formal Training
Formal training courses, in my opinion, represent one the best ways to develop your knowledge of Oracle database administration. Training courses are prepared, and hopefully delivered, by practicing database administrators who have given some serious thought to just what you need to know in order to manage a database yourself. Because of that, training courses not only provide specific information that you will use on a daily basis, they also provide broad foundational material. Oracle process, file and memory architecture is a good example of the type of foundational material that you will learn in a good course.
Courses are best taken early in your learning cycle, and just before or during the time when you begin your work as a practicing DBA. Take a course too early, and it won't mean anything to you. You won't understand the material, and you'll forget quickly. When you then actually do some work, you will have to spend time relearning all the material that you forgot. Conversely, in my opinion at least, the value of any given formal training course drops of very quickly once begin to do actual work in the area covered by the course. An introductory course on SQL, for example, should be a great help if taken at the time you are first beginning to use SQL. However, if circumstances force you to learn by doing, you may find by the time you take the course that you've already mastered much of the material. For this reason, I usually steer people with any significant amount of experience towards a more advanced course. So if you've used SQL for six months and then have the opportunity to take a course, you will probably be better served by an advanced course, not an introductory one.
Formal training courses are available from several sources. Oracle Corporation is an obvious source, but there are other training vendors offering courses in Oracle database administration. Even many colleges offer courses that focus specifically on Oracle. When you choose training, try to do so with some sort of long-term plan in mind. If you want to be a DBA, you'll find a roadmap of basic courses on Oracle's training website that cover the Oracle DBA space. Take those courses, but also look around at other technologies in use where you are working, or where you want to work. If you expect to administer a data warehouse, look for additional courses that focus on that domain. If you expect to work in a distributed environment, a course on Oracle's replication features might be in order.
Realistically, it's rarely feasible for you to take all the courses that you need (or think you need) before you plunge into the real work of being a DBA. If you do have that luxury, by all means take advantage of it. Chances are however, that you'll have to supplement your formal training with some self-directed reading and experimenting. If you already have a job, your employer will likely throw you into the fire after sending you to only one or two courses. If you do not currently have a job as a DBA, and are paying for your own training, you likely won't have the money to take every course you want to take.
|
Sources for Web-based & Computer-based Training I've taken very, very few WBT and CBT courses during my career, so I have little basis on which to recommend favorites in terms of providers. Let me just share with you my two relevant experiences. In 1998, I tried to go through an Oracle-provided CBT course on the use of SQL and SQL*Plus. The course was rigid and inflexible in terms of the responses it expected from me, and it wasn't always correct. I knew the material well to begin with, which made the matter worse. Someone with less experience would have thought that they were wrong, not the course. I gave up in disgust. During late 1999 and early 2000, I developed several WBT courses for a company named DigitalThink. I came away with a very good impression of their courses, and I like the fact that any subjective exercises are graded by a human-being, and that you have a tutor available for questions. |
Web-based Training and Computer-based Training
What about web-based training (WBT) and computer-based training (CBT)? Computer-based training, especially the web-delivered variety, is an increasingly commonplace option in today's workplace. I'll focus on web-based training in this article, but everything I have to say applies equally to non-web, CBT courses. Web-based training is seen by many to have the following advantages:
- It's inexpensive in terms of per-pupil fees
- No travel is involved, so travel costs are nonexistent
- Workers can take the training in their off hours
- It's location independentcourses can be taken from anywhere
With the possible exception of location independence, the common theme here is that web-based training costs less than instructor-led training. For me personally, it's the same as reading a book. In fact, I'd much rather read a book than read a course on a computer screen. But that's a matter of personal preference. It is true that web-based training courses often offer a certain degree of interaction with a remote instructor. That may be just the edge you need. Web-based training courses also have specific exercises for you to do as part of the lessons. If those encourage you to actually do some work, and gain some experience, that's another plus. So in my humble opinion, the choice between a WBT course and a book is best made with respect to your personal learning style. If you prefer to curl up with a good book, then do that. If you prefer the structure, interactivity, and exercises that come with a WBT course, then by all means take the course.
Books and Magazine Articles
Reading represents an excellent way to add to your knowledge base. You can read books, magazines, and manuals. A good book brings to the table many of the same advantages of a good training course. You get the overview and foundational material that you need, and you are learning from someone with experience. Books have other advantages too. They are inexpensive, and you can read them on your own schedule. I can't say enough good things about reading. I especially want to emphasize the importance of reading manuals for the software that you use. The value that you get in return for the amount of money and time that you invest is tremendous. Many of my own personal career advances have come about because of my propensity to read manuals, and it's always amazed me that so many do not avail themselves of such a ready resource.
As new technologies become available, you'll tend to read about them first in magazines, and then in books. In comparison to books, magazine articles are short and quick to write. Magazines, especially vendor-sponsered ones such as Oracle Magazine, tend to focus their coverage on new products and new technologies. Find out which magazines, or periodicals if you prefer that more academic sounding word, cover areas of technology in which you are interested, and read them occasionally.
|
What are the Good Books? I can only answer this question for myself. Follow this link to books I recommend. |
Finally, get yourself a copy of the Oracle documentation set, and use it. I see countless questions on newsgroups that could be answered by a quick read of the manuals. Oracle's manuals are distributed in HTML format on CD-ROMs that ship with the media kits containing Oracle's product software. The manuals are also available on the Oracle Technology Network website. This has been the case for years now, and I still meet DBAs who have not set themselves up with ready access to the documentation. That's just inexcusable. If you're a DBA, or a DBA in training, set yourself up with access to the manuals and get familiar with them so that you can find information when you need it.
Websites
I don't have a lot to say here, though perhaps I should. There are plenty of websites out there that focus on Oracle. Some are updated frequently, some are not. Some are filled with a wealth of useful information, others are less so. I don't see websites as a learning tool so much as a resource for keeping up with the latest happenings in the Oracle world. Of all the web sites out there, I personally use the following three the most often:
- http://www.oracle.com
Oracle Corporation's website.
I visit Oracle Corporation's website occasionally just to keep up with the latest news and hype surrounding Oracle's database software. - http://technet.oracle.com
Oracle Technology Network
When I want in-depth information about new technologies, detailed product information, or access to some release of Oracle's documentation that I don't have at home on my CD-ROM, I'll visit the Oracle Technology Network (OTN). OTN also has some forums that I occasionally participate in, but it's usually all I can do to keep up with email lists and newsgroups. Web-based discussions are nice, but it's one more forum that I just don't have time for. OTN also has many software downloads available. You can download just about any Oracle product under the terms of Oracle's developer license. - http://www.ioug.org
International Oracle User's Group Americas
The International Oracle User's Group provides helpful tips, articles, news, and book reviews on their website.
There are many other websites out there dedicated to Oracle that you could visit. For PL/SQL programmers, Revealnet's website is one you should visit. Many Oracle authors host their own websites with varying amounts of helpful information. It's impossible to keep up with all the sites. Identify a few that interest you, and keep up with those.
Newsgroups and Talking
I'm going to lump newsgroup participation and talking with practicing DBAs under the same umbrella. Either way you are "talking" with fellow practitioners. Only the medium over which that communication takes place is different.
Talking with fellow DBAs, helping fellow DBAs, asking and answering questions, all combine to make you an active member in the larger Oracle community. You'll be able to learn from other DBAs, and draw on their experience. At the same time, you'll be able help people with less experience and knowledge as yourself. It's impossible to know everything about Oracle, and over time you'll find yourself developing specific niches of expertise. As you network with other DBAs, you'll find in many cases that their expertise enhances and complements your own.
The following is a list of Oracle newsgroups, including one email list, that you should be aware of:
- comp.databases.oracle.server A newsgroup focusing on Oracle's database server technologies.
- comp.databases.oracle.tools A newsgroup focusing on Oracle tools such as Developer, SQL*Plus, Designer, and so forth.
- comp.databases.oracle.misc A newsgroup for anything that doesn't fall into one of the other two categories.
- The ORACLE-L email list Jared Still's email list
The ORACLE-L email list is managed by Jared Still for Oracle database administrators. Any Oracle topic is fair game. To subscribe, send email to ListGuru@fatcity.com with the words "SUBSCRIBE ORACLE-L" in the message body. Jared's list is a wonderful resource. Many of the world's most knowledgable DBAs subscribe to it.
Newsgroups and talking do not make for a very structured approach to learning Oracle. Quite the opposite is the case. The choice and ordering of topics is very random, with discussions often focusing in on pinpoint problems and solutions. The huge gain is that you get the benefit of other people's wisdom and experience. The war stories that other DBAs recite will tell you many things that you need to know that aren't covered in the training courses, nor in the manuals.
Experience
Experience is the application of knowledge. More properly, it's what you end up with after you apply your knowledge. Experience is critical for a DBA, and there are only two ways that I know of to develop it:
- Work as a real-life DBA
- Practice
These two ways are really one and the same. The major difference lies in whether or not you are getting paid for what you are doing.
Working as a Real-life DBA
When it comes to experience, there's just no substitute for doing real work. This is also where many aspiring DBAs suffer from the chicken & egg syndrome. With no experience, how do you get a job that requires experience? The answer is to look for a DBA position where the cost of a mistake is minimal, or where have other, more experienced DBAs to back you up. You don't need to begin your DBA career by managing a multi-terabyte, 24x7, mission-critical database. There are plenty of gentler ways in which to start:
- You can manage a development or test database.
- You can work with a mentor who will coach you, and who will prevent you from making a major blunder.
- You can manage a small production database that is not mission critical
I got my start managing development and test databases in a DEC Rdb environment. I was able to step into that role because of the amount of manual reading and practicing that I had done on my own. When it came time to create a database for development, I was a natural choice because I was the most knowledgable person in my group about Rdb. That initial experience was my foot-in-the-door, and I can't emphasize enough the need to be prepared for such an opportunity. It was all the reading, experimenting, and practicing that I had done on my own that led to my being handed that initial opportunity.
Practicing DBA Tasks
Trial and Developer licenses of Oracle software are easy to come by. Trial licenses can be ordered from Oracle's online store for only a few dollars. Sometimes they are even bundled with magazines. Developer licensed software can be downloaded from the Oracle Technology Network website. If you want to be a DBA, take advantage of this. Get yourself a PC running Linux or Windows NT. Get copies of the Oracle database software. Install it. Then practice creating a database. Practice creating tables and other schema objects. Practice configuring Net8. Test out new features in new releases in order to keep up with the latest developments. Even experienced DBAs should do that, but many don't. There are certainly a few things about managing a large database with many users that you won't learn from managing a practice database on your workstation, but you will be pleasantly surprised at how much of that knowledge is transferable, and how far it carries you.
Conclusion and Bottom Line
Here's my bottom line. If you want to be a DBA, find one or two methods of acquiring knowledge that you are comfortable with. Take training courses, read books, whatever. Do what you can afford, and do what works. Then practice. If you can't practice in a real-life DBA position (we are all still practicing), then practice on your PC at home. Learn and experience as much as you can so that when an opportunity arises, you can seize it.