Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.
Info

Dieser Artikel erklärt wie Sie ältere Datenbanken auf die neue Datenbank-Engine WiredTiger umstellen können.

...

  1. Stoppen Sie den FE2 Server Dienst

  2. Öffnen Sie eine Konsole als Administrator

  3. Navigieren Sie zu C:\Program Files\Alamos GmbH\FE2\files\scripts\

  4. Führen Sie das Skript backup.bat aus → Nun sollte eine Sicherung unter C:\ProgramData\Alamos GmbH\FE2\Backups\Aufgabenplanung erstellt worden sein

    1. Im Export-Fenster müssen mind. 129 Dateien kopiert worden sein. Falls nicht, gab es beim Export einen Fehler.

  5. Stoppen Sie nun den FE2MongoDB Dienst

  6. Öffnen Sie den Windows Explorer und navigieren Sie nach C:\ProgramData\Alamos GmbH\FE2\Config\database

  7. Löschen Sie nun alle Ordner und Dateien außer

    1. input

    2. objects

    3. relais

    4. vehicles

    5. Löschen Sie die Datei C:\ProgramData\Alamos GmbH\FE2\Backups\Aufgabenplanung\DATUM_DER_SICHERUNG\Config\db_access.aes

  8. Navigieren Sie nun mit der Kommandozeile im Admin Modus nach:

    1. C:\Program Files\Alamos GmbH\FE2\files\mongodb\bin

  9. Starten Sie die Datenbank manuell mit folgendem Befehl und schließen das Konsolenfenster NICHT:

    1. Codeblock
      mongod.exe --port 27018 --bind_ip localhost --dbpath "C:\ProgramData\Alamos GmbH\FE2\Config\database" --journal
  10. Öffnen Sie in Windows den Ordner C:\Program Files\Alamos GmbH\FE2\files\scripts\

  11. Ändern Sie die nachfolgende Zeile in der Datei restore.bat und speichern Sie die Datei

    • Codeblock
      Vorher:
      "%FE2_ROOT%FE2\files\mongodb\bin\mongorestore.exe" --username Admin --password %DBPW% --authenticationDatabase admin --drop --gzip --port=27018 %dirDatabase% 
      
      Nachher:
      "%FE2_ROOT%FE2\files\mongodb\bin\mongorestore.exe" --drop --gzip --port=27018 %dirDatabase% 
      
  12. Öffnen Sie eine NEUE Konsole als Administrator

  13. Navigieren Sie zu C:\Program Files\Alamos GmbH\FE2\files\scripts\

  14. Führen Sie nun in der Konsole das Skript restore.bat aus und übergeben Sie als Parameter den Ordner der vorherigen Sicherung (ersetzen Sie den Ordnernamen am Ende der Zeile durch den entsprechenden Ihres zuvor erstellten Backups). Achten Sie auf die Anführungszeichen bei der Pfadangabe!:

    • restore.bat "C:\ProgramData\Alamos GmbH\FE2\Backups\Aufgabenplanung\2021-07-16__17_30"

  15. Wenn dieser Schritt beendet ist, schließen Sie dieses Konsolenfenster

  16. Ändern Sie in der restore.bat die vorhin geänderte Zeile wieder auf den Ursprungszustand

  17. Stoppen Sie nun die vorher in Schritt 9 manuell gestartete Datenbank (Fenster schließen oder Strg+C drücken)

  18. Starten Sie anschließend den FE2 MongoDB Dienst

  19. Starten Sie anschließend den FE2 Server Dienst

  20. FE2 sollte nun wie gewohnt gestartet sein

...

Datensatz in Datenbanktabelle zu groß

Fehlerbild

MongoDB hat ein Limit von 16MB pro Datensatz. Ggf. kann es passieren, dass Datensätze wenige Kilobyte mehr benötigen. Dadurch ist aber ein Export nicht mehr möglich. Im Log erscheinen Meldungen, die z. B. BsonMaximumSizeExceededException beinhalten.

Lösung

...

Im Log des Exports bzw. in der mongolog-Datei ist die Tabelle mit dem betroffenen Datensatz ersichtlich. Hier muss dann entweder das Objekt der Datensatz manuell ermittelt und gelöscht werden oder es muss abgewägt werden, ob der Inhalt der Tabelle ohne Probleme gelöscht werden kann. Wenn z. B. die Einträge des Admin-Protokolls nicht benötigt werden, kann diese Tabelle einfach geleert/gelöscht werden. Wenn es sich aber z. B. um die Alarmtabelle handelt, ist es Ermessenssache. Ggf. kann hier in diesem Fall auch die in der FE2-Administration vorhandene Option, Alarme älter als X Tage zu löschen, hilfreich sein.

Fehler beim Export, Gesamtzahl Datensätze in Tabelle kann nicht ermittelt werden

Fehlerbild

Dies äußert sich beim Export dadurch, dass in der Konsole die Meldung “error getting count from db” erscheint und der MongoDB-Dienst gestoppt wird. Leider wird in dieser Meldung nicht direkt ausgegeben, welche Tabelle betroffen ist. Hier kann ein Blick in die mongolog weiterhelfen.

...

Dieser Unterschied führt zu dem genannten Fehler im Backup.

Lösung

...

  1. Löschen Sie die Datenbanktabelle, indem Sie die Tabelle “droppen”:

    image-20240821-151452.png

  2. Erstellen Sie anschließend die Tabelle mit gleichem Namen erneut:

    image-20240821-151526.pngimage-20240821-151604.png

  3. Importieren die zuvor exportierte JSON-Datei:

    image-20240821-151838.pngImage Addedimage-20240821-151924.pngImage Added