Oracle - Version control

Posted on 2007-07-29
Last Modified: 2013-12-18
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.

Question by:opengaming
    LVL 4

    Accepted Solution

    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.

    LVL 23

    Assisted Solution

    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.

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    PRTG Network Monitor: Intuitive Network Monitoring

    Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

    Suggested Solutions

    Title # Comments Views Activity
    SQL LOADER help 1 39
    How can I use listagg with distinct. 4 44
    Oracle SQL Syntax 8 40
    oracle query 15 56
    Working with Network Access Control Lists in Oracle 11g (part 1) Part 2: So, you upgraded to a shiny new 11g database and all of a sudden every program that used UTL_MAIL, UTL_SMTP, UTL_TCP, UTL_HTTP or any oth…
    Checking the Alert Log in AWS RDS Oracle can be a pain through their user interface.  I made a script to download the Alert Log, look for errors, and email me the trace files.  In this article I'll describe what I did and share my script.
    This video shows, step by step, how to configure Oracle Heterogeneous Services via the Generic Gateway Agent in order to make a connection from an Oracle session and access a remote SQL Server database table.
    This video explains what a user managed backup is and shows how to take one, providing a couple of simple example scripts.

    759 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    10 Experts available now in Live!

    Get 1:1 Help Now