久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Oracle數(shù)據(jù)庫(kù)buffer busy wait等待事件

瀏覽:112日期:2023-11-29 11:09:53
當(dāng)會(huì)話(huà)意圖訪(fǎng)問(wèn)緩沖存儲(chǔ)器中的數(shù)據(jù)塊,而該數(shù)據(jù)塊正在被其它會(huì)話(huà)使用時(shí)產(chǎn)生buffer busy waits事件。其它會(huì)話(huà)可能正在從數(shù)據(jù)文件向緩沖區(qū)存儲(chǔ)器度曲同樣的數(shù)據(jù)塊,或正在緩沖存儲(chǔ)器中對(duì)其進(jìn)行修改。

為了確保讀取器會(huì)話(huà)擁有與獲得所有更改或無(wú)更改的數(shù)據(jù)塊一致的映像,正在修改該數(shù)據(jù)塊的會(huì)話(huà)在其標(biāo)題中標(biāo)記一個(gè)標(biāo)志,讓其他會(huì)話(huà)知道有一個(gè)更改正在進(jìn)行而等候更改的的完成。

視圖v$waitstat不是OWI的組件,但其為沒(méi)一類(lèi)緩沖區(qū)提供了有用的等待統(tǒng)計(jì)。遭遇buffer busy等待事件最常見(jiàn)的緩沖區(qū)類(lèi)為塊、段標(biāo)題、撤消塊、撤消標(biāo)題。

顯示一個(gè)查詢(xún)v$waitstat視圖的采樣輸出:

具體示例如下:

SELECT * FROM V$waitstat WHERE COUNT>0;

CLASS COUNT TIME

------------------ ---------- ----------

data block 4170082 1668098

segment header 116 98

undo header 916 1134

undo block 2087 1681

1、等待參數(shù)

buffer wait busy的等待參數(shù)描述如下:

P1 在Oracle 8及其以后版本的數(shù)據(jù)庫(kù)里,P1顯示詢(xún)問(wèn)數(shù)據(jù)塊駐留的絕對(duì)文件號(hào)。

P2 進(jìn)程需要訪(fǎng)問(wèn)的實(shí)際塊號(hào)。

P3 在Oracle10g以前的版本中,著是表示等待原因的數(shù)字。Oracle在內(nèi)河代碼中在

多個(gè)地方用不同的原因碼提交。該原因碼取決于版本。

2、等待時(shí)間

100厘秒或1秒。

· Oracle會(huì)話(huà)正在等待釘住一個(gè)緩沖區(qū)。必須在讀取或修改緩沖區(qū)前將它釘住。在任何

時(shí)刻只有一個(gè)進(jìn)程可以釘住一個(gè)緩沖區(qū)。

·buffer busy waits表明讀/讀、讀/寫(xiě)、寫(xiě)/寫(xiě)爭(zhēng)用。

·采取的適當(dāng)措施取決于P3參數(shù)中的原因碼。

在SGA中讀取或修改緩沖區(qū)的會(huì)話(huà)必須首先獲取cache buffers chains鎖存器,并且遍歷

這個(gè)緩沖區(qū)鏈,直到他發(fā)現(xiàn)必需的緩沖區(qū)頭。然后,他必須以共享模式或獨(dú)占模式獲取

一個(gè)緩沖區(qū)鎖或緩沖區(qū)頭上的pin,這取決于他計(jì)劃的操作。一旦緩沖區(qū)頭被釘住,會(huì)話(huà)

就釋放cache buffers chains鎖存器,并在緩沖區(qū)自身上執(zhí)行計(jì)劃的操作。如果無(wú)法獲

取一個(gè)pin,會(huì)話(huà)就在buffer busy waits等待事件上等待。這種等待時(shí)間不會(huì)應(yīng)用于在

會(huì)話(huà)的私有PGA中執(zhí)行的讀取或?qū)懭氩僮鳌?

3、診斷的原因、診斷和動(dòng)作

·表示為什么進(jìn)程無(wú)法獲得一個(gè)緩沖區(qū)pin的主要原因碼。

·buffer busy waits等待時(shí)間需要的塊類(lèi)。

·和buffer busy waits時(shí)間相關(guān)的SQL語(yǔ)句。

·緩沖區(qū)所屬的段。

--查找等待塊類(lèi)型

SELECT 'segment Header' CLASS,

a.Segment_Type,

a.Segment_Name,

a.Partition_Name

FROM Dba_Segments a,

V$session_Wait b

WHERE a.Header_File = b.P1

AND a.Header_Block = b.P2

AND b.Event = 'buffer busy waits'

UNION

SELECT 'freelist Groups' CLASS,

a.Segment_Type,

a.Segment_Name,

a.Partition_Name

FROM Dba_Segments a,

V$session_Wait b

WHERE b.P2 BETWEEN a.Header_Block + 1 AND (a.Header_Block + a.Freelist_Groups)

AND a.Header_File = b.P1

AND a.Freelist_Groups > 1

AND b.Event = 'buffer busy waits'

UNION

SELECT a.Segment_Type || ' Block' CLASS,

a.Segment_Type,

a.Segment_Name,

a.Partition_Name

FROM Dba_Extents a,

V$session_Wait b

WHERE b.P2 BETWEEN a.Block_Id AND a.Block_Id + a.Blocks - 1

AND a.File_Id = b.P1

AND b.Event = 'buffer busy waits'

AND NOT EXISTS (SELECT 1

FROM Dba_Segments

WHERE Header_File = b.P1

AND Header_Block = b.P2);

◆ 帶有原因碼130的數(shù)據(jù)塊(類(lèi)#1)爭(zhēng)用

如果buffer busy waits的等待事件主要集中在數(shù)據(jù)塊(類(lèi)#1)上,并且原因碼130,則

表明應(yīng)用程序運(yùn)行在同一時(shí)刻查詢(xún)相同數(shù)據(jù)集的多個(gè)會(huì)話(huà),采用如下三件事最小化問(wèn)題:

§減少并發(fā)級(jí)別或該表在運(yùn)行現(xiàn)成直接內(nèi)分區(qū)工作的方法。

§優(yōu)化SQL語(yǔ)句,減少物理讀取和邏輯讀取的數(shù)量。

§增加freeLists和freeList Groups的數(shù)量。

◆ 帶有原因碼220的數(shù)據(jù)塊(類(lèi)#1)爭(zhēng)用

多個(gè)會(huì)話(huà)同時(shí)在相同的對(duì)象上DML。采用如下三件事最小化問(wèn)題:

減少并發(fā)級(jí)別或改變劃分部分的方法。

減少塊中行的數(shù)量。

在另一個(gè)具有較小塊尺寸的表空間中重新構(gòu)建對(duì)象(Oracle 9i或以上版本)。

可以使用較大的PCTFREE重新構(gòu)建表或索引??梢允褂妹罡淖儽硪宰钚』總€(gè)塊的最

小行數(shù):

ALTER TABLE table_name MINIMIZE RECORDS_PER_BLOCK;

從Oracle 9i開(kāi)始,可以在另外一個(gè)具有較小的塊尺寸的表空間中移動(dòng)或重新構(gòu)建對(duì)象。

雖然這些動(dòng)作可以最小化buffer busy waits問(wèn)題,但是他們無(wú)疑將增加全表掃描時(shí)間

和磁盤(pán)空間利用率。常言道,世上沒(méi)有免費(fèi)的午餐。

◆ 數(shù)據(jù)段頭(類(lèi)#4)的爭(zhēng)用

如果buffer busy waits的等待時(shí)間主要集中在數(shù)據(jù)段頭(即表或索引段頭,并且不是

插銷(xiāo)段頭)上,這意味著數(shù)據(jù)庫(kù)中的一些表或索引具有高段頭活動(dòng)。如下解決問(wèn)題:

增加已經(jīng)確定對(duì)象的進(jìn)程FreeLists和FreeList Groups的數(shù)量。

確保PctFree和PctUsed之間內(nèi)的間隙不會(huì)太小。

確保下一個(gè)區(qū)尺寸不會(huì)太小。

如果不希望混浠FreeLists和FreeList Groups,可以依靠自動(dòng)段空間管理(Automatic

Segment Space Management,ASSM)特性,以分散從插入語(yǔ)句中引入的數(shù)據(jù)(9i特性)。

◆ 撤消段都(類(lèi)#17)的爭(zhēng)用

如果buffer busy waits等待時(shí)間主要集中在撤消段頭上,這表明數(shù)據(jù)庫(kù)中的回滾段

過(guò)少,或者他們的尺寸太小,從而造成對(duì)段頭的頻繁更新。如果在Oracle 9i中引入的系

統(tǒng)管理撤消,就不需要處理這種問(wèn)題,因?yàn)镺racle將根據(jù)需要增加額外的撤消段。

◆ 撤消塊的爭(zhēng)用(類(lèi)#18)

如果buffer busy waits等待時(shí)間主要集中在撤消塊上,這通常意味著多個(gè)并發(fā)會(huì)話(huà)同

時(shí)查詢(xún)更新的數(shù)據(jù)。當(dāng)應(yīng)用程序可以在不同的時(shí)間內(nèi)查詢(xún)和DML時(shí),這種問(wèn)題就不會(huì)存在。

◆ 系統(tǒng)級(jí)診斷

--文件等待次數(shù)

SELECT b.File_Id,

b.File_Name,

a.COUNT

FROM X$kcbfwait a,

Dba_Data_Files b

WHERE a.Indx = b.File_Id-1

AND a.COUNT > 0

ORDER BY a.COUNT;

主站蜘蛛池模板: 国产伦精品一区二区 | 欧美日韩国产一区二区三区 | 日日操视频 | 天天射射天天 | 成人国产精品久久 | 天堂中文网 | 国产成人久久精品一区二区三区 | 毛片在线网站 | 91精品国产乱码久 | www.日本精品 | 免费在线亚洲 | 精品久久久久久久久久久久久久 | 国产成人久久精品一区二区三区 | 99热精品在线 | 亚洲人免费视频 | 一区二区三区免费在线观看 | 日韩精品一区二区三区在线播放 | 国产乱码精品一区二区三区忘忧草 | 另类五月天 | 精品久久久久久久久久久久久久 | jlzzjlzz国产精品久久 | 伊人伊人| 成人免费视频在线观看 | 国产日韩在线播放 | 亚洲午夜在线 | 国产精品永久免费 | 成全视频免费观看在线看黑人 | 国产精品毛片久久久久久久 | 成人免费淫片aa视频免费 | 精品久久99| 999精品嫩草久久久久久99 | 日韩精品极品视频在线 | 久久精品99国产精品亚洲最刺激 | 天堂欧美城网站 | 国产农村妇女精品久久 | 国厂毛片 | 一级毛片在线免费看 | 国产精品一区二区三区在线播放 | 国产在线不卡 | 国产精品视频专区 | 久草成人网 |