It has always been my opinion, and the opinion of every Oracle based software house I've worked at that the DBA's roles are simple to define.
The DBA is responsible for:
- Ensuring the continued running of all databases under their supervision.
- Minimising the impact / time of any maintenance induced downtime of those databases.
- Minimising the risk of databases becoming unavailable for unplanned reasons.
- Minimising the impact / time of any unplanned downtime.
You may notice that I don't include in that list anything to do with development.
The DBA is not, and should not be regarded as a developer. That's not to say that any given DBA would not make a great developer. Many DBAs I've met would make great developers. Rather it's that the two roles are intrinsically different. You'll notice that my definition of the DBA roles are very similar to those of a second or third-line support team member. Most organisations involved in software that are large enough to have a dedicated support team would split the roles of support and development for everything other than the database. So why should the DBA and development roles be treated any differently?
Make a DBA a developer and you'll cost yourself development time whilst that DBA fixes issues on live systems that simply can't wait...
Technorati Tags: Oracle, DBA, software+development