Bonjour tout le monde;
Quelle est la requête SQL pour savoir combien de personnes se sont connectées à l'une des instances RAC, entre 10H et 11h par exemple ?
Merci pour votre aide.
Bonjour tout le monde;
Quelle est la requête SQL pour savoir combien de personnes se sont connectées à l'une des instances RAC, entre 10H et 11h par exemple ?
Merci pour votre aide.
A priori il n'y en a pas (ou je n'en vois pas).
Vous pouvez avoir le nombre de sessions qui ont été activées entre 10 et 11h en requêtant v$active_session_history (ou dba_hist_active_sess_history) mais ça n'a pas grand chose à voir avec le nombre de personnes connectées.
Que voulez vous faire exactement, quel est le but de ce décompte ?
Bonjour ojo77;
J'aimerais connaitre le nombre de personnes qui se sont connectées ou sont restées connectées entre 10h et 11h.
v$session avec l'attribut LOGON_TIME me donne les gens qui se sont connectés entre 10h et 11h mais ce n'est pas le nombre total de gens connecté à la base entre 10h et 11h. En clair cela ne me donne pas le nombre total de sessions actives entre 10h et 11h.
Je vais jeter un oeil à la table v$active_session_history, merci.
Bon bah; j'ai des différences entre ces trois requêtes concernant les trois tables v$session, v$active_session_history et dba_hist_active_sess_history :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SQL> select count(*) from v$session where to_char(LOGON_TIME,'HH24:MI') between '10:00' and '12:00' and LOGON_TIME>sysdate-1/2 ; COUNT(*) ---------- 45
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 SQL> select count(*) as nbconx from ( select distinct SESSION_ID from v$active_session_history where to_char(SAMPLE_TIME,'HH24:MI') between '10:00' and '12:00' and SAMPLE_TIME>sysdate-1/2 ); NBCONX ---------- 827
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SQL> select count(*) as nbconx from ( select distinct SESSION_ID from dba_hist_active_sess_history where to_char(SAMPLE_TIME,'HH24:MI') between '10:00' and '12:00' and SAMPLE_TIME>sysdate-1/2 ); NBCONX ---------- 971
Quelle requête dit vrai ?![]()
La troisième à priori
Le vérifier sur v$active_session_history vérifier le minimum de sample_time
La première est le nombre de session encoreactivesvivantes parmi celles qui se sont connectées entre 10 et 11h
Bon alors en fait, voici la requête qui me paraît être la plus viable est celle - ci :
Merci ojo77, a plus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 -- Nombre de session actives ouvertes entre 10h et 12h SELECT count(*) AS nbconx FROM ( SELECT DISTINCT SESSION_ID, session_serial# FROM dba_hist_active_sess_history WHERE SAMPLE_TIME between trunc(sysdate)+10/24 and trunc(sysdate)+12/24 );
NB: Ceux qui ont Oracle Enterprise Manager sont des rois. Il est tres facile de créer des rapports ASH avec...
Enormmme ! Merci ojo77 !
Je vais tester ça de suite !
Enorme ! Par il faut décrypter out ça ... mais excellent !![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager