====== 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));