Skip to Main Content

Breadcrumb

Question and Answer

Connor McDonald

Thanks for the question, John.

Asked: November 05, 2012 - 5:36 pm UTC

Last updated: September 08, 2016 - 5:47 am UTC

Version: 11.2.0

Viewed 10K+ times! This question is

You Asked

Tom,

Is it just me or does doing the "typical DBA" tasks like installing, patching, backing up, checking backups, monitoring databases, creating users, checking space and other mundane tasks get boring after doing it for a few years? In the first few years, it was cool since everything was new to me.

Now, 10 years later, only about 4-8 weeks per year are devoted to cool stuff like resolving performance problems and restoring data. I stay up to date with the latest Oracle technology, but I only get to use a small percentage of it and I get to use setup only a few times.

Tom, please advise on how one can get away from doing the typical DBA work to doing other types of DBA work that aren't seen by the industry as DBA tasks like PL/SQL coding, data modeling, creating solutions with APEX, taking on web server tuning, etc.?

If you never worked for Oracle corporation, what type of role do you think you would have? If you were expected to only do the "typical DBA" tasks, how you would handle it?

Thanks for your advice.

and Tom said...

I cannot answer that - for you see, I've never ever been a DBA. I'm a developer/DBA.

types of DBA work that aren't seen by the industry as DBA tasks like PL/SQL coding, data modeling, creating solutions with APEX, taking on web server tuning, etc.?

sorry to burst your bubble on this one - but - those are *developer* tasks, not DBA tasks. DBAs don't write code, developers do.

I've never been a full time DBA because I've never been interested in that aspect of the job. I like to code - to solve things with SQL/plsql/etc.


If you never worked for Oracle corporation, what type of role do you think you would have?

the role I had - database software engineer was my job title prior to Oracle. I wasn't a DBA, I was a developer - but a developer that never wrote any user interface stuff (I didn't like that part). I did the back end bits, the database interface.


It sounds like you might have the wrong job - you seem to want to be a software developer, not a production DBA anymore...


Rating

  (11 ratings)

Is this answer out of date? If it is, please let us know via a Comment

Comments

It is unfortunate...

A reader, November 06, 2012 - 10:47 am UTC

...but most industry does not understand DBA job roles. Every job requirement that posts DBA role has SQL and PL/SQL development as mandatory requirement.

Recently, a DBA job posting caught my eye. They wanted Oracle DBA capable of writing shell scripts, .Net code, JAVA code, PL/SQL code. I am not kidding here. Sometimes when I read these job postings, I cannot figure out whether to laugh or cry. It seems like they have money to hire one person and they want some kind of all-in-one superman.

To the OP: If it helps, I can share my experience as a DBA. Yes, DBA job does get boring after some time. I have known people who are working as production DBAs and they practically sleep throughout the day. The system is up and no one wants anyone to mess with the working system. They just baby-sit the database.

After you are in a place long enough, you know everything that can go wrong with the database. You can fix things in minutes instead of hours. You do few weeks of real work in a year. I am also in the same boat. Either change job (if you like to stay a DBA) or change career path (go from DBA to something else). Maybe have your current place acquire newer servers, do version upgrades, implement new technologies but all of these require money and most places do not spend money unless they see some return.

never get tired of it

Doug, November 06, 2012 - 5:59 pm UTC


>monitoring databases, creating users, checking space and >other mundane tasks get boring after doing it for a few >years?

I have been a Prod and Dev DBA since 1991, never get bored with it. I automate everything so doing all the mundane tasks takes no effort at all which lets me concentrate on the more interesting work.




I agree with Doug

Lenny, November 07, 2012 - 7:24 am UTC

Completely agree with Doug on this one. Automate as much as you can, then spend the rest of your day on the Ask Tom site learning new things ... even Tom admits to learning something new each day about Oracle. Unless you're admitting you know everything there is to know about Oracle, then skip this part.
To me, being a DBA is very much like being a fireman. You basically sit around all day until a fire happens; but in-between the fires there is a lot of training and staying on top of your game.
You could also have some fun and mess with your colleagues. Grab a bunch of loose papers and folders and walk quickly up and down the halls whispering to yourself "this can not be happening ... it's just not possible!" then if someone asks what is going on, look at them like you have no idea what they're talking about. That definitely won't be mundane.

i don't agree with your vision of dba role

yc, November 07, 2012 - 9:29 am UTC

Sorry but i don't agree with your point of view tom: DBAs don't write code..

I think there is a room for this kind of dba, especially when most of developers doesn't know anything about DataBase technology.
I see a lot of value for company having people who have both skills :)
And i have worked in this kind of role as a DBA.

Tom Kyte
November 07, 2012 - 11:34 am UTC

I call that kind of DBA a developer/DBA (that is me by the way, that is what I call myself - I could be a DBA but I don't want to, I'm a developer that understands the database)

A DBA that can code circles database wise around a developer isn't a DBA, they are a developer/DBA.

I think of Jonathan Lewis as a DBA/Developer.

Then there are just DBA's
And then there are just Developers.

it takes all four (although you can sort of think of DBA/Developers and Developer/DBAs as being sort of the same)

More musings on this:


http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:4030395004528

http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:14039738984108

http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1203121100346216025

Totally agree with YC

OB, November 07, 2012 - 10:28 am UTC

Tom,
Don't get me wrong, but i can't imagine any usefull dba not having to write code. I consider sql, pl/sql coding, sql tuning stuff being part of any DBA position.

Have you ever though about having to write complex procedures regarding partition management, migrating automatically from a partitioning model to another one better suiting new requirements ? All this with hundreds of thousands of partitions and online in order to minimize downtime. Do you really think a developper can do this without touching the DBA side ?

How many coders do you think have a very very good understanding of what they consider as being a black box ?
You might say they should not consider it as a black box. Well, this is not in real life. In real life, software developpers have lots of stuff to do with their own language and they usually require help. So from who do you think this help will come from ?

I entirely disagree with the splitting view you provide about DBA & Developpers.
Tom Kyte
November 07, 2012 - 11:37 am UTC

see above...


Have you ever though about having to write complex procedures regarding
partition management, migrating automatically from a partitioning model to
another one better suiting new requirements ? All this with hundreds of
thousands of partitions and online in order to minimize downtime. Do you really
think a developper can do this without touching the DBA side ?


I never said, have never said, will never say that a developer shouldn't understand the database.

but just because they do doesn't make them a DBA.



Let me just say this:

if someone hires a DBA and expects them to write code - they have made a mistake. Can some DBA's put together some stuff for things like partition management and the like? sure. Does that make them a programmer? no, not really.

Define DBA - define Developer

Kim Berg Hansen, November 08, 2012 - 4:06 am UTC

Consider the DBA and Developer skill sets:

    DBA       DEVELOPER
    SKILLS       SKILLS

 0: X X X X X X X X X X
 1: X X X X X X X X X O
 2: X X X X X X X X O O
 3: X X X X X X X O O O
 4: X X X X X X O O O O
 5: X X X X X O O O O O
 6: X X X X O O O O O O
 7: X X X O O O O O O O
 8: X X O O O O O O O O
 9: X O O O O O O O O O
10: O O O O O O O O O O


If we need to define DBA and Developer as just two sets of people, anyone below 5 is a DBA, anyone above 5 is a Developer (and 5 is the general-purpose solve-anything guy working in a small shop where he needs to take care of everything ;-)

Personally I am mostly Developer - but I understand sufficient about the database to help me write better code, I know enough DBA skills to help decide if a bitmap index will help my application, and in a pinch I can kill a session or add a datafile if a true DBA is unavailable in an emergency. I'd put myself about 8.

Tom says he is a Developer/DBA - he is very sharp at developing great code but has also very good DBA skills. Let's put him at about 6.

Jonathan Lewis as a DBA/Developer knows the innards of the database like his own pocket but can also write a good piece of SQL - he'd probably be about 3-4 on the scale.

A 0 DBA can't do any SQL - that is not realistic. A 10 Developer treats the database as a black box - he is equally dangerous for your system.

A big shop with many DBAs and many Developers would probably have people on all levels from 1 to 9 - specialists in either end of the scale for special tasks, more general purpose people near the center of the scale to make daily life work and glue the system together well.

A smaller shop would probably do well to try and hire DBA/Developers and Developer/DBAs rather than the specialists.

A DBA/Developer around 4 would have skills to write great SQL but chiefly concentrated on code solving his DBA tasks - he would not be expected to do advanced model clause analyses for a report.

A Developer/DBA around 6 would do the model clause analyses and also know how best to write a query that takes advantage of partition elimination - he would not be expected to write the SQL for automatic partition creation.

In my opinion everyone needs at least some skills both from the DBA and the Developer world. But some would fit better as a 7 on the scale and some better as a 3. Some tasks are better solved by a 2 guy and some are better solved by an 8.

It takes all kinds to run this world ;-)
Tom Kyte
November 08, 2012 - 8:29 am UTC

It takes all kinds to run this world ;-)


yes! agreed

Chuck Jolley, November 08, 2012 - 3:21 pm UTC

I'm a 5.
Be prepared to look away from that fancy sql/plsql you are writing to change a toner cartridge or (I am not making this up) explain to the office worker that her computer seems to not be working due to the stack of papers sitting part way on her keyboard pressing a bunch of keys at once.
On the other hand I also get to pick the server equipment and set it up too.
Good times, good times.

don't be frustrated

Oracle Developer/DBA, November 08, 2012 - 10:28 pm UTC

If you are not satisfied with what you are doing at your current company, you can choose to leave. There is so much to learn for a DBA. If you feel you are not growing at your current company, find a new employer.

Before I became an Oracle DBA, I was a developer (oracle developer as well) for 8 years. I did a lot of programming using C, C++, Oracle SQL, PL/SQL, Java, shell scripting, of course, all with Oracle as the backend database. While I was a develoer, I also learnt a lot about Oracle database, read lots of Oracle documents, Oracle books, including gurus like Tom and jonathan lewis. I noticed that I knew a lot more about Oracle than most Oracle DBA's I came across.

Then I decided to switch to the DBA field. When I started to look for a DBA job, my developer background seemed a disadvantage because my job title never had "DBA" in it. However, I did land a DBA job. And I did not let my employer disappointed. I turned out to be a pretty good DBA. After 3 years of DBA work at that company, I joined another comany that uses more and different Oracle techologies. This time my previous developer background became a strong advantage for me looking for a DBA job. Working for different companies and experiencing different things broaden your vision and open your mind. Now it's been a few years in my second DBA job.

I never feel bored being either developer or DBA. Having skills in both fields really benefits my career. Like Tom, I literally learn something about Oracle everyday. That is joy.

Oracle DBA

Justin Mungal, December 10, 2012 - 11:03 pm UTC

To the OP, it sounds like you do indeed have a typical DBA job, at a typical corporate firm. The lack of challenge, technology exposure, and stimulus you're feeling are a disadvantage of such a position.

Putting the quibbles of job titles aside (as many "DBA" positions posted expect knowledge of coding... rightly so in my mind), I think that perhaps you are in the correct line of work, just not working for the right firm.

I suggest that you investigate working for a consulting firm or some kind of other technology specialist. A firm that has many clients. This way, you avoid working on the same environment, and same problems, day in and day out. With sufficient experience, you could eventually open a firm of your own.

developer for a while

naji yahya hassan yousif, September 06, 2016 - 10:50 am UTC

Hi tom

I have seen in your web site some advice for the oracle DBA beginner you are telling that the successful DBA is one who was developer for a while , can I know the fresh graduate person for how long he need to be developer before he start to learn about the data base administration , how long experience does he need as developer ? .

thanks

September 06, 2016 - 4:12 pm UTC

You don't *have* to be a developer before becoming a DBA. But it can help. Either way, there's no fixed amount of time for this.

I've met people one year into a job with more "experience" than people 10 years in.

Why? Because they've pushed themselves to learn more, stay up to date and figure out how things work.

So how long will it take? Well, it depends upon how hard you're willing to push yourself!

Don't pidgeon hole any job...

Pete, September 08, 2016 - 3:43 am UTC

I have been blessed to mostly work in small shops over the years, mostly as a contractor working for someone else. What I found is that in order to do the job I was hired to do well, I had to know a fair amount about the job next door as well.

For example: I started my career as a developer, but found that in order to do that well I had to know a fair amount about how the database worked. Next think I know I'm a DBA. Turns out what I learned as a developer about writing code helped me be a better DBA because I could create better automation. Then it turns out that to be a really good DBA I also needed to understand something of the operating system and storage arrays the database runs on, and the network. Pretty soon I was a system/network administrator. What I knew about being a DBA helped me be a better sysadmin because I could scope/scale hardware more accurately and configure it more properly for database use. The progression of jobs continued through a couple more layers, but now I'm back to being a production support DBA and I find that all of those other things continue to make me better at that as well: I can converse intelligently about system and network configurations when working through a tech refresh of our infrastructure, build an infrastructure that is highly available and secure on a shoestring budget, monitor and tune my databases and manage storage with ASM, run backups, install patches, create users, and advise developers on security and performance considerations because I have all of those other experiences to draw on.

While opportunities to expand your job role may be harder to come by in a large shop with more separation of duties, my advice would be to always be on the lookout for ways to improve the way you can perform your particular job responsibilities - through new automation, enhanced monitoring or new tools, introduction of new hardware server configurations or technologies like SSD storage, or whatever else you can think of. Aim for somewhere in that 4-6 range of the previously mentioned DBA/Developer scale and it is hard to go wrong. Never ever accept that "this is the way we've always done it" and you'll never get bored.
Connor McDonald
September 08, 2016 - 5:47 am UTC

Excellent input. Thanks for taking the time to provide it.