By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
438,323 Members | 1,216 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 438,323 IT Pros & Developers. It's quick & easy.

Should developers have DBA role?

P: n/a
Hi. Our company has about 20 application developers/architects and one
certified dba. Our developers both design the databases and build the
applications. We're confused about what permissions a developer is
supposed to have. On the one hand, we obviously don't want developers
to have privileges like shutting down the db. On the other hand, some
of the Oracle tools, like Change Management Pack, are things that our
developers need to run. Our developers need to be able to compare and
synchronize schemas on a routine basis. Yet according to the oracle
documentation, Change Management Pack requires dba privilege. At the
same time, the oracle docs discuss how the tool can be used by
developers. So my question is: Does a developer typically have dba
access? If not, then what permissions is a developer supposed to have?
Is there any guidance, from oracle or elsewhere, on this issue? Any
help appreciated.

Larry
Jul 19 '05 #1
Share this Question
Share on Google+
5 Replies


P: n/a
larry wrote:
Hi. Our company has about 20 application developers/architects and one
certified dba. Our developers both design the databases and build the
applications. We're confused about what permissions a developer is
supposed to have. On the one hand, we obviously don't want developers
to have privileges like shutting down the db. On the other hand, some
of the Oracle tools, like Change Management Pack, are things that our
developers need to run. Our developers need to be able to compare and
synchronize schemas on a routine basis. Yet according to the oracle
documentation, Change Management Pack requires dba privilege. At the
same time, the oracle docs discuss how the tool can be used by
developers. So my question is: Does a developer typically have dba
access? If not, then what permissions is a developer supposed to have?
Is there any guidance, from oracle or elsewhere, on this issue? Any
help appreciated.

Larry

Larry,
You are talking about a development-database, right? In that case the
developers should have whatever privileges they need to do their job.
BUT that database is their responsibility meaning, if something goes
very wrong and the database is lost, they should be able to restore the
database from an export, cold backup or whatever. We are not discussing
a 24x7 database so a daily cold backup should be enough.

If this is a share developement-database then try to limit the number of
developers with DBA privs, ie. if only a few of the developers need to
run CMP then only that group should have DBA privs.

You _will_ need a test-database however, on this database no developer
should have DBA privs, same for integration and production naturally.
--
Hope this helps.

Michael Willer
Oracle & J2EE architect
Cyber Com Consulting a/s

Jul 19 '05 #2

P: n/a
sp**********@comjet.com (larry) wrote in message news:<66**************************@posting.google. com>...
Hi. Our company has about 20 application developers/architects and one
certified dba. Our developers both design the databases and build the
applications. We're confused about what permissions a developer is
supposed to have. On the one hand, we obviously don't want developers
to have privileges like shutting down the db. On the other hand, some
of the Oracle tools, like Change Management Pack, are things that our
developers need to run. Our developers need to be able to compare and
synchronize schemas on a routine basis. Yet according to the oracle
documentation, Change Management Pack requires dba privilege. At the
same time, the oracle docs discuss how the tool can be used by
developers. So my question is: Does a developer typically have dba
access? If not, then what permissions is a developer supposed to have?
Is there any guidance, from oracle or elsewhere, on this issue? Any
help appreciated.

Larry

my personal opinion is that it depends on the skill level and interest
in learning of your developers. Alot of very good developers have a
sound and firm understand of database administration. Having them work
closely with DBAs and giving them more access is the way to go.

Also, developers that are willing to learn and improve their DBA
skills should be given higher access. Those that are not interested in
learning should be given less access. Its really not all that black
and white. I think you and your DBA should decide which developers can
be trusted with access and which cannot.

I dont like shops that are strict enforcers of a seperation between
DBAs and developers since alot of tasks over lap. A good DBA should be
able to write PL/SQL and do development. A good developer should have
a firm understand of architecture and tuning. It depends on the
quality of your developers and more importantly their willingness to
learn.

Its also in large part dependent on how good of a communicator your
DBA is. Is he willing to help them learn? Its alot more work at first,
but Ive found that a DBA who is willing to impart alot of his
knowledge on people willing to learn is a DBA who ends up having an
easier job down the road.

Now by 'developer' what kind of developer are there? ARe they 'oracle
developers'? Or are they software engineers?
Jul 19 '05 #3

P: n/a
Ma*********@eds.com (Mark D Powell) wrote in message news:<26**************************@posting.google. com>...
Our location does not allow developers any create object privileges.
All requests for objects are submitted to the DBA even for test
systems.
That just isn't possible for us, resource-wise. 20+ developers, dozens
of production systems, one dba. What is your developer/dba ratio?

If the developers want to compare schemas they can diff the source code and table describes.
We tried that, but the diff output is not very helpful. You'll get
pages and pages of things that are "different" only because the schema
name is different, and that one column that has a different size just
doesn't stand out at all. Do you have any suggested scripts for
diffing, that can be run by a non-dba? We normally want to diff two
schemas with different names on the same instance, or two schemas with
different names on different instances.

The DBA has charge of the production source. The developers check the code out, modify it, and request the
DBA to apply the code to production.

What do you use for checkin/out?
HTH -- Mark D Powell --


It certainly does.

Larry
Jul 19 '05 #4

P: n/a
rg******@cox.net (Ryan Gaffuri) wrote in message news:<1e**************************@posting.google. com>...
I dont like shops that are strict enforcers of a seperation between
DBAs and developers since alot of tasks over lap. A good DBA should be
able to write PL/SQL and do development. A good developer should have
a firm understand of architecture and tuning. It depends on the
quality of your developers and more importantly their willingness to
learn.
Sounds reasonable to me, but I'm not sure I could sell that to the
organization. I think the current mindset is that the dba role is
called the dba role because it is only supposed to be assigned to
(certified) dbas.

Now by 'developer' what kind of developer are there? ARe they 'oracle
developers'? Or are they software engineers?


That's a good question. Most of them are software engineers with years
of experience on Sybase and/or Oracle. They do the architecture.
Ability really runs the gamut, some of them wouldn't know a foreign
key if it was on their keychain, and others do everything in 3rd
normal.

We're puzzling right now over what kind of training to give them. The
Oracle Developer training seems to be things like SQL and data
modeling, which they already know. The only other training seems to be
dba. Is it usual to send developers for dba training?

Thanks in advance.

Larry
Jul 19 '05 #5

P: n/a
sp**********@comjet.com (larry) wrote in message news:<66**************************@posting.google. com>...
Ma*********@eds.com (Mark D Powell) wrote in message news:<26**************************@posting.google. com>...
Our location does not allow developers any create object privileges.
All requests for objects are submitted to the DBA even for test
systems.


That just isn't possible for us, resource-wise. 20+ developers, dozens
of production systems, one dba. What is your developer/dba ratio?

If the developers want to compare schemas they can diff the
source code and table describes.


We tried that, but the diff output is not very helpful. You'll get
pages and pages of things that are "different" only because the schema
name is different, and that one column that has a different size just
doesn't stand out at all. Do you have any suggested scripts for
diffing, that can be run by a non-dba? We normally want to diff two
schemas with different names on the same instance, or two schemas with
different names on different instances.

The DBA has charge of the production
source. The developers check the code out, modify it, and request the
DBA to apply the code to production.


What do you use for checkin/out?
HTH -- Mark D Powell --


It certainly does.

Larry


Larry, The ratio has varied over time from 40 to 1 down to 12 to 1.
Most of the time the number is probably in the 15 - 20 to one ratio.
We have two Oracle DBA, one of whom (me) is also the backup IMS DBA.

We separate the functions because the developers have enough to worry
about: pro*c, plsql, visual basic, Oralce Forms, Oracle Reports,
customer requirements that it was felt that they should not have to
worry about tablespaces, available free space, table and index
parameters, and so on. The DBA will take care of where things go
based on a size estimate (initial load and monthly or yearly growth)
from the developer.

Also the new laws passed as a result of Enron, WorldCom etc... and
which the SEC is working on rules for has numerous provisons that may
well require more separation of responsibilites for all financial
related systems. The corporate financial process audit requirement
applies to how IT handles changes to the system, etc... But those
provisions are still in draft phase.

We use SCCS as our source repository. We front-end it with a menu
script that runs as its own id. This id is the only id with OS
permission access to the code. Developers can check DBA related code,
but only the DBA can check it in. The developer modifies the code and
submitts a request to the DBA to apply it.

I have no problem with giving developers the ability to create objets
in a development environment; however, the larger the shop the more
likely the developers will walk on each other's work. You have the
issue of one developer hogging space because he or she cannot work
with less than half the system worth of data so this works best when
space resources are not an issue.

I hope this gives you things to think about. No two shops are exactly
the same. How well letting developers do their own thing depends in
part on the quality and longevity of the people involved. Separating
functions helps maintain order and consistency as the developer
turnover increases. Having a 10 man shop where only 2 people are new
in 10 years is very different from a shop where 5 out of 10 are new in
the last 2 years.

-- Mark D Powell --
Jul 19 '05 #6

This discussion thread is closed

Replies have been disabled for this discussion.