在Oracle中,如何查看某一個會話是否被其它會話阻塞?ide
SQL語句以下所示:spa
1SELECT A.BLOCKING_SESSION_STATUS, 2 A.BLOCKING_INSTANCE, 3 A.BLOCKING_SESSION, 4 A.EVENT 5 FROM GV$SESSION A 6 WHERE A.SID = 1070;
由上圖可知,1070會話被2號實例上的970會話阻塞。blog
BLOCKING_SESSION_STATUSit |
VARCHAR2(11)table |
標識當前會話是否被阻塞。VALID表示當前會話被阻塞,能夠經過BLOCKING_INSTANCE和 BLOCKING_SESSION列查找到阻塞會話;「NO HOLDER」表示沒有被阻塞;「NOT IN WAIT」表示當前會話未等待;UNKNOWN表示未知。class |
BLOCKING_INSTANCEim |
NUMBERmargin |
當BLOCKING_SESSION_STATUS的值爲VALID時,該列表示阻塞會話的實例號(Instance Number)。top |
BLOCKING_SESSIONimg |
NUMBER |
當BLOCKING_SESSION_STATUS的值爲VALID時,該列表示阻塞會話的SID。 |