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.

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.
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.
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
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
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
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
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
Recovery starten
Job und Run werden angelegt, execute_recovery() startet asynchron mit Standardparametern (sysdate − 1 Tag, 4 Channels). Alles protokolliert, alles nachvollziehbar.
- 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.

Einblicke
So sieht Oracle Recovery UI aus.




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.
