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]

Documentos relacionados