Oracle Session Kill Etmek

Bu yazımızda oracle sessionu nasıl tespit edilir ve nasıl kill edilir inceleyelim, Oracle’da sessin kill etmek için iki bilgiye ihtiyacımız var, bunlar; SID ve SERIAL#. Bunları gv$session viewinden aşağıdaki gibi yakalayabiliriz.

ALTER SYSTEM KILL SESSION

Genel syntax:

ALTER SYSTEM KILL SESSION 'sid,serial#';

Sessionları belirlemek için SQL sorgusu.

 
SELECT s.inst_id,
s.sid,
s.serial#,
p.spid,
s.username,
s.program,
s.terminal,
s.logon_time,
s.module,
'Alter System Kill Session '||''''||s.sid||','||s.serial#||''''||';' kill_sql
FROM gv$session s
JOIN gv$process p ON p.addr = s.paddr
AND p.inst_id = s.inst_id
WHERE s.type != 'BACKGROUND';
 
SQL> Alter system kill session '23,45164';

ALTER SYSTEM KILL SESSION IMMEDIATE

Alter system kill session dediğimizde oracle kill edilecek sessionu işaretler ve transactionun sonlanmasını bekler.Eğer işlemlerin bitmesini beklemek istemiyorsak IMMEDIATE vererek kill edebiliriz, IMMEDIATE ile sessionun transactionları rollback edilir ve session sonlandırılır.

 
SQL> ALTER SYSTEM KILL SESSION 'sid,serial#' IMMEDIATE;
 
SQL> ALTER SYSTEM KILL SESSION '24,56898' IMMEDIATE;

Oracle sessionları sqlplus’tan komutlarla, toad, plsql developer,sqldeveloper gibi toollardan arayüz ile
kolayca kill edilebilir, peki operating system tarafında nasıl kill edebiliriz ona da bakalım.

Windows sistemlerde oracle session kill etmek

C:\> orakill ORACLE_SID spid

C:\> orakill TESTDB 324

Unix-Linux sistemlerde oracle session kill etmek

% kill -9 spid
ps -ef | grep ora
Komutu ile unixte çalışan processlere bakabiliriz..

*Komutları çalıştırmadan önce doğru sesionu kill etiğinizden emin olun.
*Yanlış sessionu kill etmeniz oracle’ı ya da işlemtim sisteminin yığılmasına neden olabilir.

Tagged: , , , , , , ,

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir