====== Bereinigung alter Session-Einträge ====== Ab der FlexNow-Version [[releasenotes:fn2web2.04.06#update_20406006_vom_27112020|2.04.06.006]] ist es möglich alte Sessions automatisch bereinigen zu lassen. Hierfür müssen entsprechende Parameter in der **context.xml** des Servers hinzugefügt werden. ===== Parametereinstellungen ===== Sobald die Parameter für **Uhrzeit** und **Alter** der Sessions in der context.xml angegeben wurden, wird nach einem Neustart des Servers das automatische Löschen aktiviert. Es sind keine weiteren Einstellungen nötig. ==== Parameter: Uhrzeit ==== **FN2RBAC.AUTOMATISCHES_LOESCHEN_VON_SESSIONS_UHRZEIT** Angabe der Uhrzeit an der das tägliche Löschen gestartet wird. **Dieser Parameter muss vorhanden sein um die Funktion zu aktivieren. ** **Mögliche Wert:** Ganzzahl von 0 bis 23 (Falls eine andere Zahl angegeben wird wird 0 verwendet) '' ==== Parameter: Alter ==== **FN2RBAC.AUTOMATISCHES_LOESCHEN_VON_SESSIONS_MIN_ALTER_TAGE** Angabe des Mindestalters für Sessions welche gelöscht werden können. **Dieser Parameter muss vorhanden sein um die Funktion zu aktivieren.** **Möglicher Wert:** Ganzzahl größer oder gleich 7 (7 ist der kleinste zulässige Wert. Falls ein niedrigerer Wert angegeben wird, wird automatisch 7 verwendet.) **FN2RBAC.AUTOMATISCHES_LOESCHEN_VON_SESSIONS_MAX_ANZAHL** ==== Parameter: Anzahl zu löschender Sessions ==== Angabe der max. Anzahl von Sessions die pro täglichem Aufruf gelöscht werden sollen. Dieser Parameter ist optional. **Dieser Parameter ist optional.** Falls kein Wert angegeben wird, wird der Standard-Wert 100 verwendet. **Möglicher Wert:** Positive Ganzzahl größer als 0 (Falls kein gültiger Wert angegeben wird, wird der Standard-Wert 100 verwendet.) ===== Bereinigung via SQL ===== Bei einer zu Großen Anzahl von Datensätzen in der Tabelle "Session_" der MetaDatenbank kann es zu sehr langen Laufzeiten kommen. Daher empfehlen wird vorab die Tabellen via SQL zu löschen. Anbei finden Sie entsprechende SQL-Skripte um jeweils die 100 ältesten Sessions zu löschen. Mehrfaches ausführen der Skripte ist für größere Datenmengen nötig. SELECT * FROM audit_ WHERE audit_.sessionid IN (SELECT sessionid FROM session_ WHERE sessionid > 0 AND sessionid <= (SELECT MIN(sessionid)+100 FROM session_ where sessionid > 0)); SELECT * FROM se_ro_keyatt WHERE se_ro_keyatt.sessionid IN (SELECT sessionid FROM session_ WHERE sessionid > 0 AND sessionid <= (SELECT MIN(sessionid)+100 FROM session_ where sessionid > 0)); SELECT * FROM sessionrolle WHERE sessionrolle.sessionid IN (SELECT sessionid FROM session_ WHERE sessionid > 0 AND sessionid <= (SELECT MIN(sessionid)+100 FROM session_ where sessionid > 0)); SELECT * FROM session_ WHERE sessionid > 0 AND sessionid <= (SELECT sessionid FROM session_ WHERE sessionid > 0 AND sessionid <= (SELECT MIN(sessionid)+100 FROM session_ where sessionid > 0));