Geöffnete Datenbanken komprimieren
Herzlich Willkommen!/Tipps & Tricks/Geöffnete Datenbanken komprimieren

Geöffnete Datenbanken komprimieren

Bei Dokumentlöschungen in Domino Datenbanken wird der gewonnene Speicherplatz zwar für neue Datensätze verwendet, es bleibt jedoch immer etwas "Luft" – der sogenannte "White Space" – übrig. Daher sollten alle Datenbanken zyklisch komprimiert werden. Im laufenden Betrieb des Domino Server gelingt das aber nicht mit allen Datenbanken.
 

Wo liegt das Problem?


Bei Datenbanken, die durch den Domino Server selbst dauernd geöffnet sind (z.B. names.nsf, also das Domino Verzeichnis) funktioniert das bei laufendem Server leider nicht - zumindest nicht mit den Parametern "-c" oder "-B", welche auch tatsächlich die Größe der Datenbank reduzieren.
Der COMPACT-Befehl terminiert beim Datenbanken komprimieren in beiden Fällen mit einem entsprechenden Hinweis.
notion image
Der Befehl "load compact" an der Domino Konsole
 

Geht das trotzdem irgendwie?


Ja. Sie müssen den Domino Server beenden und dann den compact-Task von der Kommandozeile des Betriebssystem heraus aufrufen.
Folgende Anweisungen gelten für das Betriebssystem Windows.
 

Welche Schritte müssen ausgeführt werden?


  1. Beenden Sie den Domino Server (z.B. 'quit' an der Domino Konsole)
  1. Öffnen Sie auf Betriebssystemebene ein Kommandozeilen Fenster
  1. Wechseln Sie in das Domino-Programmverzeichnis (nicht ins Data-Verzeichnis)
  1. Tippen Sie den Befehl 'ncompact.exe names.nsf -c' ein
  1. Falls danach gefragt wird, geben Sie das Passwort der Server-ID ein
  1. Sobald der Vorgang abgeschlossen ist, werden Details zum zurückgewonnenen Speicherplatz (= Verkleinerung der .nsf Datei) ausgegeben.
 
⚠️
Falls auf Ihrem Domino Server die Transaktionsprotokollierung aktiviert ist, sollten Sie beim Compact-Befehl mit den Parametern '-c' und '-B' vorsichtig sein. Die komprimierte Datenbank erhält dann eine neue DBIID (Datenbank Instanz ID) - das kann Auswirkungen auf Ihr Backup haben. Details zu diesem Punkt finden Sie in der Hilfe zur Domino Administration.
 

Erklärung


Alle auf dem Domino Server normalerweise durch den Befehl 'load' aufgerufenen Tasks liegen auf der Festplatte als ausführbare Programmdatei vor und tragen unter dem Betriebssystem Windows im Dateinamen den Buchstaben "n" vor dem Namen des Tasks an der Domino Konsole.
Damit lassen sich auch andere Domino Konsolenbefehle, wie z.B. fixup oder updall vom Betriebssystem aus aufrufen.
 

Besonderheiten


Nicht alle an der Domino Konsole aufgerufenen Tasks (z.B. fixup) melden wie der compact-Befehl beim Zugriff auf durch den Domino Server selbst geöffnete Dateien einen Fehler. Möglicherweise terminiert so der eine oder andere Task, ohne seine "Arbeit" verrichtet zu haben.
 
Beispiel Bei einem Versuch, den fixup-Befehl im laufenden Server-Betrieb auf die names.nsf (Domino Verzeichnis) anzuwenden, beendete sich der Task ohne einen Hinweis auf einen Fehler. Beim anschließenden Aufruf des Kommandos nach der oben beschriebener Vorgehensweise wurde gemeldet, daß der "Header eines Dokumentes repariert wurde und daß dieses Dokument in Zukunft richtig repliziert würde".
 
Es lohnt sich offensichtlich bei Problemen mit Domino Datenbanken, die sonst keine Erklärung finden, einen Domino Server-Tasks von der Kommandozeile des Betriebssystems aus zu starten.