Compact nur auf Datenbanken im Root durchführen

  • Hallo,


    gibt es eine Compact Option, mit der man nur die im Root liegenden Systemdatenbanken komprimiert? Entsprechend könnte ich dafür dann andere compact Parameter verwenden als für Datenbanken, die sich un unseren etlichen Unterordnern befinden.


    Viele Grüße!

  • Schon mal in die Admin Hilfe geschaut ?
    Da steht doch die Syntax drin wie du nur bestimmte ordner bzw Datenbanken mit dem Compact Task bearbeitest.


    Allerdings nur die DBs im Data Verzeichnis ohne Unterordner geht nicht, die musst du dann einzeln aufrufen

  • Mal eine Frage am Rande ... die Systemdatenbanken sind in der Regel immer im Zugriff vom System. So kannst du die names.nsf z.b. nicht compacten wenn der server Zugriff drauf hat.


    Daher stellt sich mir die Frage warum gerade die Systemdatenbanken compacted werden sollen?

  • Zitat


    Allerdings nur die DBs im Data Verzeichnis ohne Unterordner geht nicht, die musst du dann einzeln aufrufen


    Stimmt so nicht ganz. Über ein IN-File ginge das schon.


    Dass im Zugriff befindliche DBs nicht compactet werden können stimmt so auch nicht. Je nach Switch geht das sehr wohl.

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • Wenn ich den Compact z.B. mit -c auf der log.nsf laufen lasse, funktioniert es schon.


    Dass ich die DB einzeln angeben kann, weiß ich wohl auch. Ich habe im Web den Paramter -Y bzw. -y gefunden. Mit den Subdirectories sind aber wohl keine Unterordner unterhalb von Data/ gemeint, oder?


    -Y Recurse through subdirectories (default).
    -y Do not recurse through subdirectories

  • Ein copy-style compact geht garantiert nicht, wenn die DB im Zugriff ist. Spätestens bei einem erneuten Zugriffsversuch, bricht der compact ab. Normal sollte er aber sofort sagen, dass die DB in Gebrauch ist.

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • Tibor, damit hast du doch nur eine DB erwischt. Es geht aber um "die" Systemdatenbanken, also vermutlich alle und nicht nur die names.


    Wenn schon der Server runtergefahren werden muss (je nach Switch), dann gleich richtig:
    for i in *.nsf; do server -c "lo compact -B -D $i"; done
    Oder wie auch immer das bei Windows heißen mag...


    Alternativ ginge auch
    for i in *.nsf; do echo "lo compact -B -D $i" >> batch; done
    und auf der Serverkonsole dann schlicht ein < batch. Das IN-File hatte ich aber schon erwähnt...

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl