meta données pour cette page
  •  

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
oracle:database:sessions [08/01/2025 08:37] mdloracle:database:sessions [12/12/2025 09:34] (Version actuelle) mdl
Ligne 5: Ligne 5:
 </code> </code>
  
-  * sessions en cours+  * sessions en cours Standalone (SQLPLUS)
 <code PLSQL> <code PLSQL>
-set lines 500+SET lines 500
 col LOGON_TIME format a15 col LOGON_TIME format a15
 col MACHINE format a20 col MACHINE format a20
Ligne 25: Ligne 25:
        SUBSTR(b.username,1,10) username,        SUBSTR(b.username,1,10) username,
        SUBSTR(b.osuser,1,8) os_user,        SUBSTR(b.osuser,1,8) os_user,
-       SUBSTR(b.program,1,30) program+       SUBSTR(b.program,1,30) program
 +       b.blocking_session
 FROM v$session b, v$process a FROM v$session b, v$process a
 WHERE WHERE
Ligne 34: Ligne 35:
  
  
-  * generate kill session +  * sessions en cours RAC (SQLPLUS)
 <code PLSQL> <code PLSQL>
- select 'alter system kill session '||''''||sid||','||serial#||',' +SET lines 500 
-            ||'@'||INST_ID||''''||' immediate;'  +col LOGON_TIME format a15 
-     from gv$session  +col MACHINE format a20 
-    where USERNAME='xxxxxorder by INST_ID;+col PID format a8 
 +col SID format a8 
 +col ser# format a8 
 +col username format a20 
 +col os_user format a18 
 +col BOX format a20 
 +SELECT  
 +       b.LOGON_TIME, 
 +       b.MACHINE, 
 +       SUBSTR(a.spid,1,9) pid, 
 +       SUBSTR(b.sid,1,5) sid, 
 +       SUBSTR(b.serial#,1,5) ser#, 
 +       SUBSTR(b.machine,1,6) box, 
 +       SUBSTR(b.username,1,10) username, 
 +       SUBSTR(b.osuser,1,8) os_user, 
 +       SUBSTR(b.program,1,30) program, 
 +       b.blocking_session 
 +FROM gv$session b, gv$process a 
 +WHERE 
 +b.paddr = a.addr 
 +AND TYPE='USER' 
 +ORDER BY spid
 </code> </code>
  
-  * lock +  * sessions en cours (SQL DEV)
-<code PLSQL> +
-SELECT 'Instance '||s1.INST_ID||' '|| s1.username || '@' || s1.machine +
-    || ' ( SID=' || s1.sid || ','|| s1.serial#||s1.status||  )  is blocking ' +
-    || s2.username || '@' || s2.machine || ' ( SID=' || s2.sid || ' ) ' ||s2.sql_id +
-     FROM gv$lock l1, gv$session s1, gv$lock l2, gv$session s2 +
-    WHERE s1.sid=l1.sid AND +
-     s1.inst_id=l1.inst_id AND +
-     s2.sid=l2.sid AND +
-     s2.inst_id=l2.inst_id AND +
-     l1.BLOCK=1 AND +
-    l2.request > 0 AND +
-    l1.id1 = l2.id1 AND +
-    l2.id2 = l2.id2 ; +
-</code> +
- +
-  * Nombre de session en cours +
-<code PLSQL> +
-select count(MACHINEfrom v$session; +
-</code> +
- +
-  * liste des sessions en cours+
 <code PLSQL> <code PLSQL>
 SET lines 500 SET lines 500
Ligne 91: Ligne 92:
 </code> </code>
  
-modifier le nombre sessions possible (processes)+  * sessions en cours RAC (SQL DEV) 
 +<code PLSQL> 
 +SELECT DISTINCT q.sql_id, 
 +       q.plan_hash_value, 
 +       p.spid, 
 +       s.STATE, 
 +       s.username, 
 +       s.INST_ID, 
 +       y.INSTANCE_NAME, 
 +       y.HOST_NAME "DATABASE HOST", 
 +       s.machine "CLIENT HOST", 
 +       s.sid, 
 +       s.program, 
 +       s.serial#, 
 +       s.blocking_session_status, 
 +       s.blocking_session, 
 +       w.event, 
 +       SUBSTR(q.sql_text, 1, 100) sql_text 
 +FROM gv$session s 
 +JOIN gv$sql q ON q.address = s.sql_address AND q.hash_value = s.sql_hash_value 
 +JOIN gv$process p ON p.addr = s.paddr 
 +JOIN gv$session_wait w ON w.sid = s.sid 
 +JOIN gv$instance y on y.INST_ID=s.INST_ID 
 +WHERE s.status = 'ACTIVE' 
 +  AND w.event NOT LIKE 'SQL%' 
 +  AND w.event NOT LIKE 'rdbms%' 
 +ORDER BY q.sql_id; 
 +</code> 
 + 
 +  * generate kill session  
 +<code PLSQL> 
 + select 'alter system kill session '||''''||sid||','||serial#||',' 
 +            ||'@'||INST_ID||''''||' immediate;'  
 +     from gv$session  
 +    where USERNAME='xxxxx' order by INST_ID; 
 +</code> 
 + 
 +  * lock 
 +<code PLSQL> 
 +SELECT 'Instance '||s1.INST_ID||' '|| s1.username || '@' || s1.machine 
 +    || ' ( SID=' || s1.sid || ','|| s1.serial#||s1.status||  )  is blocking ' 
 +    || s2.username || '@' || s2.machine || ' ( SID=' || s2.sid || ' ) ' ||s2.sql_id 
 +     FROM gv$lock l1, gv$session s1, gv$lock l2, gv$session s2 
 +    WHERE s1.sid=l1.sid AND 
 +     s1.inst_id=l1.inst_id AND 
 +     s2.sid=l2.sid AND 
 +     s2.inst_id=l2.inst_id AND 
 +     l1.BLOCK=1 AND 
 +    l2.request > 0 AND 
 +    l1.id1 = l2.id1 AND 
 +    l2.id2 = l2.id2 ; 
 +</code> 
 + 
 +  * Nombre de session en cours 
 +<code PLSQL> 
 +select count(MACHINE) from v$session; 
 +</code> 
 + 
 + 
 + 
 +  * modifier le nombre sessions possible (processes)
 <code PLSQL> <code PLSQL>
 SQL> show parameter processes; SQL> show parameter processes;