Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

At work we're using Oracle and C#/ to handle a customer's website, this site is very large-scale so the database is very large.

We use Perforce for our version control, and tack create or replace scripts to FogBugz cases whenever a database change, which has been fine until now, as we are now at a point where five developers are working on five expansions for the system, each on a seperate Perforce branch. Unfortunately, we cannot get duplicate databases, due to the database size, so everyone is still working from the same one. This is obviously a cause of problems: only ten minutes ago we had a bit of an issue where a stored procedure change for a branch propagated over to the Pre-Production server and caused a large number of crashes for the testers. Ideally, we would like a way to track these changes without having to manually keep track of them through FogBugz.

My question is: how do you lot handle this situation? I'm sure there must be a good way by now to handle versioning, or at least tracking changes, in an Oracle database.

share|improve this question

11gR2 has introduced the concept of Editioning for code, if a database upgrade is feasible.

Is your data schema the same as the code schema ? It can be a good idea to separate them. That way you can have the same set of database tables, but different sets of code schemas. Then one project can be using one code schema and another can use a second schema.

As long as you are bound to a single set of data, then you will have restrictions. If one project expects a single character value, but another is expanding it to two characters, you can expect problems.

share|improve this answer
I'd +1 this if I had the rep, as it's a decent suggestion, however we are using 11gR1 and cannot feasibly upgrade (downtime agreements etc.). I'm not positive about what you mean regarding the code schema (my use of oracle terminoligy is slightly malnutritioned), but I get the feeling that this would not work with my situation: We have just (yesterday) hit a point where a column needs to be added to a table, which could cause issues if someone hasn't used named columns in their queries. – Ed Woodcock Jan 29 '10 at 9:44

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.