Ablaufregeln

Resourcen

In Oracle Datenbanken kann verhindert werden, dass zu viel parallele Aktivität den gesamten Tempspace verbrauchen und dadurch Tasks durch die Datenbank abgebrochen werden. Um das zu verhindern kann man festlegen, wieviel maxiamler Tempspace in der Datenbank verfügbar ist. Für jede Task wird gespeichert, wieviel Temspace sie bei der Ausführung verwendet hat. Soll nun eine Task gestartet werden, wird überprüft, ob die Summe des Tempspacebedarfs der derzeit laufenden Tasks plus des Tempspaceverbrauches der letzen Ausführung den gesamte verfügbaren Tempspace überschreitet. Ist dieses der Fall, dann wird diese Task nicht gestartet.

Ausführungsreihenfolge

Die Transformationen werden nach folgender Reihenfolge ausgeführt (die Bewertung erfolgt in der angegeben Reihenfolge):

  • Priorität (siehe unten)
  • Laufzeit. Transformationen, die in der Vergangenheit länger gelaufen sind, werden früher gestartet
  • Laufende Nummer der Transformation (sqts_action_id)

Priorität

Einem Batchelement und auch einer Connection kann eine Priorität geben kann. Diese wird dann verwendet, wenn es mehr wartende Transformationen gibt als freie Prozesse. Transformationen mit höherer Priorität (= niedriger Nummer) werden dann vorgezogen.

Wenn man in einer Connection eine Priorität festlegt, dass erhalten die Tasks, die diese Connection verwenden, alle die gelcieh Proirität. Damit erreicht man im DWH, dass alle Tabellen einer Quellen etwa zur gleichen Zeit übertragen werden. Über unterschiedliche Prioritätren bei den jeweiligen Connections kann man steuern in welcher Reihenfolge die Daten geladen werden.

Da man mit Hilfe dieser Methode keine Abhängigkeiten schafft (d.h. anstelle von künstlichen Abhängigkeiten der Schichten), ist immer alles soweit verarbeitet, wie es die Abhängigkeiten zwischen den einzelnen Transformationen zulassen, auch wenn höher priorisierte Transformationen fehlgeschlagen sind oder von fehlgeschlagenen Transformationen abhängig sind.