Wednesday, May 29, 2013

The path to becoming an Oracle DBA

For those of you keeping count, this is the third article that I have written on this basic topic. As with the second (written less than a week ago) this one was born of a question sent to me by a reader. He just completed a Computer Science degree and obtained his OCA in the Database Administration track. Ultimately he wants to be an Oracle database administrator. However, right now he has a job offer from a company using Oracle's Enterprise Resource Planning application. He asked whether I thought that taking this position would help him to be closer to his goal in five years. Would it help him to gain experience with Oracle that could help him to get hired as a DBA? Alternately would it have a negative effect, moving his career further from the administration track?

Barring some sudden influx of wealth (winning lottery ticket anyone?) careers tend to last a really long time -- forty to fifty years. Every job you have during your lifetime will move you along that path. However, you have to provide the steering. If you do nothing except the work required by the position you are currently in, there is nothing to provide direction that could shift your career to a new path. If you are not in a job you want to have in five years, then this is a problem.

Working with Oracle ERP would not have been my first suggestion for a job to gain experience that would lead to a DBA position. The commonality between the two is not hugely significant. That said, you would be working in an environment using the Oracle database. Depending on the company, you might well have contact with the DBA that supports the database. Also, there are job postings that specifically request DBAs that have experience with Oracle systems running specific applications. In a few years you might become the DBA for a company running Oracle ERP. If you decide to work for the company, see if they will pay for the Oracle hands-on training required to earn your OCP certification and/or for the certification exams. There are many ways that you can use a job to advance your career in the direction that you would like. It is your responsibility to find those opportunities and make use of them.

Above I indicated that a job working with ERP would not have been my first suggestion. I should expand on that. Otherwise it is almost certain that someone will ask, and I will be writing about it anyway. I would generally suggest that becoming an Oracle developer, either in PL/SQL or in Java, would be the best 'first-Oracle-job' for someone looking to become a DBA. Applications such as ERP that run on top of Oracle interpose an interface between the user and the database. Users may never log directly in to the database to view the low-level objects that are maintained by DBAs. However, developers that work with PL/SQL or Java will be working directly with tables, views, and other low-level objects. They will almost certainly be exposed to a great deal of SQL as well. The normal routine of people in these jobs will gain them more experience that is directly relevant to the work of a DBA. In addition, there are many companies that specifically hire DBA-Developers when they need both skills. Because developers have a much lower level of privileges in a database than administrators (unless the database is being run by a very bad DBA), it is easier to get a developer position without having significant real-world experience. The bottom line is that a bad DBA can destroy the database while a bad developer can only damage it (and a good DBA would be to repair that damage). While working as a developer, you still need to look for opportunities to direct your career towards administration, but they will be a more natural extension of your job.

If you have just graduated and are entering the workforce, essentially any employment can provide at least some assistance towards becoming a DBA. Even if a job has no relation to the Oracle database, it can help you pay your living expenses while you learn more about the Oracle database, gain more certifications, and watch local job listings for a position that will move you a step closer to your ultimate goal. There is no one that can (or should) do more to guide your career than you.