Zum Inhalt springen
← Zurück zu den Projekten

Projekt · Oracle-Infrastruktur neu gedacht

Recovery-Tests, die von selbst laufen.

Oracle Recovery UI ersetzt fragile Cron-Jobs durch eine vollwertige Web-Oberfläche – und SmartQ, das intelligente Pick-System, das selbst entscheidet, welche Datenbank als Nächstes getestet wird. Kein manuelles Einplanen mehr.

PythonFastAPIOracleRMANAutomationEnterprise
Oracle Recovery UI Screenshot
01

Das Problem

Oracle-Backup-Integritätstests laufen oft als Cron-Jobs im Hintergrund – ohne UI, ohne Live-Feedback, ohne zentrale Historie.

Wenn ein Recovery-Test fehlschlägt, merkt man es oft erst spät. Logs liegen verstreut auf dem Server, parallele Läufe kollidieren, und niemand sieht auf einen Blick, welche Datenbank zuletzt erfolgreich getestet wurde.

Für Umgebungen mit dutzenden Oracle-Instanzen braucht es mehr als ein Shell-Skript und einen crontab-Eintrag.

02

Die Idee

Recovery-Tests sollten wie jeder andere Betriebsprozess behandelbar sein: manuell auslösbar, planbar, nachvollziehbar und mit klaren Rollen.

Aber wer plant schon dutzende Datenbanken manuell ein? Feste Cron-Jobs decken kritische Systeme ab – doch dazwischen bleiben Lücken: Datenbanken, die seit Wochen keinen erfolgreichen Test hatten, während andere ständig laufen.

SmartQ schließt diese Lücke: ein intelligenter Auto-Scheduler, der freie Zeitfenster zwischen fest geplanten Jobs nutzt, Kandidaten nach smarten Parametern bewertet und selbstständig die nächste Datenbank pickt – ohne manuellen Trigger.

03

Die Lösung

Oracle Recovery UI ist eine FastAPI-Webanwendung mit LDAP/AD-Authentifizierung, rollenbasierter Steuerung und vollständiger Run-Historie inkl. CSV/Excel-Export.

Manuelle Recoveries mit Live-Log-Streaming, feste Cron-Schedules pro Datenbank – und SmartQ als autonomer Scheduler im Hintergrund: alle 15 Minuten analysiert es den Zustand aller Datenbanken und startet den optimalen Recovery-Test, wenn ein freies Fenster verfügbar ist.

Jede SmartQ-Entscheidung wird vollständig protokolliert und ist in der UI einsehbar – inklusive Kandidatenbewertung, Ausschlussgründen und Auswahl. Transparent, auditierbar, nachvollziehbar.

Highlight · SmartQ Intelligence Engine

SmartQ – Intelligentes Pick-System für Datenbanken

Kein manuelles Einplanen mehr. SmartQ entscheidet selbstständig, welche Datenbank als Nächstes einem Recovery-Test unterzogen wird.

SmartQ ist der automatische Scheduler innerhalb der Recovery UI. Er läuft im Hintergrund und füllt freie Zeitfenster zwischen fest geplanten Cron-Jobs – vollständig autonom, ohne manuellen Trigger.

Jede Datenbank kann per Flag für SmartQ freigeschaltet werden. Ab dann kümmert sich das System darum, dass sie regelmäßig getestet wird – basierend auf Laufhistorie, verfügbarem Zeitfenster und intelligenten Ausschlusskriterien.

  1. 1

    Aktiven Run prüfen

    Läuft bereits ein Recovery? Dann wird übersprungen – nur ein Test gleichzeitig. Die Entscheidung wird einmalig geloggt, nicht bei jedem Tick erneut.

  2. 2

    Freies Zeitfenster ermitteln

    SmartQ berechnet die Minuten bis zum nächsten fest geplanten Job. Ist das Fenster kleiner als 20 Minuten, wird abgebrochen – kein Recovery in zu engen Slots.

  3. 3

    Kandidaten laden & bewerten

    Alle Datenbanken mit smart_q und active werden geladen. Pro Kandidat: Tage seit letztem Erfolg, geschätzte Dauer aus Historie, konsekutive Fehlschläge. Bei 3 Fehlschlägen in Folge pausiert SmartQ die DB automatisch.

  4. 4

    Ausschluss & Priorisierung

    Ausgeschlossen werden: zu oft fehlgeschlagen, vor weniger als 30 Tagen bereits recovered, geschätzte Dauer größer als freies Fenster. Übrig bleibt der beste Kandidat.

  5. 5

    Recovery starten

    Job und Run werden angelegt, execute_recovery() startet asynchron mit Standardparametern (sysdate − 1 Tag, 4 Channels). Alles protokolliert, alles nachvollziehbar.

  6. 6

    Vollständiges Entscheidungslog

    Jeder Schritt landet in SmartQLog – inklusive Kandidatenbewertungstabelle, Ausschlussgründen und finaler Auswahl. Einsehbar unter /smartq/log für Operator und Admin.

SmartQ Intelligence Engine Dashboard

Einblicke

So sieht Oracle Recovery UI aus.

Oracle Recovery UI Dashboard
Dashboard – Übersicht aller Recovery-Aktivitäten mit KPIs und letzten Runs.
Neuer Recovery-Job Formular
Recovery starten – Zieldatenbank, RMAN-Template und Recovery-Zeitpunkt komfortabel konfigurieren.
Run-Detail mit Live-Log
Run-Detail – Metadaten, Exit-Code und vollständiges RMAN-Log-Output auf einen Blick.
SmartQ Intelligence Engine
SmartQ – autonomes Scheduling mit Entscheidungslog, Priorisierung und Audit-Trail.

Hinter den Kulissen

Tech & Insights

SmartQ Tick

Alle 15 Minuten via APScheduler (Europe/Berlin): prüft aktive Runs, ermittelt freies Zeitfenster, bewertet Kandidaten und startet den optimalen Recovery-Test.

Kandidaten-Scoring

Tage seit letztem Erfolg, geschätzte Dauer (Ø der letzten 5 Runs + 10 Min Puffer, sonst DB-Fallback), konsekutive Fehlschläge – jeder Kandidat wird vollständig bewertet.

Auswahl-Logik

Nie-recovered-DBs zuerst, dann am längsten überfällige; bei Gleichstand kürzeste geschätzte Dauer. Ausschluss bei <30 Tagen seit Erfolg, zu langem Fenster oder 3 Fehlschlägen in Folge.

Audit-Trail

Jeder Tick landet in SmartQLog: Grund, Kandidatenbewertung, Auswahl oder Abbruch. Log-Ansicht der letzten 200 Entscheidungen für Operator und Admin.

Live-Logs

WebSocket-Streaming der RMAN-Ausgabe ins Browser-Terminal – inkl. Reconnect nach App-Neustart und Resume laufender Jobs.

Stack

Python, FastAPI, SQLAlchemy, APScheduler, Bootstrap 5, HTMX – LDAP-Auth, Jinja2-Templates, systemd + Nginx mit WebSocket-Passthrough.

Problem erkannt. Lösung gebaut.

Oracle Recovery UI ist ein echtes Produkt – aus einer konkreten Idee.