Main Title - AdminCamp
Transcrição
Main Title - AdminCamp
HONEY, I Shrunk The Data Compact, Compress, De-Duplicate Ulrich Krause, AdminCamp, 21.09. – 23.09.2015, Maritim Hotel Gelsenkirchen About: Ulrich Krause • Administrator /Developer seit 1993 • IBM Champion 2011 – 2015 • https://ibm.biz/NominateChamps • OpenNTF • DomBackup, TriggerHappy, !!HELP!! • Blog http://www.eknori.de • Notes Forum (http://www.atnotes.de) Storage Every Minute of The Day … Mails 1994 – 2015 ( without SPAM ) Storage Today Notes Anwendung (vereinfacht) • Designelemente • Dokumente • Text • Attachments • Embedded objects (Images, OLE2) Design Text • Ansichtenindex • Transaction Log • Fulltext Index Attachments Wo können wir ansetzen? • Compact Application • Design Note Compression • Document Body Compression • Attachment De-Duplication (DAOS) • Transaction Log Location • Fulltext Index Location • View Index Location ( NIFNSF 9.0.2 ? ) Compact Application Compact im Frontend • Ein compact reduziert nicht in jedem Fall die Grösse einer Anwendung • Bei einer strukturelle Änderung ( z.B Wechsel des ODS ), wird ein copy-style compact ausgeführt. (-c) • Ist die Transaktionsprotokollierung aktiviert, wird ein einfaches in-place compact (-b) ausgeführt • Ist keine Transaktionsprotokollierung aktiviert, wird ein in-place compact mit Reduzierung der Datenbankgrösse ausgeführt. Entspricht dem –B Copy-Style Compact • compact -c • Erstellt eine .TMP Datenbank db.NSF db.TMP Copy-Style Compact • compact -c • Kopiert alle Dokumente von .NSF in.TMP db.NSF db.TMP Copy-Style Compact • compact -c • Nach erfolgreichem Kopieren wird die .NSF gelöscht und die .TMP in .NSF umbenannt db.NSF db.TMP load compact -ODS <version> • Führt ein copy-style compact nur bei solchen Datenbanken aus, deren ODS kleiner als das angegebene ODS ist • Unterschied zwischen ODS 43 und ODS 51 = bis zu 80% weniger File I/O auf Server UND Client Hardware Neu in ND 9.0.x = ODS52 load compact -# nn • Es werden nn parallele Komprimierungstasks gestartet • Es sollten nicht mehr als 8 Tasks parallel laufen load compact -* • Komprimiert *.NTF und .BOX Dateien zusätzlich zu .NSF load compact -upgrade • compact -upgrade • neuer Parameter in Notes / Domino 9 load compact -upgrade http://blog.nashcom.de/nashcomblog.nsf/dx/upgrading-ods-for-databases-with-old-db-class-indomino-9.htm?opendocument&comments Weitere Optionen • W nn – Es werden nur die Datenbanken komprimiert, die nicht innerhalb der letzten nn Tage erfolgreich bearbeitet wurden • w – ohne Systemdatenbanken (log.nsf, names.nsf). • X nn – Dauer der Komprimierung einer Anwendung auf nn Minuten beschränken (nur bei “in-place” Komprimierung) • x nn – Gesamtdauer des Komprimierungslaufs auf nn Minuten begrenzen • DEBUG_ENABLE_COMPACT_8_5=1 ( ab 8.5.1 ) ODS und Notes Client • Neu in IBM Notes 8.5.2 • NSF_UpdateODS = 1 • Create_R85_Database = 1 • Default: ODS 51 • Datenbanken, die in Verwendung sind, werden beim nächsten Programmstart komprimiert • Alle anderen Datenbanken werden im Hintergrund komprimiert. • Einmaliger Vorgang ( NSF_UpdatedToODS=51 ) ODS 52 • CREATE_R9_DATABASES=1 • Beseitigt ein sehr altes, sehr selten auftretendes Problem bei mittel und hoch verschlüsselten Datenbanken • Beseitigt ein Problem mit Attachments > 2GB • http://www01.ibm.com/support/docview.wss?rs=899&uid=swg21648607 • Details: John Paganetti, Connect 2014 , ID 104 • Best Practices for Upgrading IBM Notes® and Domino® to 9.0.x Medium Encryption Strong Encryption • COMPACT_UPGRADE_MEDIUM_ENCRYPTION_TO_STRONG=1 • Beim nächsten compact –c werden alle Datenbanken mit mittlerer Verschlüsselung auf hohe Verschlüsselung gehoben. • Workaround, wenn hohe Verschlüsselung nicht möglich ist • ENABLE_MEDIUM_ENCRYPTION_FIX=FFFFFFFB Probleme beim compact • Das Problem bei compact –c „Insufficient memory“ oder “unable to extend an ID table - insufficient memory“ http://www-01.ibm.com/support/docview.wss?uid=swg21635439 • Grund • Häufiges Hinzufügen / Löschen von Dokumenten • Fragmentierung der ID Table • Lösung / Workaround • Neue Replik / Kopie oder Restore aus Backup Probleme beim compact • Compact –c • Copy ( .tmp) und Replace • Kein Zugriff für die Dauer der Komprimierung • Behält NoteIDs bei • Kann im Zusammenspiel mit fixup zur Behebung von Datenbankfehlern verwendet werden, bei stark fragmentierten ID Tabellen kann es aber Probleme geben compact –REPLICA • Compact –REPLICA • Replicate (.repl) und Replace • Zugriff weiterhin möglich ( außer in der rename Phase) • ID Tabellen werden reorganisiert; • aber: NoteIDs werden nicht beibehalten • In erster Linie präventiv, aber auch kurativ • Kein Ersatz für compact –c, aber eine zusätzliche Option compact –REPLICA Optionen Parameter Erforderlich Beschreibung -REPLICA Erforderlich Komprimierung mittels Replik -REN_WAIT <n> Optional Zeitraum in Minuten, in denen der Compact Task die .repl Datei versucht umzubenennen, nachdem die Replikation und Synchronisation beendet wurde -REN_WAIT 5 -RESTART Optional Domino Server Neustart wenn die Umbenennung nicht erfolgreich durchgeführt werden kann. Der Neustart wird erst ausgeführt, wenn ALLE System Datenbanken für den Rename bereit sind. -IDS_FULL <n> Optional Komprimierung wird nur dann durchgeführt, wenn die ID Table zu einem gewissen Prozentsatz gefüllt ist. (0 bedeutet immer komprimieren ) -IDS_FULL 80 ( in 9.0 –IDS_FULL 080 ) compact –REPLICA (Beispiel 1) • Wöchtliches Komprimieren aller in der system_dbs.ind enthaltenen Dateien mit anschließendem Neustart des Servers compact –REPLICA (Beispiel 2) • Komprimieren aller in der comp_id_table.ind enthaltenden Datenbanken, wenn die ID Table zu 70% gefüllt ist compact –REPLICA (Console) compact –REPLICA & Client • Die Funktion ist im Client vorhanden, ist aber zur Zeit noch nicht supported • NSF_UpdateCompactReplica=1 • Nach dem Neustart des Client zeigt der “Housekeeping” Agent die folgende Meldung im Log • (n)compact -REPLICA -ODS -Quiet -Client -UpdateIndexes Update Documentation • SPR # CSCT9ASJSX • 9.0 Admin Help incorrect for -IDS_FULL and -REN_WAIT • HELP: -IDS_FULL=80 • CORRECT: -IDS_FULL 80 • Fixed in 9.0.1 • SPR # TSOE95L8PY • Compact Replica -IDS_FULL argument not properly parsing percentage argument • -REPLICA -IDS_Full 80 • -REPLICA -IDS_Full 080 ( workaround in 9.0 ) • Fixed in 9.0.1 Fragmentation • Fragmentierung beeinträchtigt die I/O Performance • Auch eine nur leichte Fragmentierung kann die Leistung von Leseoperationen um bis zu 50% reduzieren • compact –c reserviert keinen Speicherplatz für die neue Datenbank • Fragmentierung ist vorprogrammiert • Auch der Volltextindex einer Anwendung wird fragmentiert • Die NLO Dateien des DAOS Repositories werden ebenfalls im Laufe der Zeit immer mehr fragmentiert DominoDefrag • Andrew Luder, OpenNTF • http://www.openntf.org/Projects/pmt.nsf/ProjectLookup/Domin oDefrag Defrag Beispiel • Lotus Software KnowledgeBase ( 5 * compact –c ) • Vorher • 68 Fragmente • 7550 ms • Nachher • 1 Fragment • 125 ms Design Note Compression Design Note Compression • Neues Feature seit Domino 8 • Benötigt ODS 48 oder größer • • • • Create_R8_Databases=1 oder Create_R85_Databases=1 load compact -c load compact -c –n • “Compress database design” anhaken • Reduziert die Größe der Designelemente um 55 – 50 % • Reduziert Disk I/O Design Note Compression Design Design Text Text Attachments Attachments Document Body Compression Document Body Compression • Neues Feature seit Domino 8.0.1 • Reduziert die Größe des Textanteils im RichText Items um bis zu 60% • Benötigt ODS 48 oder größer • load compact -c –v • „Compress document data“ anhaken Document Body Compression Design Design Text Text Attachments Attachments LZ1 Attachment Compression LZ1 Attachment Compression • • • • Gibt es schon seit Domino 6 Ersetzt den Huffmann Algorithmus Bei neuen Datenbanken nicht aktiv Vorhandene Anhänge komprimieren • load compact -c –ZU • Bei Domino 6.5.6 zusätzlich in notes.ini DEBUG_ENABLE_LZ1_REPAIR=1 • Probleme bei JAVA Applets in Domino <= 8.5 vermeiden • DEBUG_ENABLE_LZ1_HOST_TYPES=0 • In 8.5.1 ist das Problem behoben und der Parameter nicht mehr notwendig LZ1 Attachment Compression • Vereinzelt wurde von Problemen mit dem Volltextindex einer Datenbank bei Verwendung der LZ1 Komprimierung berichtet. • Um Anhänge von LZ1 wieder zurück zu Huffmann zu komprimieren • Load compact –c –ZD • In Domino 6.5.6 zusätzlich DEBUG_ENABLE_LZ1_REPAIR=1 in die notes.ini eintragen LZ1 Attachment Compression Design Design Text Text Attachments Attachments DAOS Estimator DAOS Estimator • Tool zur Vorbereitung des DAOS Rollout • Für alle unterstützten betriebssysteme • http://www-01.ibm.com/support/docview.wss?rs=463&uid=swg24021920 DAOS Estimator (notes.ini) • Beim DAOS Estimator gibt es eine große Lücke bei der Darstellung von Attachments zwischen 64k und 1 MB • DAOSEST_BUCKETS=16,64,128,256,512,768,1024,2048,3072,4096 • Diese Einstellung in der notes.ini ändert die Darstellung wie folgt: • 16K, 64K, 128K, 256K, 512K, 768K, 1MB, 2MB, 3MB and 4MB • Source: Lotus Software Knowledge Base • http://www01.ibm.com/support/docview.wss?rs=0&q1=1418102&uid=swg2 1418102 LZ1 != HUFFMAN • Db1 – LZ1 aktiviert, Db2 – LZ1 nicht aktiviert • => 2 .NLO Files !! Domino Attachment Object Services (DAOS) DAOS • Domino Attachment Object Service • Anhänge werden nicht mehr in der Anwendung • • • • • gespeichert Anhänge werden als NLO (Notes Large Object ) gespeichert Das Notes Dokument enthält nur noch ein Ticket Trennung von statischen und dynamischen Daten Bit-identische Anhänge werden nur noch einmal als NLO im DAOS Repository gespeichert Für den Anwender und Programme von Drittanbietern ist DAOS Volkommen transparent Voraussetzungen für DAOS • Domino 8.5 (ODS 51) • SHARED MAIL OFF • Transaktionsprotokollierung • DAOS Repository erstellen • DAOS auf dem Server aktivieren • DAOS auf Anwendungen aktivieren Shared Mail abschalten • Serverdocument – Shared Mail • Field Shared Mail = None • „Load object unlink shared.nsf“ Transaktionsprotokollierung • Wird zwingend für DAOS benötigt • Serverdokument – Transactional Logging • Separates Laufwerk verwenden • Ausserhalb des Data Verzeichnisses • CREATE_R85_LOG=1 • Erfordert Neustart des Servers Transaktionsprotokollierung • Protokollmethode • Circular • 4GB Limit • Archive • Keine Größenbegrenzung. Dateien werden vom Backup Programm gelöscht • Linear • Wie circular, aber ohne Größenbegrenzung DAOS Repository • Separates Laufwerk verwenden • SAN, NAS • Pro Server ein Repository • • • • • Max.1.000 Unterverzeichnisse Max 40.000 .NLO / Verzeichnis = 40.000.000 eindeutige .NLOs Daos.cfg ( im Domino Data Directory) Daoscat.nsf • .NLO wird mit der ServerID verschlüsselt • Abschalten mit DAOS_ENCRYPT_NLO=0 • Repository in Backupstrategie einplanen DAOS Repository • Kann der Wert für die max. Anzahl von .NLO pro Unterverzeichnissen geändert werden? • Ja, DAOS_MAX_FILES_PER_SUBCONTAINER=40000 • Kann Performanceprobleme verursachen • Nachträgliches Ändern ändert nicht die bestehende Struktur. Dateien werden lediglich ab dem Zeitpunkt der Aktivierung entsprechend den neuen Vorgaben auf die Verzeichnisse verteilt. • Bei Reduzierung des Wertes reduziert sich auch die Anzahl der insgesamt möglichen .NLO • 1.000 * DAOS_MAX_FILES_PER_SUBCONTAINER = MAX_NLO DAOS auf dem Server aktivieren • Serverdokument – DAOS • Minimale Größe für Anhänge • 64kB (= DEFAULT ab 8.5.1 ) • Wert mit DAOS Estimator ermitteln • DAOS Basispfad • Außerhalb vom data directory! • Wann wird ein Objekt im Repository gelöscht? • Hängt ab von der Backupstrategie • 0 Tage = sofort, wenn der refcount = 0 • An der Serverkonsole: TELL DAOSMGR PRUNE 0 • DAOS wird nach Neustart des Servers aktiviert DAOS Object Size ändern. Und dann ? • Die minimale Grösse kann nachträglich im Serverdokument geändert werden • Nach Neustart des Servers werden nur noch Anhänge ab der neuen Größe in das DAOS Repository übernommen • Load compact –c db.nsf • Anhänge kleiner als die eingestellte Grösse werden wieder in der Anwendung gespeichert. • Wenn Referenz Counter = 0, dann werden die NLOs beim nächsten prune Lauf gelöscht. DAOS auf Datenbanken aktivieren • Datenbank Eigenschaften „propeller hat“ für einzelne Datenbanken • Verwenden Sie den Adminclient für die Aktivierung mehrerer Datenbanken • Gültig für neue Attachments! • Bestehende Attachments werden mit folgendem Befehl in das DAOS Repository übernommen • Load compact –c –DAOS ON <Path\NSFs> Das Endresultat Design Design Text Text Tickets DAOS Repository Attachments Die Transaktionsprotokoll Falle • load compact –c –DAOS ON • Kein Attachment wird ins DAOS Repository übernommen • tell daosmgr dbsummary count = 0 • load compact -c -T -DAOS on DAOS und Replizierung • DAOS ist ein Serverfeature! • Bei einer lokalen Replik auf dem Client werden auch die Anhänge in der Replik gespeichert. • Das gilt auch für Repliken auf Servern, auf denen DAOS nicht aktiv ist • Jeder Server im Cluster hat sein eigenes DAOS Repository. DAOS und Replizierung • Client Server (ab Release 8.5.1) • Bekannte Anhänge werden nicht auf den Server übertragen = „smart replication“ • Mailweiterleitung • Antwort mit Historie • Server Server (ab Release 8.5.1) • Bekannte Anhänge werden nicht auf den Zielserver übertragen DAOS und Replizierung • Domino 8.5 • Domino 8.5.1 Achtung!!: ADMINP_ACCELERATED_REPLICA_OVERRIDE=4 !! DAOS und Replizierung DAOS und die mail.box • RM_NO_LOG_OBJECTS_IN_MAILBOX aus notes.ini entfernen • DAOS auf allen mail.box Dateien aktivieren • DAOS auf allen Maildateien der Anwender aktivieren • Erhöht die Performance bei der Mailzustellung DAOS und Verschlüsselung • Ergibt mehr .NLO Dateien als ohne Verschlüsselung • User A schickt eine verschlüsselte Mail an User B • User B schickt ein verschlüsselte Mail mit dem gleichen Anhang an User A • Insgesamt werden 4 .NLO Dateien im Repository gespeichert • In diesem Fall gibt es also keine Platzersparnis. Dennoch ergibt sich durch die Trennung von statischen und dynamischen Daten eine Verbesserung der Performance DAOS und Quotas • Technote: 1405456 • Verhalten abhängig von den Quota Einstellungen • Belegter Speicherplatz beim Einfügen einer Note prüfen • Überprüft die physikalische Größe der Datenbank (ohne Anhänge) • Beim Deaktivieren von DAOS kann es aufgrund des 64GB Limits für die maximale Datenbankgröße zu Problemen kommen • Dateigröße beim Vergrößern der Datenbank prüfen • Dateigröße beim Einfügen einer Note prüfen • Überprüft die logische Größe der Datenbank (mit Anhänge) daoscat.nsf synchron halten • NICHT über DDM!! • Programmdokument verwenden • tell daosmgr resync • 8.5.1 IF1 ermöglicht ein schnelleres Resync der daoscat.nsf. • Der neue Schalter „quick“ aktualisiert die DIT und den DOI, ohne jede Datenbank zu überprüfen und den refcount zu aktualisieren. Immer wieder „Needs Resync“ • DDM enthält einen Hinweis auf die erste Datenbank, die das „Needs Resync“ ausgelöst hat. • Wenn sich die Ursache nicht genau ermitteln lässt, dann: • debug_threadid=1 • console_log_enabled=1 • daos_logging=<path/daos.txt>STATE_CHANGE • In 8.5.2 wurden viele der Umstände adressiert, die zu einem „Needs Resync“ führen können (SPR# RCOR83NLQK) DAOS abschalten • Was passiert, wenn DAOS wieder abgeschaltet wird • In den Datenbankeigenschaften • Wenn sich keine Anhänge in einer Datenbank befinden passiert nichts • Wenn sich Anhänge in einer Datenbank befinden • Im Adminclient wechselt der Status der Datenbank in der Übersicht zu „Read Only / Nur Lesen“ • DAOS funktioniert weiter. Es werden aber keine neuen Anhänge mehr im Repository gespeichert. Neue Anhänge verbleiben in der Datenbank • Im Serverdokument • Wie bei den Datenbankeigenschaften DAOS und fehlende NLO • Das NLO wurde auf Betriebssystemebene gelöscht • TELL DAOSMGR LISTNLO MISSING <application.nsf> • Ergebnis wird per Default in das data Verzeichnis geschrieben Daosmgr in Domino 8.5.2 • Domino 8.5.2 erweitert die Optionen des daosmgr • Fehlende NLOs können nun über alle Datenbanken eines Verzeichnisses gesucht werden • tell daosmgr listnlo missing mail Welches Attachment = welches .NLO Objekt? • DEBUG_DAOS_DIAGNOSTICS=1 • tell daosmgr LISTNLO MAP -V mail\database.nsf • DataDirectory listNlo.txt DAOS und Archivierung (8.5.2) • DAOS ON zusammen mit –a verwenden • load compact -a -DAOS on mail\db.nsf • Beim Erstellen der Archivdatenbank wird diese automatisch DAOS enabled • http://www01.ibm.com/support/docview.wss?rs=899&uid=swg21426481 DAOS und fehlende Datenbanken • Die Datenbank wurde auf Betriebssystemebene gelöscht • Fehlermeldung beim Serverstart • „Informational - The DAOS catalog is not synchronized. Deletions will be postponed. Please run 'tell daosmgr resync' at the next convenient opportunity to re-synchronize“ • Wurde die Datenbank zufällig gelöscht? • Nein • TELL DAOSMGR RESYNC oder RESYNC FORCE • Ja • Aus dem ( hoffentlich vorhandenem ) Backup zurückholen • Eine neue Replik von einem Clusterserver erstellen • Gleiche Fehlermeldung, wenn Datenbanken auf Betriebssystemebene verschoben werden Nochmal 50% ? • Wenn wir die Verschlüsselung mit der ServerID abschalten können, dann können wir doch alle NLO in nur einem Repository speichern, oder ? … • Theoretisch ja, praktisch NEIN !! • IBM plant zur Zeit kein zentrales Repository • SAN ( z.B. ) NetApp kann hier einen Vorteil bieten • http://blog.nashcom.de/nashcomblog.nsf/dx/domino-withnetapp-storage.htm NetApp Storage System • Block Storage Deduplication Verlagerung des FullText Index • Neu in 8.5.3 • FTBasePath=d:\full_text • Trennung von NSF und FT • Kann auch auf einem anderen Laufwerk liegen • seperate Spindel = anderer I/O channel • Verhindert zusätzliche Fragmentierung des Data Dir Backup und Restore • Keine Änderung der Strategie bei .nsf Dateien • Ein zusätzlicher Job muss für .NLO Dateien eingeplant werden • NLO Dateien benötigen keinen speziell Agenten oder Software • WICHTIG: die Reihenfolge • Wenn der Server während des Backups läuft • NSF vor NLO sichern • Wenn der Server während des Backups heruntergefahren ist • Reihenfolge nach Belieben • IBM Technote # 1358548 - DAOS Backup und Restore Admin Client (Dateiansicht) • Neue Spalten für DAOS • Neue Spalten für die Komprimierung Database Maintenace Tool (DBMT) DBMT • Neues Feature in Domino 9.0 • Faßt viele bekannte Wartungsoptionen zu einem konfigurierbaren Paket zusammen • Ziel ist es, den Wartungsaufwand für den Administrator zu reduzieren und einen reibungslosen Betrieb des Servers sicherzustellen Was erledigt das DBMT ? • „Copy-style compact“ Operationen • Löschen von „deletion stubs“ • Inkrementelles Aktualisieren von Ansichtenindizes • Reorganisation von Ordnern • Ablauf von “soft-deleted entries” • Aktualisierung von Ungelesenen-Markierungen • Reparatur von Datenbanken ( fixup ) Was erledigt das DBMT ? • DBMT ersetzt das bisherige Komprimieren • DBMT muss aber an die bisherige Komprimierungsstrategie angepasst und entsprechend konfiguriert werden • DBMT beseitigt die im Falle eines Failover entstehenden langen Wartezeiten beim Öffnen von für lange Zeit ungenutzten oder neuen Datenbanken • In geclusterten Umgebungen überwacht DBMT die CLDBDIR.NSF und stellt sicher, daß notwendige Clusterrepliken verfügbar sind Was erledigt das DBMT ? • DBMT ersetzt den UPDATE ALL Task aus der notes.ini. • Daher sollte der Eintrag dort entfernt werden • ServerTasksAt2=Updall • DBMT ist ein Server Task und kann manuell über die Server Konsole gestartet werden • Die Ausführung von DBMT kann auch über Programmdokumente gesteuert und konfiguriert werden DBMT vs Updall • UPDALL führt standardmäßig die folgenden Aktionen aus • Löschen von „deletion stubs“ • Ablauf von “soft-deleted entries” • Aktualisierung von Ungelesenen-Markierungen • DBMT beinhaltet diese Aktionen und ist schneller • Wird DBMT verwendet, kann der normale UPDALL Task durch den Parameter –nodbmt beschleunigt werden • Systemdatenbanken sind vom Compact ausgeschlossen • -updall und -fti Operationen werden ausgeführt • Systemdatenbanken • admin4.nsf, busytime.nsf, catalog.nsf, cldbdir.nsf, clubusy.nsf, daoscat.nsf, ddm.nsf, domlog.nsf, events4.nsf, log.nsf, lndfr.nsf, names.nsf, statrep.nsf, dbdirman.nsf, dircat.nsf mtdata\mtstore.nsf DBMT_COMPACT_FILTER • Weitere (System) Datenbanken können über die notes.ini variable DBMT_COMPACT_FILTER= zu der (Ausschluss-)Liste hinzugefügt werden • Einträge sind case-InSensitive • Einträge sind relativ zum DataDir • Trennen der Einträge duch Leerzeichen ( ), Komma (,) oder Semikolon (;). • DBMT_COMPACT_FILTER=mylog.nsf, path\MySysDb.nsf • Admin Hilfe ist falsch! DBMT_FILTER “Specify any additional system databases using the notes.ini variable DBMT_FILTER. Separate entries in the list either by a space ( ), a comma (,) or a semi-colon (;). The names are caseinsensitive and are relative to the data directory. ” DBMT_COMPACT_FILTER.IND • Anstelle des notes.ini Parameters kann auch eine Datei DBMT_COMPACT_FILTER.IND im DOMINO DATA DIR verwendet werden • Einträge sind case-InSensitive • Einträge sind relativ zum DataDir • DBMT_COMPACT_FILTER.IND wird automatisch generiert, wenn • ODS < 41 • Datenbanken innerhalb der „-range“ Zeit nicht komprimiert werden können • -noCompactLimit darf nicht gesetzt sein • Ist die Datenbank vorhanden, werden die Einträge vom DBMT ergänzt • Werden Datenbanken nicht im festgelegten Zeitrahmen bearbeitet, kann der Administrator entsprechend reagieren • Zusätzliche DBMT Instanz für bestimmte Datenbanken • Anpassen von –compactNdays • Anpassen von -range oder –timeLimit • Anpassen von –compactThreads • Manuelle Komprimierung anstoßen Mehrere Instanzen von DBMT • Wird keine Datenbank, Ordner oder .ind Datei angegeben, dann wird die Aktion auf alle Datenbanken ausgeführt. • Eine 2. Instanz bricht nach dem Start sofort wieder ab DBMT Statistics • Nach jedem DBMT Lauf werden die Ergebnisse auf der Konsole ausgegeben • Das Ergebnis des letzten Laufs kann auch über „sh stat dbmt“ angezeigt werden • DBMT und DAOS • DAOS kann auf Datenbanken mit „compact –c –daos on“ aktiviert werden. • Diese Option steht unter DBMT nicht zur Verfügung • DAOS ist für DBMT transparent • DBMT verwendet „compact –c“ für die Komprimierung, immer … • neue DBIID wird generiert • volles Backup der Datenbank muss durchgeführt werden • Das ist bei Transaktionsprotokollierung mit Option „archivierend“ nicht optimal Fragmentierung http://ab1osborne.blogspot.com/2013/05/dbmt-has-nasty-little-side-effect.html DBMT Pre-Allocation • DBMT & compact –c • DBMT preallocs the .TMP file to the used space of the .NSF. • On non-windows platforms it writes to the file in large blocks so get the file less fragmented. On Windows, it does the write as well, but it appears that is not necessary (it seems just setting the file size makes the files more contiguous) • To change the prealloc size, DBMT_PREFORMAT_PERCENT. • DBMT uses the current used space for the .nsf and multiply by the specified percent, so if you specify 200, DBMT doubles the size of the .NSF, if you specify 80, DBMT only allocates 80% of the used space DBMT Pre-Allocation vs Compact DBMT & Cluster • DBMT erstellt keine Clusterrepliken • Wird DBMT im Cluster ausgeführt, stellt DBMT sicher, daß nicht alle Clusterrepliken zur gleichen Zeit offline genommen werden. DBMT Compact & Mailrouting • MailFileDisableCompactAbort=1 • Dieser Parameter verhindert, daß der Router das Komprimieren der Datenbank abbricht, wenn eine Mail zugestellt werden soll. • Damit bleibt ein auszulieferendes Mail so lange in der mail.box bis der Compact Task abgeschlossen ist. • Bei großen Datenbanken kann das „sehr lange“ dauern. User informieren! DBMT Compact & Mailrouting • MailFileEnableDeliveryFailover=1 • Der Router liefert eine Mail an eine vorhandene ClusterReplik aus • compact –c • fixup ( Konsistenzcheck ) • wenn Datei nicht vorhanden ist • Out Of Office, Regeln arbeiten weiter DBMT & Mailtemplates • Per Default werden spezifische Views in Mail Datenbanken erstellt und aktualisert was eine erhebliche Verbesserung im Falle eines Failover mit sich bringt • Voraussetzung dafür ist, dass eine Schablonen- Vererbung gesetzt ist und einer der folgenden Template Namen verwendet wird: • StdR7Mail,StdR8Mail,StdR85Mail oder StdR9Mail DBMT und angepasste Schablonen • Sollten Sie angepasste Mail Templates verwenden können Sie diese mit folgendem Notes.ini Eintrag mit einbeziehen: • DBMT_MailTemplate=tname1,tname2,tname3 DMBT & Ansichten • Administratoren können auch weitere Views definieren, die von dem DBMT verwaltet werden sollten • Auch hierfür muss die Vererbung gesetzt und ein Template Name auf der Datenbank definiert sein • DBMT_TemplateName= ViewNameOrAlias1; ...ViewNameOrAliasN • Ersetzen SieTemplateName mit dem vererbten Template Name • Ersetzen Sie ViewNameOrAlias1-N mit dem Datenbank View Namen oder Alias • DBMT_StdNotesLog=SecurityEvents, ReplicationEvents, MailRoutingEvents • notes.ini Einträge sind auf 128 Zeichen begrenzt DBMT Optionen Beispiel 1 • Zeitgesteuert, Start um 03:00, alle Dateien im Ordner „mail“, maximale Laufzeit 120 Minuten Beispiel 2 • Zeitgesteuert, Start um 03:00, alle Dateien im Ordner „mail“, maximale Laufzeit 120 Minuten • Laufender Compact Task wird bis zum Ende ausgeführt, aber kein neuer gestartet Beispiel 3 • DBMT wird beim Serverstart geladen und läuft in der Zeit von 2:00 – 3:00 in 2 Compact / Update Threads über alle Datenbanken, die innerhalb der letzten 5 Tage nicht komprimiert wurden. • Sonntags wird ein zusätzliches Fixup durchgeführt Korrektur Dokumentation • SPR #JPAI965RZM: Compacting of DBMT in Cluster will only do certain databases unless -force N specified • Fixed in 9.0.1 • SPR# TSOE99PKSJ: Confusing message when no work is needed: • Fixed in 9.0.1 Fragen? Feedback gern auch per Email [email protected]