Gerhard Wandl, Österreich, office@wandl.at


Software-Entwickler in Oracle

Meine Erfahrungen mit der Oracle-Datenbank:

Mit Oracle kam ich erstmals 1998 in Kontakt, als mein ehemaliger Lehrbetrieb, auf Grund der Jahr-2000-Problematik, von der IBM AS/400 (im S36-Modus) auf eine Alpha Server mit DEC-Unix und eben einer Oracle-Instance darauf, umstellte. Zu dem Zeitpunkt nutzt ich noch eine 4GL Sprache, welche in dem ERP-System integriert war, um mit der Datenbank zu kommunizieren. Lediglich die Anlage der User erfolgte mit SQL. Zu dem Zeitpunkt war es noch Oracle 7. Zu dem Zeitpunkt war ich noch viel mehr von dem Digital Equipment-Server beeindruckt, als dass ich realisieren konnte, dass diese, eher versteckt im Hintergrund laufende, Oracle-Datenbank meine Zukunft wird.

Hier habe ich in der 4GL-Sprache Programme zur Datenmanipulation geschrieben bzw auch bestehende Programme des ERPs angepasst ("Customizing").

Im Jahre 2004 begann ich im REWE-Konzern, zuerst noch als Systembetreuer für die Filial-Warenwirtschaft im Ausland. Hier war Oracle auf einmal mein "daily business", die Filialen sind alle mit Oracle 9i-Datenbanken ausgestattet und der Support (meistens die Ermittlung und Korrektur fehlerhafte Daten und dessen Ursache) bestand grösstenteils aus SQL- und/oder PL/SQL-Operationen in SQL-Plus auf Linux (ohne GUI - alles ASCII über Telnet-Verbindungen). Zu der Zeit wurde begonnen vorsichtig von Oracle 9i auf Oracle 10g umzustellen. Als Systembetreuer war ich jedoch nur eine Art 2nd-Level-Support für die Kollegen im Ausland und durfte im Regelfall selbst keine Manipulationen an den Daten vornehmen (wobei wir das dennoch oft machten). Eingriffe in die Programme waren jedoch wirklich kein Thema. Wir durften nur analysieren und schickten den Entwicklern die Resultate (oft auf die Zeile des falsch laufenden SQL-Statements genau, mit der Erklärung, warum das dort nicht stimmt). Als Entwickler im Herzen nervte es mich, diese Fehler nicht selbst gleich korrigieren zu dürfen, daher wechselte ich nach knappen 2,5 Jahren selbst in die Software-Entwicklung der REWE.

2006 war ich also endlich ein Software-Entwickler für Oracle. Von der übersichtlichen Warenwirtschaft in der Filiale, wechselte ich nun zum DataWareHouse, wo Oracle 10g Standard war. Das neue Mass an dem zu verarbeitenden Datenvolumen war wirklich interessant. Wurden in der Filiale nur wenige hundert Datensätze an Artikelstammdaten bewegt, so wurden im DataWareHouse mehrere Millionen Datensätze an Umsatzdaten aus allen Filialen umgewälzt und verarbeitet. Nochmals interessanter wurde es, als ich die anfangs sehr rustikalen Programme des GIS (Geografisches-Informations-System) überarbeiten durfte. Hier wurden Standorte mit den Oracle SPATIAL-Funktionen vermessen und verschiedene Einzugsgebiete berechnet. Durch die enormen Datenmengen waren Indexes, partitionierte Tabellen, Index-Organized-Tables und gute Statistiken äusserst wichtig für den immer brauchbarer werdenden cost based optimizer und die wahre Herausforderung der Arbeit. Im DataWareHouse kam ich auch mit Oracle Forms 6i in Berührung, allerdings sehr wenig. Das Entwickeln und Tunen von SQL-Scripts und das Automatisieren der grafischen Reports (Business Objects) war doch weit mehr mein Thema.

Seit 2014 entwickle ich für den Metro-Konzern. Hier anfangs noch Oracle 10g, mittlerweile 11g, aber einem komplett anderen Umfeld. War im DataWareHouse der REWE Performance die absolute Priorität (man verzichtete zB gerne auf FOREIGN KEYs um der Datenbank die Last dieser Prüfungen zu ersparen), ist es hier die Datenintegrität. Eine Tabelle ohne FOREIGN KEY wird man hier selten antreffen und Verarbeitungen von Massendaten existieren nicht. Stattdessen jede Menge an PL/SQL-Cursors, Triggers auf Tabellen und Packages, welche die Daten zusätzlich prüfen und verarbeiten. Zusätzlich wird auch noch viel in Oracle Pro*C entwickelt, jemals davon gehört?

Egal im welchen der Unternehmen, für die Entwicklung wurden oft die selben Tools verwendet: Text-Editoren für SQL, PL/SQL und andere Script-/Programmier-Sprachen, SQL-Plus um SQL-Scripts auszuführen und zusätzlich Toad um bequemer (mit GUI) durch das DataDictionary von Oracle zu "browsen".

Copyright © 1996-2020 Gerhard Wandl / § Impressum