批次殺執行某條sql的session

zhcunique發表於2021-02-19

有些情況資料庫中存在大量執行某條相同sql的session卡死狀態,手工逐一殺工作量過大,重啟資料庫不現實,此刻需要如下語句對目標session進行批次殺,分享給大家。

BEGIN

   FOR i

      IN (SELECT     'alter system kill session '''

                 || m.sid

                 || ','

                 || m. serial#

                 || ''' immediate;'

                    ss ,

                 m. username ,

                 m. status ,

                 M. INST_ID

            FROM gv$session m

           WHERE m. sql_id = '70ddwj7363cd7' AND ROWNUM < 25 )

   LOOP

      --execute immediate i.ss;

      DBMS_OUTPUT.put_line ( i . ss );

   END LOOP;

END;

/

 

DBMS output 看查結果

複製貼上到資料庫中執行即可


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69994536/viewspace-2757596/,如需轉載,請註明出處,否則將追究法律責任。

相關文章