Im Zuge der Umstellung des DATAWAREHOUSE von ORACLE auf SQL SEREVER 2005 ist die Notwendigkeit entstanden ein Releasemanagement einzuführen. Dieses wird bei uns in zwei Teile geteilt: Alles was mit der DB Struktur (neue Tabellen, Spalten etc.) zutun hat und alles was mit dem Ablauf der Befüllung des DWH‘s zutun hat.
Den ersten Teil beschreibt Rainer Stropek von der Firma CUBIDO in seinem BLOG sehr schön (http://www.cubido.at/Blog/tabid/176/EntryID/149/Default.aspx).
Der zweite Teil fällt in mein Aufgabengebiet!
Die Herausforderung besteht darin, soviel wie möglich (alles) automatisiert ablaufen zulassen. Zu diesem Zweck verwende ich die im Unternehmen bereits bestens funktionierende JOB SCHEDULING SOFTWARE UC4 und dessen interne Mittel wie DBUNLOAD, DBCHANGE und DBLOAD.
DBUNLOAD:
Mit diesem Tool wird alles was sich im TRANSPORTKOFFER (so was wie die ZWISCHENABLAGE unter Windows) eines bestimmten Mandanten (PROD, QA, DEV) befindet exportiert und in einer Datei gespeichert.
DBCHANGE:
Mit diesem TOOL können Änderungen an der durch DBUNLOAD exportierten Datei vollautomatisiert durchgeführt werden. Wie? Mit Hilfe einer Scriptdatei wird (einmal!) festgelegt welches ATTRIBUT mit welchem Wert durch einen anderen Wert ersetzt wird. (zb ATTRIBUT „Umgebung“ mit Wert „DEV“ wird durch den Wert „QA“ ersetzt).
Als Ergebnis entsteht eine neue Datei, was den Vorteil mit sich bringt, dass man immer nachvollziehen kann, was geändert wurde. Die Scriptdatei muss/sollte natürlich unterschiedlich sein auf der QA und der PROD. No na 😉
DBLOAD:
Welche Aufgabe hatt dann wohl das DBLOAD Utility? Richtig, DBLOAD lädt die geänderte Datei, in der gewünschten Umgebung (QA oder PROD).
Et voila, fast fertig ist ein automatisierter Releaseprozess unter UC4. Soviel zur Theorie. Was jetzt natürlich noch fehlt sind die einzelnen JOBS bzw. JOBPLÄNE die das oben erwähnte durchführen und im Fehlerfall via email alarmieren.