Oracle - Version control

Hi all,

Can anyone recommend on a Source-control/Version-control tool they have experience with?

We are currently using TOAD's team-coding, integrated with Microsoft VSS, but only since we are not aware of any other means of keeping code history.

I am looking for anything that might be suitable  some piece of software, that helps keeping history of PL/SQL code, optionally helping to keep also history of table structure. This software might also be able to maintain multi-versions/branches, and also automatic Schema script generation.

Anything you know of would be great.

Who is Participating?
jtriftsConnect With a Mentor MI and AutomationCommented:
Not sure exactly what you mean in terms of "keeping a history". Most SCM (Source Control Management) tools will store the "delta" when making a change -- i.e. it stores the difference between successive revisions of a file.  Examples of this include good old Unix RCS, PVCS, CVS etc.

With CVS and PVCS for example, you can run a diff report between versions in a single archive, a version in the archive and on the file server, or in different archives.  When you make changes to code however, that is the time to be documenting what the changes are.  Ideally you put these into the version history comments when you check the object back into the repository.

Generally, with SCM tools though, you get what you pay for. Subversion, for instance is free to use are many versions of CVS interfaces -- but of course you won't get the support that you get when you pay a premium for example, when you license PVCS.

I don't know of ANY SCM tool that keeps track of table/schema type changes -- as this would need to be more "intelligent" than current SCM tools are. This is due to the fact that an SCM tool is generally software agnostic -- i.e. it does not understand the detail of underlying objects you are storing. To PVCS, what is the difference between a SQL script which creates tables, a PL/SQL script which creates a package/procedure/function, and a C# script? Nothing. It's all text (or in other cases, binary -- depends on the storage mechanism).  

That said, if you use a tool such as Oracle DEsigner, you can develop successive versions of design which CAN be versioned within its own repository and then you can generate the scripts which build the database (and its schemas) -- but still this doesn't meet your requirement.

Do you think you could explain a bit more about what you want, and WHY and WHAT such a feature list would offer you?  It could be that your question is for a more specific purpose and that we might be able to find an alternative to meet the *real* requirement.

DavidConnect With a Mentor Senior Oracle Database AdministratorCommented:
Something free, something easy, or something fast? <grin>
With 10g I love using DataPump to extract the DDL as metadata, and it can generate the re-create scripts automatically.  The poor person's approach to tracking package changes can be as simple as saving them them with a consistent date-time suffix.  We then track which version is in a release by means of a spreadsheet.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.