You’re a developer and its 10:30 am and you have just sat down from getting your second cup of coffee. Your boss comes out of her office and says that she needs to see you. Your mind goes to a bunch of possibilities, most of them are bad. She tells you that the DBA has quit and she needs you to step up and become the new DBA. Now what do you do? What you need is some advice for the new Oracle DBA!

While I did make it a bit dramatic, this was actually very similar to what happened to one of my mentors. My story is not as dramatic. My company did not have a DBA, my manager handled the responsibilities along with everything else he did. I was interested in becoming a DBA so I kept asking my boss questions to get an idea of what he did to manage the databases. He saw my level of interest and helped me to become the first DBA at the company.

 

This blog post will be first part of a series on advice to become a DBA. It will have a huge slant towards the Oracle database because that is what I work with daily. It may not be very technical in the beginning, but there will be technical aspects and some hands on activities.

 

What is a DBA and what are the responsibilities?

This is the definition of a database administrator, according the US Bureau of Labor Statistics:

Database administrators (DBAs) use specialized software to store and organize data, such as financial information and customer shipping records. They make sure that data are available to users and are secure from unauthorized access.”

These are the core responsibilities of a DBA, but the full list of responsibilities will vary from company to company and seniority level of the DBA. In most places the DBA is responsible for the installation of the database software, the creation of the database and the tablespaces that store the database objects (tables, indexes, etc.). These are parts of the physical database. There is also a logical portion of the database. The logical database refers to the database objects: the tables, indexes, stored procedures, functions, etc. Depending on the company, the DBAs may be responsible for the creation of these objects or they will run scripts that are created by developers. These scripts create or maintain the objects in the database. It all depends upon where the lines of responsibility are drawn.

Where do I begin?

It depends. If you are taking over for someone who is leaving, you want to gather as much information about the environment as possible. Even if it doesn’t make sense right now. Get the information before that person leaves. After that, or if it is not a critical situation, start looking for information and education opportunities!

 

Ask your manager about attending Oracle Education classes. I would recommend starting with these classes:

Even though 11g is still supported, it is heading towards the end of support and most of what you learn in 12c will still apply to 11g. At a bare minimum, you should attend Oracle Database 12c: Fundamentals for Developers and System Administrators. If you are able to get the training classes or not, one of the first places you will want to go is the Oracle online documentation.

 

Oracle Documentation

The Oracle documentation is available online. The first document that I would read is the Oracle Concepts Guide. As the titles suggests, it will teach you about the concepts of the Oracle database and how all of the pieces tie together and work. It includes some syntax but it is really there to give you a fundamental understanding. Even if you have been working with Oracle for years as a developer, you will want to read this.

 

Next, I would move to the 2-Day DBA Guide this will give you the hands on, step by step work to reinforce what you learned in the Concepts Guide. The guide is not written for a particular OS but it does point out where something is different between the OS platforms. It also has links that will point you to the OS specific installation guide, which you should read. Windows is usually the easier platform for someone who is starting out because most people use or have used a Windows-based PC. It also does not have large amount of OS changes before you install Oracle.

 

The Case for Virtualization

Even if you are comfortable with the OS and installing on your local machine, I would suggest looking into using software virtualization like Hyper-V, VMWare or Virtualbox. The biggest advantage to using virtualization software is the ability to quickly roll back the environment in times of severe trouble. Personally, I use Oracle’s Virtualbox as my virtualization platform. I use it because I do a lot of testing with Oracle Real Application Clusters (RAC) and creating shared disks with Virtualbox is easier.

 

I need to build a new, portable, test environment that will run on my laptop. My next post will step through the installation of Virtualbox and the creation of a test machine.