cancel
Showing results for 
Search instead for 
Did you mean: 

Blue Prism Datenbank Wartung

Die Blue Prism-Datenbank ist eine wichtige Komponente jeder Blue Prism-Umgebung. In der Blue Prism-Datenbank werden Benutzer, Anmeldeinformationen, Prozesse, Objekte, Elemente der Work-Queue, Logs und Audit-Informationen gespeichert. Es sollte daher nicht überraschen, dass die Sicherstellung einer leistungsfähigen und gut gewarteten Datenbank für den Erfolg einer Blue Prism-Umgebung entscheidend ist. Dennoch sehen wir viel zu oft Blue Prism-Implementierungen mit einer weniger gut gewarteten Datenbank. Dieser Beitrag ist als allgemeine Anleitung zu den Grundlagen der Blue Prism-Datenbankwartung gedacht.

Backups

Die wichtigste Aufgabe eines DBAs ist es, die Daten seines Unternehmens zu schützen. Das bedeutet, dass er nicht nur für die Sicherheit seiner Datenbanken sorgen muss, sondern auch dafür, dass seine Datenbanken gesichert werden und nicht beschädigt sind. Das gilt auch für die Blue Prism-Datenbank. Sie muss unbedingt gesichert werden. Ihr DBA sollte die verschiedenen Wiederherstellungsmodelle und Sicherungsarten auswendig kennen, wissen, wie sie verwendet werden, was sie bewirken und wann sie durchgeführt werden sollten. Bei der Planung einer Blue Prism-Implementierung raten wir unseren Kunden immer, ein Wiederherstellungsziel (Recovery Point Objective, RPO) und ein Wiederherstellungszeitziel (Recovery Time Objective, RTO) für die Plattform zu definieren. Was also sind RPO und RTO?

RPO - Der Zeitpunkt, an dem Sie Ihre Daten nach einem Ausfall wiederherstellen können. Dafür nutze ich eine Frage: "Welche Daten können Sie ohne Probleme verlieren?"

RTO - Die Zeitspanne, die Ihnen nach einem Ausfall zur Wiederherstellung Ihrer Daten zur Verfügung steht. Die Frage hierfür lautet: "Wie lange kann die Plattform während der Wiederherstellung nicht verfügbar sein?".

Sobald Sie diese beiden Messgrößen kennen, können Sie einen entsprechenden Sicherungs- und Wiederherstellungsplan implementieren. Es ist zum Beispiel nicht sinnvoll, nur eine tägliche vollständige Datenbanksicherung zu machen, wenn Ihr RPO eine Stunde beträgt. Schätzen Sie mal, was das bedeutet? Mit einer täglichen vollständigen Sicherung beträgt Ihr RPO 24 Stunden!

Bei der Erstellung eines Sicherungs- und Wiederherstellungsplans für die Blue Prism-Datenbank ist es wichtig, die folgenden Punkte zu berücksichtigen und umzusetzen.

Definieren Sie sowohl RPO als auch RTO

Verwenden Sie das FULL-Recovery, um Voll-, Differenz- und Transaktionsprotokollsicherungen in Übereinstimmung mit Ihrem RPO zu ermöglichen.

Nutzen Sie die Optionen WITH CHECKSUM und VERIFYONLY für alle Backups, um die Sicherheit zu erhöhen, dass das Backup gültig ist und bei Bedarf wiederhergestellt werden kann.

Nutzen Sie die Option WITH COMPRESSION, um Speicherplatz zu sparen und die Zeit zu verkürzen, die für die Sicherung und sogar die Wiederherstellung der Datenbank benötigt wird.

Dokumentieren Sie den Sicherungs- und Wiederherstellungsprozess

Testen Sie Ihre Backups

Es kann nicht genug betont werden, wie wichtig der letzte Punkt ist. Das Testen von Backups, und damit meine ich nicht die Verwendung der Optionen CHECKSUM und VERIFY, sondern das tatsächliche Testen, indem man sie irgendwo wiederherstellt, ist die einzige Möglichkeit, sicher zu sein, dass ein Backup funktioniert. Stellen Sie sich vor, Sie sind für die Daten eines Unternehmens verantwortlich, haben einen Sicherungs- und Wiederherstellungsplan, der die RPO- und RTO-Anforderungen erfüllt, und müssen dann nach einem Ausfall eine Datenbank wiederherstellen, nur um herauszufinden, dass Sie das nicht können, weil Ihre Sicherung beschädigt ist!

 

Indexpflege

Die meisten Tabellen in der Blue Prism-Datenbank sind Log Tabellen, d. h. sie sind nicht statisch, sondern werden im Laufe der Zeit häufig geändert. Wenn Sie normale Blue Prism-Vorgänge ausführen, Prozesse erstellen, Releases importieren, Zeitpläne ausführen usw., fügt die Blue Prism-Anwendung Daten in diese Log Tabellen in der Blue Prism-Datenbank ein und ändert sie. Bei diesen Vorgängen kommt es zu einer Fragmentierung in den Indizes, die der SQL Server zum Lesen der Daten aus den Datenbanktabellen verwendet. Eine Indexfragmentierung tritt auf, wenn die logische Reihenfolge der Indexseiten, die auf dem Indexschlüsselwert basiert, nicht mit der physischen Reihenfolge in der Datendatei übereinstimmt. Die Indexfragmentierung ist in transaktionalen Datenbanksystemen unvermeidlich und führt, wenn sie nicht beibehalten wird, zu einer unnötigen Erhöhung der erforderlichen Festplatten-E/A-Vorgänge. Im Fall von Blue Prism dauert es länger, bis die Anwendung die Ergebnisse an den Client zurückliefert, und die Prozesse brauchen letztlich länger, um zu laufen.

 

SQL Server bietet mehrere Optionen für die Defragmentierung von Indizes, insbesondere die Neuerstellung von Indizes und die Reorganisation von Indizes. Microsoft rät, dass Indizes mit weniger als 30 % Fragmentierung reorganisiert werden sollten, während Indizes mit mehr als 30 % Fragmentierung neu erstellt werden sollten.

 

Die Indexpflege ist der Schlüssel zur Leistung einer Blue Prism-Lösung und sollte nach den folgenden Richtlinien durchgeführt werden.

  • Führen Sie die Indexpflege regelmäßig durch, nachts, wenn möglich, mindestens wöchentlich.
  • Führen Sie die Indexpflege in ruhigeren Zeiten durch, zum Beispiel in den frühen Morgenstunden, um die Auswirkungen auf den Betrieb zu verringern.
  • Reorganisation oder Neuaufbau von Indizes auf der Grundlage der oben genannten 30 %-Schwelle
  • Aktualisierung der Statistiken als Teil der Indexpflege
  • Führen Sie die Indexpflege nach Möglichkeit vor einer vollständigen Datenbanksicherung durch.

  

Integritätsprüfungen

Die Überprüfung der Integrität einer Datenbank ist äußerst wichtig, und auch hier bildet die Blue Prism-Datenbank keine Ausnahme. Sie wollen so schnell wie möglich wissen, ob Ihre Datenbank beschädigt ist, damit Sie Korrekturmaßnahmen ergreifen können. Eine Datenbeschädigung kann dazu führen, dass Ihre Benutzer falsche Daten erhalten, dass Abfragen fehlschlagen oder dass sogar Ihre gesamte SQL Server-Instanz offline geht. Eine Beschädigung kann jederzeit auftreten und durch ein Problem im SQL Server, ein Problem mit Windows oder ein Problem mit Ihrem Speichersubsystem verursacht werden. In extremen Fällen kann eine Beschädigung zu Datenverlusten führen. Erinnern Sie sich, dass weiter oben erwähnt wurde: "Die wichtigste Aufgabe eines DBAs ist es, die Daten seines Unternehmens zu schützen" - wenn Sie Daten aufgrund einer Beschädigung verlieren, haben Sie sie nicht geschützt. Wenn Sie also keine regelmäßigen Integritätsprüfungen durchführen, keine Prüfsummen für Ihre Backups verwenden und Ihre Backups nicht verifizieren und testen, dann laufen Sie Gefahr, Daten zu verlieren.

 

Auch hier bietet uns der SQL Server die Möglichkeit, die Integrität unserer Datenbanken mit DBCC CHECKDB auf einfache Weise zu überprüfen. DBCC CHECKDB prüft die logische und physische Integrität aller Objekte in der Datenbank und führt dazu mehrere Operationen durch, auf die hier nicht näher eingegangen werden kann. Um die Integrität der Blue Prism-Datenbank zu gewährleisten, ist es wichtig, die folgenden Punkte zu beachten und umzusetzen.

  • Führen Sie DBCC CHECKDB regelmäßig aus, idealerweise täglich, mindestens aber wöchentlich
  • Führen Sie DBCC CHECKDB vor Ihrer Datenbanksicherung aus, damit Sie sicher sein können, dass Ihre Sicherung konsistent ist
  • Ziehen Sie in Erwägung, die letzte Sicherung auf einen anderen Server zurückzuspielen und DBCC CHECKDB gegen diese Sicherung laufen zu lassen. Damit schlagen Sie zwei Fliegen mit einer Klappe: Sie haben Ihre Sicherung getestet und Integritätsprüfungen gegen sie durchgeführt
  • Denken Sie daran, dass Log Shipping, Database Mirroring und Always On Availability Groups die Notwendigkeit, DBCC CHECKDB auszuführen, nicht aufheben
  • Vergewissern Sie sich, dass Sie verstehen, wie schwerwiegend eine Beschädigung sein kann und wie Sie geeignete Maßnahmen ergreifen können, wenn sie auftritt

Die gute Nachricht ist, dass es für Backups, Indexpflege und Integritätsprüfungen eine Wartungslösung in Form von Ola Hallengrens SQL Server Maintenance Solution gibt. Die SQL Server Maintenance Solution umfasst Skripte zur Durchführung von Backups, Integritätsprüfungen sowie Index- und Statistikwartung für alle Editionen von Microsoft SQL Server ab Version 2008 bis einschließlich 2019. Die Lösung basiert auf gespeicherten Prozeduren, wurde für die meisten geschäftskritischen Umgebungen entwickelt, ist vollständig dokumentiert und vor allem kostenlos.

 

Archivierung

Die Blue Prism-Datenbank ist eine Betriebsdatenbank und keine Berichtsdatenbank. Daher sollten alle nicht wesentlichen Daten, die für den täglichen Betrieb benötigt werden, archiviert werden. Eine der häufigsten Ursachen für Leistungsprobleme ist eine nicht vorhandene Datenbankwartung. Die Archivierung muss vom ersten Tag an in Angriff genommen werden, d.h. um Leistungsprobleme zu vermeiden, müssen Sie eine Archivierungsstrategie als Teil Ihrer Bereitstellung implementieren.

 

Session Logs können direkt über die Blue Prism-Systemeinstellungen archiviert werden

Registerkarte System → System → Archivierung

 

Die produktinterne Archivierung hat zwei Archivierungsmodi

  • Automatisch - ermöglicht die Archivierung in regelmäßigen Abständen ohne Benutzereingriff
  • Manuell - Der Benutzer muss bei Bedarf manuell archivieren.

Die produktinterne Archivierung bietet dem Benutzer zwei Optionen

  • Exportieren - Exportiert die Daten in einen Ordner
  • Löschen - Löscht die Protokolle, ohne sie zu exportieren

Es ist auch sehr wichtig, dass mehrere andere Datenbanktabellen regelmäßig gewartet werden, indem unwichtige Betriebsdaten entfernt werden, d.h. Tabellen mit Daten, die sich auf Folgendes beziehen.

  • Prozess-Historie
  • Work Queues
  • Zeitpläne

Derzeit können diese zusätzlichen Tabellen nicht über die Blue Prism-Schnittstelle archiviert werden, jedoch können TSQL-Skripte auf Anfrage beim Blue Prism Global Customer Support zur Verfügung gestellt werden. Diese Skripte können als geplante SQL Server Agent-Aufträge implementiert werden, um regelmäßig historische Daten aus diesen zusätzlichen Tabellen zu "bereinigen", in der Regel in Zeiten geringer Systemauslastung, z. B. abends, an Wochenenden und in größeren Blue Prism-Implementierungen während einer vollständigen Systemabschaltung.



------------------------------
Ricardo Ullbrich
Partner Solution Consultant
BluePrism
Europe/Berlin
------------------------------
1 REPLY 1

ritansh.jatwani
Level 9
Good stuff !!

------------------------------
Ritansh Jatwani Senior Consultant
Consultant
EY
Gurgaon
*If you find this post helpful mark it as best answer
------------------------------