婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > Oracle 阻塞(blocking blocked)介紹和實(shí)例演示

Oracle 阻塞(blocking blocked)介紹和實(shí)例演示

熱門標(biāo)簽:車瑪仕極限運(yùn)動(dòng)場(chǎng)所地圖標(biāo)注 地圖標(biāo)注怎么保存 N個(gè)你智能電銷機(jī)器人 高德地圖標(biāo)注公司名字大全 騰訊地圖標(biāo)注要費(fèi)用嗎 外呼電話系統(tǒng)用卡嗎 電渠外呼系統(tǒng) 廣東營(yíng)銷智能外呼系統(tǒng)商家 七日殺a19.5全地圖標(biāo)注

阻塞是DBA經(jīng)常碰到的情形,尤其是不良的應(yīng)用程序設(shè)計(jì)的阻塞將導(dǎo)致性能嚴(yán)重下降直至數(shù)據(jù)庫(kù)崩潰。對(duì)DBA而言,有必要知道如何定位到當(dāng)前系統(tǒng)有哪些阻塞,到底誰(shuí)是阻塞者,誰(shuí)是被阻塞者。本文對(duì)此給出了描述并做了相關(guān)演示。

1、阻塞及其類型

a、什么是阻塞
   一個(gè)會(huì)話持有某個(gè)資源的鎖,而另一個(gè)會(huì)話在請(qǐng)求這個(gè)資源,就會(huì)出現(xiàn)阻塞(blocking)。也就是說新的會(huì)話會(huì)被掛起,直到持有鎖的會(huì)話放棄鎖定的資源。大多數(shù)情況下,在一個(gè)交互式應(yīng)用中被嚴(yán)重阻塞,即可表明應(yīng)用邏輯有問題,這才是阻塞的根源。
b、阻塞得類型
   數(shù)據(jù)庫(kù)中有5條常見的DML語(yǔ)句可能會(huì)阻塞,即:INSERT、UPDATE、DELETE、MERGE 和SELECT FOR UPDATE。

2、幾種不同類型阻塞的處理辦法

a、INSERT阻塞主要是由于有一個(gè)帶主鍵的表,或者表上有惟一的約束,在兩個(gè)會(huì)話試圖用同樣的值插入一行時(shí)引發(fā)阻塞。多表通過引用完整性約束相互鏈接時(shí),在其依賴的父表正在創(chuàng)建或刪除期間,對(duì)子表的插入可能會(huì)阻塞。對(duì)于該類情形建議使用序列來生成主鍵/惟一列值。
b、對(duì)于UPDATE、DELETE、MERGE 和SELECT FOR UPDATE阻塞,只要有任一session使用這些操作已經(jīng)鎖定行,其余的必須處于等待狀態(tài)。直到當(dāng)前鎖定行上的鎖(排他鎖)釋放。對(duì)于該類情形,建議盡可能快速提交事務(wù),或采用批量SQL方式提交。
c、對(duì)于一個(gè)阻塞的SELECT FOR UPDATE,解決方案很簡(jiǎn)單:只需增加NOWAIT 子句,它就不會(huì)阻塞了。

3、演示阻塞

--更新表,注,提示符scott@CNMMBO表明用戶為scott的session,用戶名不同,session不同。
scott@CNMMBO> update emp set sal=sal*1.1 where empno=7788;

1 row updated.

scott@CNMMBO> @my_env

SPID    SID SERIAL# USERNAME  PROGRAM
------------ ---------- ---------- --------------- ------------------------------------------------
11205    1073  4642 robin   oracle@SZDB (TNS V1-V3)

--另起兩個(gè)session更新同樣的行,這兩個(gè)session都會(huì)處于等待,直到第一個(gè)session提交或回滾
leshami@CNMMBO> update scott.emp set sal=sal+100 where empno=7788;

goex_admin@CNMMBO> update scott.emp set sal=sal-50 where empno=7788;

--下面在第一個(gè)session 查詢阻塞情況
scott@CNMMBO> @blocker 

BLOCK_MSG            BLOCK
-------------------------------------------------- ----------
pts/5 ('1073,4642') is blocking 1067,10438     1
pts/5 ('1073,4642') is blocking 1065,4464     1
--上面的結(jié)果表明session 1073,4642 阻塞了后面的2個(gè)
--即session 1073,4642是阻塞者,后面2個(gè)session是被阻塞者

--Author : Leshami
--Blog : http://blog.csdn.net/leshami

--下面查詢正在阻塞的session id,SQL語(yǔ)句以及被阻塞的時(shí)間
scott@CNMMBO> @blocking_session_detail.sql

'SID='||A.SID||'WAITCLASS='||A.WAIT_CLASS||'TIME='||A.SECONDS_IN_WAIT||CHR(10)||'QUERY='||B.SQL_TEXT
-------------------------------------------------------------------------------------------------------
sid=1067 Wait Class=Application Time=5995
 Query=update scott.emp set sal=sal+100 where empno=7788

sid=1065 Wait Class=Application Time=225
 Query=update scott.emp set sal=sal-50 where empno=7788

--下面的查詢阻塞時(shí)鎖的持有情況 
scott@CNMMBO> @request_lock_type

USERNAME        SID TY LMODE  REQUEST   ID1  ID2
------------------------------ ---------- -- ----------- ----------- ---------- ----------
SCOTT        1073 TX Exclusive None   524319  27412
LESHAMI        1067 TX None  Exclusive  524319  27412
GOEX_ADMIN       1065 TX None  Exclusive  524319  27412
--可以看到LESHAMI,GOEX_ADMIN 2個(gè)用戶都在請(qǐng)求524319/27412上的Exclusive鎖,而此時(shí)已經(jīng)被SCOTT加了Exclusive鎖

--查詢阻塞時(shí)鎖的持有詳細(xì)信息
scott@CNMMBO> @request_lock_detail

  SID USERNAME    OSUSER   TERMINAL     OBJECT_NAME   TY Lock Mode Req_Mode
---------- -------------------- --------------- ------------------------- -------------------- -- ----------- --------------------
  1065 GOEX_ADMIN   robin   pts/1      EMP     TM Row Excl
  1065 GOEX_ADMIN   robin   pts/1      Trans-524319   TX --Waiting-- Exclusive
  1067 LESHAMI    robin   pts/0      EMP     TM Row Excl
  1067 LESHAMI    robin   pts/0      Trans-524319   TX --Waiting-- Exclusive
  1073 SCOTT    robin   pts/5      EMP     TM Row Excl
  1073 SCOTT    robin   pts/5      Trans-524319   TX Exclusive 

文中涉及到的相關(guān)腳本如下:

robin@SZDB:~/dba_scripts/custom/sql> more my_env.sql 
SELECT spid, s.sid, s.serial#, p.username, p.program
FROM v$process p, v$session s
WHERE p.addr = s.paddr
  AND s.sid = (SELECT sid
     FROM v$mystat
     WHERE rownum = 1);

robin@SZDB:~/dba_scripts/custom/sql> more blocker.sql 
col block_msg format a50; 
select c.terminal||' ('''||a.sid||','||c.serial#||''') is blocking '||b.sid||','||d.serial# block_msg, a.block 
from v$lock a,v$lock b,v$session c,v$session d 
 where a.id1=b.id1 
 and a.id2=b.id2 
 and a.block>0
 and a.sid >b.sid 
 and a.sid=c.sid 
 and b.sid=d.SID; 

robin@SZDB:~/dba_scripts/custom/sql> more blocking_session_detail.sql
--To find the query for blocking session

--Access Privileges: SELECT on v$session, v$sqlarea

SELECT  'sid='
   || a.SID
   || ' Wait Class='
   || a.wait_class
   || ' Time='
   || a.seconds_in_wait
   || CHR (10)
   || ' Query='
   || b.sql_text
 FROM v$session a, v$sqlarea b
 WHERE a.blocking_session IS NOT NULL AND a.sql_address = b.address
ORDER BY a.blocking_session
/
robin@SZDB:~/dba_scripts/custom/sql> more request_lock_type.sql
--This script generates a report of users waiting for locks.
--Access Privileges: SELECT on v$session, v$lock

SELECT sn.username, m.sid, m.type,
  DECODE(m.lmode, 0, 'None',
      1, 'Null',
      2, 'Row Share',
      3, 'Row Excl.',
      4, 'Share',
      5, 'S/Row Excl.',
      6, 'Exclusive',
    lmode, ltrim(to_char(lmode,'990'))) lmode,
  DECODE(m.request,0, 'None',
       1, 'Null',
       2, 'Row Share',
       3, 'Row Excl.',
       4, 'Share',
       5, 'S/Row Excl.',
       6, 'Exclusive',
       request, ltrim(to_char(m.request,
    '990'))) request, m.id1, m.id2
FROM v$session sn, v$lock m
WHERE (sn.sid = m.sid AND m.request != 0)
  OR (sn.sid = m.sid
    AND m.request = 0 AND lmode != 4
    AND (id1, id2) IN (SELECT s.id1, s.id2
  FROM v$lock s
      WHERE request != 0
    AND s.id1 = m.id1
        AND s.id2 = m.id2)
    )
ORDER BY id1, id2, m.request; 
robin@SZDB:~/dba_scripts/custom/sql> more request_lock_detail.sql
set linesize 190
col osuser format a15
col username format a20 wrap
col object_name format a20 wrap
col terminal format a25 wrap
col Req_Mode format a20
select B.SID, C.USERNAME, C.OSUSER, C.TERMINAL,
  DECODE(B.ID2, 0, A.OBJECT_NAME,
   'Trans-'||to_char(B.ID1)) OBJECT_NAME,
  B.TYPE,
  DECODE(B.LMODE,0,'--Waiting--',
      1,'Null',
      2,'Row Share',
      3,'Row Excl',
     4,'Share',
      5,'Sha Row Exc',
   6,'Exclusive',
      'Other') "Lock Mode",
  DECODE(B.REQUEST,0,' ',
      1,'Null',
      2,'Row Share',
      3,'Row Excl',
      4,'Share',
      5,'Sha Row Exc',
      6,'Exclusive',
      'Other') "Req_Mode"
 from DBA_OBJECTS A, V$LOCK B, V$SESSION C
where A.OBJECT_ID(+) = B.ID1
 and B.SID = C.SID
 and C.USERNAME is not null
order by B.SID, B.ID2;
您可能感興趣的文章:
  • Oracle阻塞(blockingblocked)實(shí)例詳解

標(biāo)簽:玉樹 棗莊 贛州 遼寧 長(zhǎng)沙 來賓 大興安嶺 蘇州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Oracle 阻塞(blocking blocked)介紹和實(shí)例演示》,本文關(guān)鍵詞  Oracle,阻塞,blocking,blocked,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Oracle 阻塞(blocking blocked)介紹和實(shí)例演示》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Oracle 阻塞(blocking blocked)介紹和實(shí)例演示的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日韩经典一区二区| 蜜桃av一区二区三区电影| 亚洲一区av在线| www.久久久久久久久| 久久久久国产精品麻豆ai换脸| 欧美国产1区2区| 美腿丝袜亚洲色图| 精品噜噜噜噜久久久久久久久试看| 色女孩综合影院| 国产精品家庭影院| 91在线丨porny丨国产| 中文天堂在线一区| 成人99免费视频| 亚洲综合成人在线视频| 欧美系列日韩一区| 亚洲国产sm捆绑调教视频 | 韩国精品一区二区| 91色porny在线视频| 一区二区三区国产| 亚洲国产精品v| 一本久久综合亚洲鲁鲁五月天| 国产精品一二三| 国产日韩高清在线| 国产酒店精品激情| 亚洲激情欧美激情| 91精品免费在线| 一区二区三区精品在线| 欧美mv日韩mv国产网站| 国产高清不卡一区| 18欧美乱大交hd1984| 国产精品亚洲人在线观看| 国产欧美一区二区三区在线看蜜臀| 日韩欧美中文一区| 久久精品99国产国产精| 国产欧美一区二区三区沐欲| 欧美日韩视频不卡| 久久电影网电视剧免费观看| 亚洲色图20p| 欧美日韩国产成人在线免费| 国产成人av福利| 亚洲精品中文字幕在线观看| 豆国产96在线|亚洲| 首页国产丝袜综合| 91精品国产91热久久久做人人 | 2023国产精品| 国产成人免费视频网站| 久久青草欧美一区二区三区| 欧美一区二区视频免费观看| 国产在线乱码一区二区三区| 三级影片在线观看欧美日韩一区二区| 九色|91porny| 亚洲国产日韩综合久久精品| 欧美精品一区男女天堂| 亚洲国产电影在线观看| 在线综合视频播放| 国产1区2区3区精品美女| 久久精品国产亚洲高清剧情介绍| 99re6这里只有精品视频在线观看| 日韩色在线观看| 免费一级欧美片在线观看| 欧美国产精品中文字幕| 欧美美女直播网站| av电影天堂一区二区在线观看| 91精品久久久久久久91蜜桃| 高清在线观看日韩| 男男视频亚洲欧美| 亚洲电影在线播放| 国产片一区二区三区| 中文字幕免费在线观看视频一区| 奇米在线7777在线精品| 亚洲精品成人精品456| 91视频一区二区三区| 国产精品18久久久久久久久| 亚洲成a人在线观看| 日韩欧美中文字幕公布| 欧美性大战久久| 91丨九色丨国产丨porny| 在线观看国产日韩| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 精品999久久久| 欧美成人午夜电影| 欧美日韩电影一区| 欧美亚洲丝袜传媒另类| 美女脱光内衣内裤视频久久网站| 95精品视频在线| 国产成人a级片| 国产一区二区91| 99在线精品免费| 国产精品一区二区男女羞羞无遮挡 | 精品一区二区免费看| 精品综合久久久久久8888| 亚洲成人第一页| 精品一区二区三区在线观看国产| 欧美日韩精品欧美日韩精品一| 国产亚洲精品aa午夜观看| 欧美激情中文不卡| 国产日产欧产精品推荐色| 久久久久久久网| 国产午夜亚洲精品午夜鲁丝片| 欧美在线一区二区| 欧美视频一区在线| 国产亚洲一二三区| 国产精品午夜久久| 欧美中文字幕亚洲一区二区va在线| 国产一区三区三区| 国产麻豆精品一区二区| 色婷婷亚洲一区二区三区| 91国产视频在线观看| 国产日韩成人精品| 亚洲国产岛国毛片在线| 轻轻草成人在线| 国产一区二区三区综合| 欧美视频日韩视频在线观看| 欧美成人video| 亚洲综合色成人| 日日骚欧美日韩| 91影院在线观看| 日韩视频一区二区在线观看| 亚洲精品国产无天堂网2021| 青椒成人免费视频| 国内精品久久久久影院薰衣草 | 韩国精品久久久| 丁香亚洲综合激情啪啪综合| 高清不卡在线观看| 欧美tickling网站挠脚心| 国产目拍亚洲精品99久久精品| 国产欧美日韩麻豆91| 亚洲精品国产a久久久久久| 国产一区二区三区电影在线观看 | 国产精品天干天干在线综合| 国产精品久久久久久久久晋中| 福利一区二区在线观看| 亚洲一区欧美一区| 美女高潮久久久| 精品日韩在线观看| 亚洲图片你懂的| 91亚洲精品久久久蜜桃| 亚洲精品一区二区精华| 美日韩黄色大片| 欧美乱妇15p| 亚洲国产sm捆绑调教视频| 国产老妇另类xxxxx| 亚洲精品少妇30p| 精品无码三级在线观看视频| 色综合久久六月婷婷中文字幕| 久久精品国产久精国产爱| 美女在线一区二区| 欧美亚洲国产bt| 亚洲免费av在线| 欧美日韩免费一区二区三区| 成人欧美一区二区三区在线播放| 懂色av一区二区三区蜜臀| 26uuu精品一区二区| 国产精品123| 26uuu国产一区二区三区| 国产成人综合在线| 国产校园另类小说区| 日韩在线一区二区| 欧美一区中文字幕| 五月天一区二区三区| 日韩精品一区二区三区在线播放| 精品99999| 国产亚洲女人久久久久毛片| gogo大胆日本视频一区| 国产精品久线在线观看| 欧美日韩精品系列| 一区二区在线观看免费视频播放| 欧美一区二区三级| 成人国产精品免费观看动漫| 国产精品久久久爽爽爽麻豆色哟哟| 欧美亚一区二区| 日韩av电影免费观看高清完整版 | 激情偷乱视频一区二区三区| 国产精品久久久久一区二区三区共| 国产福利91精品一区二区三区| 亚洲免费观看高清完整| 欧美色电影在线| 国产成人av一区二区| 亚洲视频一区二区在线观看| 欧美成人猛片aaaaaaa| 国产一区二区三区四区在线观看| 一区二区三区四区精品在线视频| 欧美性生活大片视频| 国产精品69毛片高清亚洲| 国产精品国模大尺度视频| 欧美成人女星排名| 99热在这里有精品免费| 国产在线精品一区二区夜色 | 亚洲国产精品精华液网站| 91福利社在线观看| 菠萝蜜视频在线观看一区| 中文字幕一区二区视频| 久久色.com| 久久精品99国产精品| 亚洲一卡二卡三卡四卡| 91最新地址在线播放| 国产成人一区在线| 国产欧美日韩另类视频免费观看| 91精品国产综合久久精品图片| 亚洲1区2区3区视频|