Oracle 阻塞會話的檢視與解除

2021-07-07 02:33:34 字數 1708 閱讀 1693

關於oracle 阻塞會話的檢視與解除,這裡只講操作步驟,不講原理。

session 1 更新物件單沒有提交

session 2 更新的時候由於等待session1 鎖更新行的tx 鎖而陷入阻塞

session 3更新的時候由於等待session1 鎖更新行的tx 鎖也陷入阻塞

問題的根源可以通過以下的查詢獲取。

可以看出sid 100和sid 33 都在以mode6(排他模式)請求tx 鎖,而陷入阻塞佇列。

在em中看的更加清楚一些。

檢視阻塞鎖

產看阻塞會話

原因和現象已經很明顯了。

解決方法,命令列方式,只要找到引起阻塞會話的 sid,serial#,問題就此可以解決。

確認鎖住的物件

事實上找到sid 就可以解決問題,

圖形介面的話

kill session 這個按鈕就可以解決,沒圖形的話那只能在命令列下

本文永久更新鏈結位址

select sid,type,lmode,request,ctime,block from v$lock where type ='tx'

select blocking_session,sid,wait_class,seconds_in_wait from v$session

where blocking_session is not null order by blocking_session desc

select * from v$lock where type ='tx'

select sid,serial# from v$session where machine ='xuchang-pc' and blocking_session is not null

alter system kill session '632,40769'

關鍵點是找到session通過session殺掉session

Oracle 連線 會話數的檢視,修改

檢視processes 當前的連線數 select count from v process 資料庫允許的連線數 select value from v parameter where name processes 檢視連線配置資訊 show parameter processes 修改連線數 al...

Oracle 連線 會話數的檢視,修改

檢視processes 當前的連線數 select count from v process 資料庫允許的連線數 select value from v parameter where name processes 檢視連線配置資訊 show parameter processes 修改連線數 al...

Oracle 檢視當前所有會話SQL和等待事件

select t2.sid,t2.serial 庫級唯一定位乙個session t1.spid os pid,作業系統的pid t3.sql id,t2.event,sqlid和等待事件 t2.p1text,t2.p1,等待事件的p1資訊 t2.p2text,t2.p2,等待事件的p2資訊 t2.p...