Verwalten des Datenbankcache mithilfe von JMX

Anhand des über JMX verfügbar gemachten Datenbankcache können Sie den Cachestatus überprüfen, alle zwischengespeicherten Ressourcen löschen oder bestimmte zwischengespeicherte Ressourcen entfernen, die Cachekonfiguration ändern und die Ressource im Cache überwachen.

Da der Datenbankcache über JMX verfügbar gemacht wird, können Sie ein beliebiges Tool verwenden, anhand dessen JMX verwaltet oder überwacht wird. Spectrum enthält zwei Tools: JMX Console und JConsole.

Anmerkung: Der listCacheResourceNames-Vorgang wird von der Spectrum JMX Console nicht unterstützt. Verwenden Sie JConsole, um eine Liste aus dem Cache anzuzeigen.

So greifen Sie über die Spectrum JMX Console auf den Datenbankcache zu:

  1. Öffnen Sie die JMX Console über die folgende URL: http://<server>:<port>/jmx-console/.
  2. Wählen Sie im Bereich Domain: Spatial den Eintrag Spatial:name=Cache,type=Remote Component aus.
  3. Sie können die Einstellungen für den verwalteten Cache folgendermaßen ändern.

So greifen Sie über die JConsole auf den Datenbankcache zu:

  1. Fügen Sie der Zeile wrapper.java.additional.6= in „wrapper.conf“ (unter „<Spectruminstall>\server\bin\wrapper“ gespeichert) die folgenden Parameter hinzu, wenn dies nicht bereits erfolgt ist:
    -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9127 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false 
  2. Starten Sie den Server neu.
  3. Navigieren Sie zu <spectrum>/java64/bin/, und führen Sie jconsole.exe aus.
  4. Klicken Sie auf die Registerkarte „MBeans“.
  5. Wählen Sie „Spatial“ > „Remote-Komponente“ > „Cache“ aus.
  6. Klicken Sie auf „Attribute“, um die Cache-Einstellungen und Statistiken zu überwachen.
  7. Klicken Sie auf „Vorgänge“, um die Einstellungen für den verwalteten Cache folgendermaßen zu ändern.

Kapazität: Hierbei handelt es sich um die Anzahl an Ressourcen, die von der Remote-Komponente zu einem beliebigen Zeitpunkt zwischengespeichert wurden. Wenn Sie die Kapazität ändern, wird der aktuelle Ressourcencache gelöscht und ein neuer wird erstellt. Sobald die Kapazität erreicht wird, werden ältere Ressourcen im Cache entfernt, um Platz für neuere Ressourcen zu schaffen. Wichtiger Hinweis: Wenn eine Ressource zwischengespeichert wird, die andere Ressourcen verwendet (z. B. verwendet eine benannte Karte mehrere benannte Tabellen), werden diese Ressource und alle verwendeten Ressourcen ebenfalls zwischengespeichert.

Ablaufzeit: Hierbei handelt es sich um die Ablaufzeit in Millisekunden. Wenn Sie die Cacherichtlinie auf 2 (bei Ablauf überprüfen) setzen, wird der Wert als Intervall verwendet, um zu prüfen, ob die Ressource bei einem Zugriffsversuch aktualisiert wird.

Richtlinie für die Überprüfung auf Updates: Hierüber werden Ressourcen im Cache überprüft, um festzustellen, ob sie mit der aktuellen Version in der Datenbank aktualisiert werden müssen. Die Richtlinienwerte sind 0, 1 oder 2. Dabei gilt: 0 = Nie, 1 = Immer und 2 = Bei Ablauf überprüfen. Wenn Sie wählen, den Ressourcencache niemals zu überprüfen, erfolgen auch keine Überprüfungen auf Updates für die Ressourcen. Sie können zwischengespeicherte Ressourcen manuell über JMX entfernen, wenn diese in der Datenbank geändert werden und Sie den Cache folglich ändern müssen. Wenn Sie wählen, den Ressourcencache immer zu überprüfen, wird bei jeder Anforderung einer Ressource durch den Cache geprüft, ob die zwischengespeicherte Ressource mit der in der Datenbank übereinstimmt. Wenn die Ressource geändert wurde, wird eine neue in den Cache geladen. Im Rahmen der Überprüfung zum Ablaufzeitpunkt werden lediglich Ressourcen im Cache auf Aktualisierungen geprüft, wenn die Ablaufzeit nach der letzten Überprüfung überschritten wurde. Die Ablaufzeit ist der Wert, der in der Eigenschaft expire definiert ist. Dieser Wert wird in Millisekunden angegeben.

Ressourcen entfernen: Hiermit werden angegebene Ressourcen aus dem Cache entfernt. Geben Sie die Verzeichnisstruktur aus der Datenbank ein, die Sie aus dem Cache entfernen möchten. Beginnen Sie dabei beim Stammverzeichnis. Diese Option wird in der Regel verwendet, wenn Sie die Richtlinie auf „Nie“ gesetzt haben und Ressourcen in der Datenbank aktualisieren. Hierüber können Sie die älteren Ressourcendefinitionen aus dem Cache löschen, sodass die Ressource beim nächsten Zugriff im Cache mit der neuen Definition aktualisiert wird. Das Platzhalterzeichen * kann am Ende eines Pfads verwendet werden, um alle Ressourcen in einem Verzeichnis oder in den Unterverzeichnissen zu entfernen. Geben Sie beispielsweise /samples/* ein, wenn Sie alle Ressourcen innerhalb des Verzeichnisses „sample“ entfernen möchten.

Cache löschen: Hiermit wird der gesamte Cache gelöscht. Dadurch werden auch alle Zähler in der überwachten Statistik zurückgesetzt.

Ressourcennamen im Cache anzeigen: Hiermit werden alle Ressourcenpfade im Cache zurückgegeben. Wenn Sie Ressourcen manuell mithilfe von JMX aus dem Cache entfernen, sollten Sie zunächst alle zwischengespeicherten Ressourcen anzeigen, um eine präzise Liste von zu entfernenden Cachepfaden abzurufen. Verwenden Sie JConsole statt JMX, um die Liste abzurufen.

Anmerkung: Je größer die Kapazität ist, desto mehr Arbeitsspeicher wird verwendet. Legen Sie sowohl die Kapazität als auch die Richtlinie entsprechend Ihren spezifischen Anforderungen fest. Wenn die Ressourcen in Ihrer Datenbank beispielsweise nach dem Erstellen niemals geändert werden, kann die Kapazität niedriger eingestellt und die Richtlinie auf „Nie“ festgelegt werden.