A DBA is expected to know the basics of database administration, but to be successful, proficiency in more advanced database administration is required. Read on to learn the top 5 skill areas for the advanced DBA.
Complacency. Although it's nice to be comfortable in a job, isn't what you do more interesting or exciting when you are a bit challenged? Of course, the challenge can feel overwhelming when you're staring disaster in the face, and those are always good character building experiences, but let's assume you already have enough character development.
You worked hard to become an Oracle DBA, but the truth of the matter is this: your career and job security can be at risk (or limited) if you become complacent in your job. It's not enough to be “just” an Oracle DBA anymore. You're expected to know the basics of database administration, and the norm these days include being adept in one or more areas I'll call advanced database administration, and that's the focus of this article: what are the top 5 skill areas for the advanced DBA? Take a look at Oracle DBA jobs on a job board and see what employers are looking for. The job descriptions (partial listing) shown below are typical.
The successful candidate will be well versed in the administration of Oracle Database 10g and 11g, Oracle Real Application Clusters (RAC), RMAN, streams, and ASM.
The candidate is required to have hands-on experience with implementation, administration and usage Oracle Real Application Clusters and Oracle Enterprise Manager Grid Control. Experience with support and administration of Oracle e-Business Suite 11i technology is a plus.
Current practical experience with RMAN, PL/SQL, Oracle Enterprise Manager, Oracle 9i/10g, RAC, DataGuard/Standby, Streams, Grid Control, and DB performance tuning tools (PerfStat, AWR) is required.
These areas are based on my own opinion. There are a fair number of other candidates (a named programming language, Grid Control, WebLogic Server, .NET, shell scripting, a reporting tool) worthy of consideration, but the line had to be drawn somewhere.
1. Real Application Clusters
RAC is everywhere, even if it isn't needed, and a lot of times it really isn't, but who wants to be left behind in terms of using the coolest technology on the block? Along with RAC comes ASM (Automatic Storage Management). ASM can be used outside of RAC, but the two often go hand in hand. The number of nodes isn't a critical factor. Experience with a 2-node RAC architecture is practically the same as using a 3-node setup. And to add another RAC option into the mix, you can also use Oracle Real Application Clusters One Node. Companies small and large (more found here than not) use RAC, and you can pretty much count on a good percentage of job openings to list RAC as a desired or required skill.
It's not just data with high availability, but data available everywhere. Streams is, or at least was, the big name when it comes to replication. Streams is being supplanted by GoldenGate. It's not a lost cause to get up to speed on Streams as many companies use it and it will be several years (I predict) before Oracle GoldenGate is as prevalent as Streams is today. The statement of direction for GoldenGate states:
Given the strategic nature of Oracle GoldenGate, Oracle Streams will continue to be supported, but will not be actively enhanced. Rather, the best elements of Oracle Streams will be evaluated for inclusion with Oracle GoldenGate.
Current customers depending on Oracle Streams will continue to be fully supported, and Oracle Streams customers should continue using the feature wherever it is deployed today.
Data is everywhere (and protected)
What is going to help GoldenGate's acceptance is its key role in Fusion Middleware. GoldenGate relates to Data Guard, Active Data Guard (the 11g new feature where a physical standby has read-only access), Streams, and Oracle Data Integrator (ODI, which is the up and coming replacement for Warehouse Builder). Even if you are not using GoldenGate today, chances are you're using a related product or something that will eventually be tied to or coupled with it.
Recovery or more precisely, disaster recovery, is a hugely critical part of companies being able to maintain business continuity. Disaster recovery can be looked at as cold site or hot site. If you have backups written to tape, and those tapes are transferred to another location, then the time involved for recovery could be extensive (cold site). If your data is mirrored to another site (hot site), almost instantaneously, your recovery time approaches something close(r) to zero, and that is what Data Guard (standby database) provides.
In addition to knowing basic backup and recovery, the advanced DBA is going to need skills (and experience) in Data Guard. More than likely, whatever experience you're going to have or acquire with this feature is going to be limited to one of the two types of standby: physical and logical, with physical standby being more and more attractive for a variety of reasons. One of those reasons has morphed into Active Data Guard. The benefit of off-loading reporting to another server speaks for itself.
You don't need to be a UNIX admin, but having those skills certainly helps. Leaving the actual hardware part of this area aside, what you do want to be up on is the operating system and what you can do with it. Specifically, virtualization being very popular today, is only going to become more popular. The Oracle RDBMS works well with several virtualization applications. A couple of VM choices include Oracle VM and VMware. If you look at Solaris, you can virtualize an operating system using ZFS. If you are dealing with Windows servers and SQL Server, you can practically count on using virtualization.
Virtualization offers you the ability to make changes to the OS on the fly, or close to it. A momentary bit of downtime allows you to change key OS aspects such as memory and CPUs. Even on my MacBook (this article written in a Windows 2003 Server environment), the change to Oracle in terms of managing RAM and number of CPUs takes less than a minute. The virtualization approach, plus instance caging in RAC One Node, makes resource management almost trivial.
On top of administering the Oracle RDBMS, how about another RDBMS? Not meant to be a slight to other systems, but the only two of interest here are SQL Server and MySQL. If I had to pick one, it would have to be SQL Server. Aside from the fact that it too is widely used, GoldenGate (prior to Oracle Corporation's acquisition of Silver Creek) is used with SQL Server for the same reasons the Oracle RDBMS now does or can. Another motivator for learning SQL Server database administration has to do with being able to get a job as a SQL Server DBA. SQL Server DBA jobs don't tend to pay as much as Oracle DBA jobs, but what the hey, a lower paying job is better than no job if you happen to find yourself out of your Oracle gig.
Wasn't someone saying that database administration was becoming easier? You could easily spend a year of on the job exposure to each of the five areas I mentioned, and with some of them, still be a relative neophyte in terms of expertise. Sure, there are aspects of database administration which have become easier, but at the same time, many of the surrounding and related tools, features and technologies have become more complex. Like Jimmy Dugan (Tom Hanks) says in A League of their Own: “It's supposed to be hard. If it wasn't hard, everyone would do it. The hard... is what makes it great.” That about sums up Oracle.