3 votes

Comment interrompre automatiquement les sessions actives ?

Je souhaite interrompre automatiquement les sessions lorsque l'heure de début est supérieure à 1 heure.

Comment faire ?

7voto

GMB Points 188687

Vous pouvez simplement définir un délai d'inactivité o délai de connexion dans un profil et assigner ce profil aux utilisateurs si nécessaire.

De les CREATE PROFILE la documentation :

Si un utilisateur dépasse la CONNECT_TIME o IDLE_TIME la limite de ressources de la session, la base de données annule la transaction en cours et met fin à la session. Lorsque le processus utilisateur émet un nouvel appel, la base de données renvoie une erreur.

[...]

CONNECT_TIME : Spécifier la limite de temps total écoulé pour une session, exprimée en minutes.

IDLE_TIME : Spécifier les périodes d'inactivité continue autorisées au cours d'une session, exprimées en minutes. Les requêtes de longue durée et les autres opérations ne sont pas soumises à cette limite.

5voto

Ted at ORCL.Pro Points 1360

Vous créez un profil et l'attribuez à l'utilisateur en question

Voici un exemple :

alter system set resource_limit=true scope=both;

create profile restrictive limit
   connect_time 60
   sessions_per_user 2
   ldle_time 30;

ALTER USER scott PROFILE restrictive;

0voto

kara Points 1775

Comment tuer une session ?

ALTER SYSTEM KILL SESSION 'sid,serial#';

Comment afficher toutes les "anciennes" sessions ?

SELECT s.SID,
       s.SERIAL#
  FROM v$session s
 WHERE s.LOGON_TIME < (SYSDATE - (1 / 24))

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X