ORACLE SQL ALTER SYSTEM KILL SESSION
Comment tuer, déconnecter une session utilisateur existante ou tuer un processus d'arrière-plan Oracle?.
Syntax commande SQL ALTER SYSTEM KILL/DISCONNECT SESSION.
ALTER SYSTEM { DISCONNECT SESSION 'sid, serial#' [ POST_TRANSACTION | IMMEDIATE ]} ;
ALTER SYSTEM { KILL SESSION 'sid, serial#' [ IMMEDIATE ]} ;
|
Trouver une session active Oracle avec les vues GV$ (G=Grid=RAC)
SQL> COLUMN inst_id FORMAT 9999 SQL> COLUMN sid FORMAT 9999 SQL> COLUMN serial# FORMAT 9999999 SQL> COLUMN spid FORMAT 9999 SQL> COLUMN username FORMAT A10 SQL> COLUMN program FORMAT A30 SQL> SET LINESIZE 150 SQL> SELECT s.inst_id, 2 s.sid, 3 s.serial#, 4 p.spid, 5 s.username, 6 s.program 7 FROM gv$session s 8 JOIN gv$process p ON p.addr = s.paddr AND p.inst_id = s.inst_id; INST_ID SID SERIAL# SPID USERNAME PROGRAM ------- ----- -------- ------------ ---------- ------------------------------ 1 170 1 5788 ORACLE.EXE (PMON) 1 169 1 5236 ORACLE.EXE (PSP0) 1 168 1 1304 ORACLE.EXE (MMAN) 1 167 1 4076 ORACLE.EXE (DBW0) 1 166 1 5328 ORACLE.EXE (LGWR) 1 165 1 3572 ORACLE.EXE (CKPT) 1 164 1 3932 ORACLE.EXE (SMON) 1 163 1 2292 ORACLE.EXE (RECO) 1 162 1 4000 ORACLE.EXE (MMON) 1 161 1 6064 ORACLE.EXE (MMNL) 1 160 3 5228 ORACLE.EXE (q000) INST_ID SID SERIAL# SPID USERNAME PROGRAM ------- ----- -------- ------------ ---------- ------------------------------ 1 158 1 6084 ORACLE.EXE (ARC0) 1 157 1 4432 ORACLE.EXE (ARC1) 1 140 14 3036 SYS sqlplus.exe 1 153 1 5912 ORACLE.EXE (QMNC) 1 143 5 4912 SYS sqlplus.exe 1 141 55 3804 SYSADM toad.exe 1 150 1 444 ORACLE.EXE (CJQ0) 1 148 1 3944 ORACLE.EXE (q001) 19 rows selected. SQL> |
Trouver une session qui a une Transaction active.
SQL> COLUMN STATUS FORMAT A10 SQL> COLUMN PROGRAM FORMAT A20 SQL> COLUMN MODULE FORMAT A20 SQL> SELECT T.STATUS, 2 T.START_TIME, 3 S.INST_ID, 4 S.SID, 5 S.SERIAL#, 6 S.USERNAME, 7 S.PROGRAM, 8 S.MODULE 9 FROM GV$TRANSACTION T 10 JOIN GV$SESSION S ON T.SES_ADDR = S.SADDR; STATUS START_TIME INST_ID SID SERIAL# USERNAME PROGRAM MODULE ---------- -------------------- ------- ----- -------- ---------- -------------------- ------------- ACTIVE 06/11/11 11:57:48 1 140 14 SYS sqlplus.exe sqlplus.exe SQL> |
KILL SESSION ORACLE.
SQL> ALTER SYSTEM KILL SESSION '140,14'; SQL> ALTER SYSTEM KILL SESSION '140,14' IMMEDIATE; En RAC 10G SQL> ALTER SYSTEM KILL SESSION '140,14,1'; En RAC 11G SQL> ALTER SYSTEM KILL SESSION '140,14,@1'; |
DISCONNECT SESSION ORACLE.
Attends la fin de la transaction existante et deconnexion (POST_TRANSACTION) SQL> ALTER SYSTEM DISCONNECT SESSION '140,14' POST_TRANSACTION; SQL> ALTER SYSTEM DISCONNECT SESSION '140,14' IMMEDIATE; |
Tuer une session Oracle avec ORAKILL à partir du système d'exploitation Windows.
INST_ID SID SERIAL# SPID USERNAME PROGRAM
------- ----- -------- ------------ ---------- ------------------------------
1 158 1 6084 ORACLE.EXE (ARC0)
1 157 1 4432 ORACLE.EXE (ARC1)
1 140 14 3036 SYS sqlplus.exe
1 153 1 5912 ORACLE.EXE (QMNC)
1 143 5 4912 SYS sqlplus.exe
1 141 55 3804 SYSADM toad.exe
1 150 1 444 ORACLE.EXE (CJQ0)
1 148 1 3944 ORACLE.EXE (q001)
C:\> orakill 'instance_name' 'spid'
C:\> orakill dbtest 3036
|
Tuer un process Oracle avec kill -9 sous UNIX.
% ps -ef | grep DBTEST oracle 4200 1 0 12:54:10 ? 0:01 ora_smon_DBTEST oracle 4201 1 0 12:54:10 ? 0:00 ora_arc0_DBTEST oracle 4210 1 0 12:54:10 ? 0:02 ora_lgwr_DBTEST oracle 4212 1 0 12:54:10 ? 0:00 ora_ckpt_DBTEST oracle 4230 1 2 11:32:19 ? 0:00 oracleTARGDB (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq))) oracle 4237 1 0 12:54:10 ? 0:20 ora_qmn0_DBTEST oracle 4321 1 0 12:54:10 ? 0:00 ora_arc1_DBTEST oracle 4325 1 0 12:54:11 ? 0:00 ora_dbw0_DBTEST oracle 4340 1 0 12:54:11 ? 0:00 ora_reco_DBTEST oracle 4376 1 0 12:54:11 ? 0:02 ora_pmon_DBTEST oracle 4389 1 0 12:54:11 ? 0:00 ora_cjq0_DBTEST % kill -9 4230 |
| Liens en rapport avec l'article et qui sont susceptibles de vous intéresser |
|
• Oracle USER Quota - Account Lock Unlock -
Expire • Create USER Oracle |