If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

 
Go Back  dBforums > Database Server Software > Oracle > Oracle in a team environment

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 02-07-10, 01:36
ziggyfish ziggyfish is offline
Registered User
 
Join Date: Feb 2010
Posts: 3
Oracle in a team environment

I work in a team of 5 people on an oracle database. The problem we have is that because we only have one dev database, if we modify the same package we overwrite each others work. At the moment we just scream across the room saying that you are making changes to that package, and no-one else is to have that package open until you have finished with the package. This can slow down development.

I was wondering whether anyone has had a similar problem and how you solved this problem?

Thanks
Reply With Quote
  #2 (permalink)  
Old 02-07-10, 02:46
anacedent anacedent is offline
Registered User
 
Join Date: Aug 2003
Location: Where the Surf Meets the Turf @Del Mar, CA
Posts: 6,151
__________________
You can lead some folks to knowledge, but you can not make them think.
The average person thinks he's above average!
For most folks, they don't know, what they don't know.
Reply With Quote
  #3 (permalink)  
Old 02-07-10, 03:08
ziggyfish ziggyfish is offline
Registered User
 
Join Date: Feb 2010
Posts: 3
We already use subversion for source control however it doesn't solve our problem of multiple developers changing the same package.
Reply With Quote
  #4 (permalink)  
Old 02-07-10, 03:18
anacedent anacedent is offline
Registered User
 
Join Date: Aug 2003
Location: Where the Surf Meets the Turf @Del Mar, CA
Posts: 6,151
Quote:
Originally Posted by ziggyfish View Post
We already use subversion for source control however it doesn't solve our problem of multiple developers changing the same package.
Then they are not checking in their changes

Package in DB should reflect only latest SVN changes.
__________________
You can lead some folks to knowledge, but you can not make them think.
The average person thinks he's above average!
For most folks, they don't know, what they don't know.
Reply With Quote
  #5 (permalink)  
Old 02-07-10, 03:31
flyboy flyboy is offline
Registered User
 
Join Date: Mar 2007
Posts: 510
Quote:
Originally Posted by anacedent View Post
Then they are not checking in their changes

Package in DB should reflect only latest SVN changes.
Anyway, developers shall unit test the changes in the database to minimize need of further rework (and assure package validity) between check out and check in.
For this case, we use separate user/schema for each developer. I see no problem in it.
Reply With Quote
  #6 (permalink)  
Old 02-08-10, 05:22
ziggyfish ziggyfish is offline
Registered User
 
Join Date: Feb 2010
Posts: 3
flyboy, Thats not a bad idea. However can you elaborate on a few things for me.

How do you keep packages consistent between each user/schema?

At the moment because we only have one dev schema, we don't really have any tools to update packages from subversion to oracle. we normally copy the code by handle into a checked out branch somewhere on the file system and the commit it.

What tools do you use? What tools do you recommend using?
How big is your team (is this scalable)?

Thanks, for you help.
Reply With Quote
  #7 (permalink)  
Old 02-08-10, 12:15
chuck_forbes chuck_forbes is offline
Registered User
 
Join Date: Dec 2003
Posts: 1,072
Is your shop opposed to checking out and then locking the file? We toyed around with the idea of allowing multiple people to check out the same file, and then merge their changes, but then we decided that would cause more harm than good.

Without checking out & locking a file from Subversion, you'll have to find another in-house methodology for coordinating a change.

- Maybe your PACKAGES are too large, and need to be split out into several smaller PACKAGES, where each person could check out one object at a time?


SQL Developer has a plugin for Subversion, but we haven't had a chance to use it yet.

--=cf
Reply With Quote
  #8 (permalink)  
Old 02-08-10, 12:30
flyboy flyboy is offline
Registered User
 
Join Date: Mar 2007
Posts: 510
Primarily, when the team is managed well, every developer is responsible for some area and rarely accesses packages "belonging" to other users. It might happen as there are dependencies among them. Conflict handling shall be treated by proper using of any revision control system, which is able to track source code branches made concurrently by developers. The most popular one is CVS, there are many other ones, e.g. the one from anacedent's link. The "file system" alone without this kind of tool is not a good choice for more than one developer.
Quote:
Originally Posted by ziggyfish View Post
How do you keep packages consistent between each user/schema?
Each developer may put the most recent package version into his schema everytime he needs. It is very easy for packages - just running the most recent version of all scripts. For other objects (tables, data), it is harder; but as we maintain scripts for their change on customers' sites, we use them for changing each developer's schema as well. Or, after some time, drop the entire schema and create it from baseline. Again, this depends on each developer's need. Well, he easily realizes from revision control system, who made which changes on the part he will be/has been working.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On