I also work as a DBA for development team. We have maybe 14
developers, testers, and analysts (I lose count). Here is
how I have things setup:
- Two instances (not tablespaces), one for developers and
another for testers. Actually, we have more. There are two
developers using Personal Oracle, two special-use instances
for specific types of testing, and our client's test and
production instances.
- Each developer has their own user-id on the development
instance, with the ability to create their own tables if
they like. None of our developers do this.
- There is a seperate user that holds all the tables for
the project. No one develops using this user-id, but all
developers know the password and can log onto it. All
developers share this one set of tables.
- Developers have a lot of latitude on the development
database. If they need tables modified, indexes created,
constraints, etc they have two choices. They can email me,
or they can do it themselves. What they do depends on how
much of a hurry they are in, what mood they are in, and how
much they like to fool w/Oracle.
- When a change is made the developers MUST notify me. Once
or twice a week, I encapsulate changes into an SQL*Plus
script and blast them out to all the other instances. The
developers aren't allowed to modify instances other than the
development instance. I also update the ERwin data model.
- Even though they aren't supposed to change the TEST
instance, our developers DO have the ability to do so. This
is partly because I could only push control so far, and
partly because saw no great benefit from pushing for more.
I'm not always available, and can't be a bottleneck to the
project. The risk is that some changes might get made to
both instances, I won't know about them, and consequently
they won't get propogated to the client site when we deliver
versions of the software. This has happened on occasion, but
we are very satisfied with the risk/reward tradeoff here.
The developers I work with are very good about following
procedure, and we do testing at the client site to verify
the installation.
- My management doesn't support rigid access control
anyway. Everyone in the practice has physical access to the
machines, and can easily go around almost any security that
I setup. Depending on who did what, there would be no
negative consequences for doing so. I once had someone
decide over christmas vacation that they were going to move
an instance to another physical machine. She had actually
started work on this project before i found out!
We have three developers on one project, and four working on
another. These are pretty small groups, so we can afford to
be a bit less rigourous than a larger organization could be.
I really make an effort to give the developers everything
that they ask for, and i do everything that I can to make
their work easier. In return, they have been very good about
keeping me in the loop and following procedures. As I said,
we have had very, very few real problems.
I would make the following recommendations to you:
- Try to keep control of the TEST instance. One person
should really be responsible for all changes to it.
- You may want to ask your developers if they would prefer
sharing ONE development instance, as opposed to five
seperate databases.
- I think you are confused when you use the term
"tablespace" in your note below. A tablespace loosely
equates to a set of operating system files where Oracle
stores tables. Giving each developer their own tablespace
doesn't buy you much. Giving them each their own user-id
would. Even better to give them a totally seperate database
instance.
If you have any questions, please feel free to email me.
regards,
Jonathan Gennick
On Wed, 03 Jun 1998 18:04:41 GMT, akrighjb_at_my-dejanews.com
wrote:
>One of my responsibilities is Dba for a Development Team.
>
>There's about 5 Developers on the team I'm supporting
>and initially I created a tablespace for each team member
>to create their objects and work within.
>
>This is a development instance that has a tablespace in which
>they are not suppose to create objects within only test
>their programs (stored procedures) against. Lets call this
>tablespace TEST with objects in it owned by TEST.
>
>I've tried to educate them on the Oracle Architecture.
>What I've told them is they can copy tables from the TEST
>to their tablespace and run their programs. And then when they;re
>ready compile/run they're procedures as TEST.
>
>I created a role called DEVELOPER and I've been adding
>privileges to the role as I get "I CAN'T DO THAT BECAUSE
>I KEEP GETTING INSUFFICIENT PRIVILEGES". The
>role now is just short of DBA.
>
>What I'm looking for is peoples input on how to be a DBA
>for a development project. Experiences, how to setup and
>manage, politics, and whatever knowlege you can provide
>for this position.
>
>Thanks
>John
>
>
>-----== Posted via Deja News, The Leader in Internet Discussion ==-----
>http://www.dejanews.com/ Now offering spam-free web-based newsreading
Received on Wed Jun 03 1998 - 19:58:41 CDT