Um mal von der ökonomischen auf die technische Frage zurück zu kommen:
Nun war meine Idee, z.B. über einen zeitgesteuerten Agenten die Archiv-DB zu "verkleinern" in dem Dokumente älter z.B. 5 Jahre gelöscht werden.
...
Vielleicht gibt es ja auch eine andere (Notes-Nativ) Möglichkeit, die ich nicht kenne.
Es gibt mehrere native Möglichkeiten, mindestens eine Möglichkeit kennst und benutzt du bereits: compact -a
Auch Archive sind normale Datenbanken und können ebenfalls archiviert (oder Inhalte ohne Archivierung gelöscht) werden, man muss lediglich einmalig dort ein Archivprofil anlegen.
Im Archivprofil des Archivs kann man dann z.B. festlegen, dass Dokumente, die den Kriterien (z.B. 5 Jahre) entsprechen, einfach gelöscht werden sollen.
Allerdings lässt sich das nicht simpel mit Richtlinien bewerkstelligen, hier muss entweder der Besitzer selbst oder ein Admin oder ein Script 'ran.
Vorteil dieser Methode: feingliedrige Festlegung von Zeitpunkt, Inhalten und Ausnahmen (!), und die Löschung kann man parallel protokollieren lassen.
Bei einigen Log's mache ich das zum Beispiel so:
log.nsf >> archive\a_log.nsf (alles was älter 1 Monat ist) >> archive\a_a_log.nsf (was älter als 6 Monate ist) >> älter als 12-36 Monate bereinigen (endgültig löschen).
Eine andere, ebenfalls native Möglichkeit bietet das Prunen; einzustellen über die Replizierungsoptionen. Dort kann man im Platzsparer festlegen, dass Dokumente, die älter als x Tage sind, gelöscht werden sollen. Aber Vorsicht: im Gegensatz zum Archivprofil, das erst durch compact -a evaluiert wird, wirkt diese Einstellung SOFORT und ohne weitere Warnung sobald man OK drückt! Danach wird alle x/3 Tage geprüft, ob weitere Dokumente zum Prunen anstehen, dies erfolgt alleine durch das Zugreifen auf die betreffenden Datenbanken, separate Tasks muss man nicht starten (im Serverlog wird das als Bereinigen angezeigt).
Das Prunen ist eher die Holzhammer-Methode, das Löschen über Archivprofil + Compact die chirurgische Präzisionsmethode.
Weiterhin wichtig: Prunen erzeugt keine Deletion-Stubs (!), sobald die betreffenden Datenbanken auf mehreren Servern liegen muss man das in jeder Replik getrennt, aber mit gleichen Werten aktivieren. Compact -a arbeitet mit Deletion-Stubs und braucht daher nur auf einem Server zu laufen.
HTH
Carsten