溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle inactive session的清理

發布時間:2020-02-27 04:32:08 來源:網絡 閱讀:733 作者:lych528 欄目:關系型數據庫

STATUS

ACTIVE - Session currently executing SQL

INACTIVE

KILLED - Session marked to be killed

CACHED - Session temporarily cached for use by Oracle*XA

SNIPED - Session inactive, waiting on the client

(1)active 處于此狀態的會話,表示正在執行,處于活動狀態。

        官方文檔說明:

        Any session that is connected to the database and is waiting for an event that does not belong to the Idle wait class is considered as an active session.

(2)killed處于此狀態的會話,被標注為刪除,表示出現了錯誤,正在回滾。

        當然,也是占用系統資源的。還有一點就是,killed的狀態一般會持續較長時間,而且用windows下的工具pl/sql developer來kill掉,是不管用的,要用命令:alter system kill session 'sid,serial#' ;

(3)inactive 處于此狀態的會話表示不是正在執行的

        該狀態處于等待操作(即等待需要執行的SQL語句),通常當DML語句已經完成。 但連接沒有釋放,這個可能是程序中沒有釋放,如果是使用中間件來連接的話,也可能是中間件的配置或者是bug 導致。

        inactive對數據庫本身沒有什么影響,但是如果程序沒有及時commit,那么就會造成占用過多會話。容易是DB 的session 達到極限值。

解決方法:

1 SQLNET.EXPIRE_TIME (適當設置大?。?br/>2 alter profile default limit idle_time 5;

根據下列SQL,再根據應用服務器主機名,可判斷應用的連接數情況:

SELECT b.MACHINE, b.PROGRAM, COUNT (*)
FROM v$process a, v$session b

WHERE a.ADDR = b.PADDR AND b.USERNAME IS NOT NULL
ADN A.TYPE !='BACKGROUND'
and a.status in ('ACTIVE','INACTIVE')
GROUP BY b.MACHINE, b.PROGRAM
ORDER BY COUNT (*) DESC;

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女