Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

Im sure this has been asked, but times change and so do SQL preferences etc... I figure this place would be the best place to ask this im sure many DBA's come here.

But what do I need to know starting off. Im graduating this December with my B.S. in Computer Science, I took two Database classes as well as built my own Database driven music store for one of them (it was basic, but worked well and looked quite nice).

Anyways Im not sure what Database most companies use. I know there is Mysql (but thats usually web stuff which im not interested in), Oracle , and then MS-SQL server, along with a few others.

The path for certifications seems to make MS-SQL server a tad easier (2008) and less expensive, Oracle seems quite....."wanted" as far as jobs go, but I also see my fair share of MSSQL too. Also....are the differences even THAT big? as far as actual coding goes. And how about the job market for a DBA? good? bad? seen better days? What should I be doing next to make sure I can land a decent job, whats the right path? Any answers are helpful answers!

thanks

share|improve this question
1  
What do you need to know? It depends. –  RateControl Oct 21 '10 at 20:30
1  
This may not be what you want to hear but what you do to be a good DBA, is take a job either as a junior to a DBA or as a general network admin in a place that makes heavy use of your db of choice. That's as important as any certification. Then learn as much as you can about everything - do you need to be an expert on SANs to be a DBA? No, but you do need a pretty good understanding of them to be a good DBA. And so on... –  RobM Oct 21 '10 at 21:23
    
Ya Im completely fine doing it as a Junior, I expect stepping stones. But I was mainly just concerned with getting to that first "step" –  Mercfh Oct 21 '10 at 22:23
1  
With student prices for some entry-level MS certs being about 1/2 off (look for exams starting 72 instead of 70, and be prepared to show student ID at the test center), that makes it a lot cheaper to get at least some of the certs. I have not found any student pricing for Oracle certs. –  Tangurena Oct 21 '10 at 22:48

3 Answers 3

up vote 6 down vote accepted

What do you need to know about databases to be a DBA? Everything (or at least most things, and where to look for answers to everything else).

Seriously though, there is always a market for good DBAs. If you want to become a good DBA the best advice I can give you is:

  1. If your "databases class" didn't get into the theory behind the relational model & relational algebra you may want to pick up a good book on the subject. Understanding the theory underlying the systems you aim to manage will be useful later in subtle and interesting ways.

  2. Design and implement some kind of database-backed system.
    You already did this, but you said the store was "simple" -- Expand on it.
    Load huge amounts of data into your system and see where the performance breaks down - then fix the problem.
    (In my experience as a DBA that will probably be your most common task: "X is slow. Make X not be slow.")

  3. Find a company that is looking for junior DBAs or junior administrators. Apply there.
    It doesn't matter what DBMS they're using (though if it's one you know or one you want to work with in the future that's great).

  4. Absorb as much knowledge from their DBA staff as you can.
    Ask questions. Sit in on design meetings. Bring the folks troubleshooting performance problems coffee and listen to their conversation.

  5. Take training/certification classes (especially if you can get work to pay for them!).
    While these aren't particularly useful without some real-world experience to back them up they often expose nooks and crannies of database systems that you may not see often in the real world. Many are also task-oriented, covering the common stuff like setting up database backups.

At some point in those 5 steps people will start asking you questions, or throwing problems at you and asking you to solve them. At that point you are a DBA (or at least a resource the DBAs trust enough to give work to with the expectation that you won't break anything :-)

share|improve this answer
    
Wow thanks for all your answers. Any suggested books? or anything I should be reading. I feel like Im fighting an uphill battle since i have no prior DBA experience. I've heard non-relational databases are the "new thing" is that true. Also....like actual query coding, how different is it between oracle and mssql (stuff such as update/insert/etc) –  Mercfh Oct 21 '10 at 21:19
1  
Look at the Oracle documentation set (available on the oracle site). It has some documenation targeted for the new DBA. I have found the queries are generally quite similar for systems usiing the same SQL standard. –  BillThor Oct 22 '10 at 1:47
    
If you're completely new to relational databases I'd take a look at the Michael Hernandez book "Database Design for Mere Mortals" as an easy introduction to the relational model (amazon.com/Database-Design-Mere-Mortals-Hands/dp/0201752840). I haven't read his other book, "SQL Queries for Mere Mortals", but I'd expect it to be pretty good. If you don't have a background in the business applications for databases you're not going to be much good as a DBA, so learning how to apply databases to solve real business problems is a good idea. –  Evan Anderson Oct 22 '10 at 2:26
1  
Another good book, is Thomas LaRock's book "DBA Survivor" dbasurvivor.com. –  RateControl Oct 22 '10 at 14:09
    
I can throw another voice behind "DBA Survivor". For academic background I like "Database Management Systems" by Ramakrishnan & Gehrke ("The Cow Book") as a good overview. –  voretaq7 Oct 22 '10 at 14:46

The major databases all have free versions available so you can explore and learn the differences yourself. The basic structure of inserts/updates/deletes is the same, but the specifics are different and the more advanced stuff you want to do, the more different they are, it seems.

Things you wont really want to learn, but will really make you good if you do learn them:

  • How to schedule backups and make sure they are working
  • How to restore from backups quickly and without overwriting everything
  • Working habits which help you avoid deleting data accidentally
  • Find slow queries / profiling
  • How to handle security in terms of logins, users, groups, connections from allowed IPs
  • Replication to other servers / clustering / failover (and then failing back)
  • As much as you can about client side connection strings and database libraries for different environments.

Downloads:

share|improve this answer
    
+1 for the list-o-things yo really need to learn. Pay special attention to backup/restore & replication - You don't know when you'll need these skills but when you do you better know them solid! –  voretaq7 Oct 22 '10 at 14:50

As you have rightly said there is basically 2 main ones your likely to come across with MS SQL Server being the more common in my experience as its relatively simple to administer in most cses.

Oracle is more of a learning curve as its does give you more scope to configure your system but does require a greater understanding to make it work efficiently.

In terms of Jobs, i would suggest looking for opportunities as a junior DBA in a small team of DBA's it will give you the chance to learn the ropes without being limited to a specific task(s).

There are differences between TSQL and PL/SQL so i would suggest you start with TSQL, only because your likely to come across it more often in small to medium sized company's

Finally remember, it doesn't what database you use, you need to get paranoid about data as its not about if you loose data only when and how much. So make sure you know the following inside out.

Backups; how and when. Transaction logging; the options, and how much data could potentially be lost. Check the Backups/transaction logs can rally be restored Check the health of you database. usage and resources required and know how to correct them.

Once you have these tasks down you can move onto other admin tasks and development work.

Finally try to avoid a mixed environment until you got some experience under your belt. The database do have some subtle differneces and trying to work those out while learning to be a DBA is one step to far in my experience.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.