Die Versionskontrolle (auch Source Control oder Revisionskontrolle genannt) ist die Verwaltung von Änderungen an einer Datei oder einer Reihe von Dateien.
Ein Versionskontrollsystem bietet zahlreiche Vorteile:
Ohne zentrale Versionskontrolle greifen Mitarbeiter häufig auf Notlösungen zurück, um über Änderungen an der Datenbank informiert zu bleiben. Dadurch kommt es immer wieder zu Unterbrechungen, bis alle denselben Stand erreicht haben. Manche Mitarbeiter arbeiten mit Backups und manuellen Wiederherstellungen oder entwickeln eigene fehleranfällige und kostspielige Lösungen.
Mit der Versionskontrolle kann Ihre Belegschaft schnell auf die neuesten Änderungen zugreifen und eigene vornehmen. Es lässt sich leicht nachvollziehen, wer was wann und warum geändert hat. Wenn es zu Konflikten kommt, können Sie die Unterschiede vergleichen, bevor Sie eine Änderung festschreiben.
Ohne Versionskontrolle kann eine Datenbankänderung leicht versehentlich zu einer überschriebenen Tabelle, einem Datenverlust oder einem Fehler führen, selbst in Projekten mit einzelnen Entwicklern, die eine einfache Datenbank ändern. Auch hier wird das Problem in einem größeren Team nur noch verschärft.
Versionskontrollsysteme verringern die Wahrscheinlichkeit von Katastrophen, indem sie den Entwicklungsprozess transparenter machen und helfen, Fehler frühzeitig zu erkennen. Treten Probleme auf, lassen sich Fehler leicht rückgängig machen, indem zu einer früheren Version zurückgekehrt wird.
Das fortführen einer bereits angefangenen Arbeit ist unter normalen Umständen eher langsam, denn die Entwickler müssen Zeit aufwenden, um den Code der anderen und den Stand der Arbeit zu verstehen. Bei großen oder verteilten Entwicklungsteams wird dieses Problem noch verschärft.
Indem Entwickler ihre Änderungen in einem Versionskontrollsystem dokumentieren können, können Teams den Verlauf eines Projekts leicht überprüfen und so viel schneller mit der Arbeit beginnen.
Viele Unternehmen sind verpflichtet, gesetzliche Vorschriften einzuhalten, darunter den Sarbanes-Oxley Act und das Statement on Auditing Standards No. 70: Service Organizations (SAS70). Datenbanken enthalten kritische Daten, so dass Compliance-Prüfer in der Regel verlangen, dass Unternehmen über jede Änderung an einer Datenbank Rechenschaft ablegen.
Durch die Kontrolle von Datenbanken über den Quellcode lässt sich Folgendes einfach umsetzen:
Mit Source Control for Oracle, Redgates Lösung zur Versionskontrolle, lässt sich Ihre Oracle-Datenbank direkt mit Git, SVN oder TFS verbinden. Das Tool speichert alle Änderungen am Datenbankschema automatisch und lückenlos – so wird die Einführung einer strukturierten Versionsverwaltung deutlich erleichtert.
Ein weiteres hilfreiches Tool ist Schema Compare for Oracle. Damit lassen sich Änderungen in unter Quellcodekontrolle stehenden Dateien vergleichen und gezielt bereitstellen. Praktisch zum Nachverfolgen von Änderungen, Zurücksetzen auf frühere Stände oder für kontrollierte Upgrades. Eine ausführliche Anleitung finden Sie in diesem Artikel.