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 [06/05/2024 12:31] mdloracle:database:sessions [08/01/2025 08:38] (Version actuelle) mdl
Ligne 1: Ligne 1:
 ====== SESSIONS ====== ====== SESSIONS ======
 +  * utilisateur courant
 +<code PLSQL>
 +select user from dual
 +</code>
 +
   * sessions en cours   * sessions en cours
 <code PLSQL> <code PLSQL>
Ligne 19: Ligne 24:
        SUBSTR(b.machine,1,6) box,        SUBSTR(b.machine,1,6) box,
        SUBSTR(b.username,1,10) username,        SUBSTR(b.username,1,10) username,
---       b.server, 
        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
Ligne 27: Ligne 31:
 AND TYPE='USER' AND TYPE='USER'
 ORDER BY spid;  ORDER BY spid; 
 +</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>
 +
 +  * liste des sessions en cours
 +<code PLSQL>
 +SET lines 500
 +col LOGON_TIME format a15
 +col MACHINE format a20
 +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
 +FROM v$session b, v$process a
 +WHERE
 +b.paddr = a.addr
 +AND TYPE='USER'
 +ORDER BY spid;
 +</code>
 +
 +  * modifier le nombre sessions possible (processes)
 +<code PLSQL>
 +SQL> show parameter processes;
 +
 +NAME                                 TYPE        VALUE
 +------------------------------------ ----------- ------------------------------
 +aq_tm_processes                      integer     1
 +db_writer_processes                  integer     2
 +gcs_server_processes                 integer     2
 +global_txn_processes                 integer     1
 +job_queue_processes                  integer     80
 +log_archive_max_processes            integer     4
 +processes                            integer     400
 +
 +SQL> create pfile=/tmp/pfile_db1.ora from spfile;
 +SQL> alter system set processes=1000 scope spfile;
 +SQL> shutdown immediate
 +SQL> startup mount
 +SQL> alter database open
 </code> </code>