Oracle EBS Concurrent PL/SQL ile Kill İşlemi
Bazı zamanlar başlatılan eşzamanlı (conccurrent) ‘lar uzun zaman çalışmakta ve sonlanmamaktadır. Form ekranından CANCEL edilmesine rağmen database objeleri locklanır ve işlemler bitene kadar lock kalkmaz. Bu durumlarda bu objeleri tekrar kullanamayız. Bu durumlarda toad üzeriden Session Browser ile aşağıda verdiğim select komutu ile çekilen bilgiler doğrultusunda session kill edilebilir. Direkt olarak Pl/SQL ile de kill işlemi yapılabilir. Aşağıda kodlarını paylaşıyorum.
SID ve SERIAL Bulma
1 2 3 4 5 6 7 8 |
SELECT vs.sid, vs.serial# FROM v$session vs, v$process vp WHERE vs.paddr = vp.addr AND vp.spid IN (SELECT oracle_process_id FROM fnd_concurrent_requests WHERE request_id = &Request_ID); --&Request_ID alanına concurrent'in request id si yazilir. |
Kill Etme
1 2 3 4 |
ALTER SYSTEM KILL SESSION 'SID, SERIAL' IMMEDIATE; --SID alanına yukaridaki sorgudan dönen SID yazilir. --SERIAL alanına yukaridaki sorgudan dönen SERIAL yazılır. |
İyi çalışmalar.