真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Oracleevent之dbfileread怎么用

這篇文章主要介紹Oracle  event之db file read怎么用,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

我們提供的服務(wù)有:成都做網(wǎng)站、網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、曾都ssl等。為成百上千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學管理、有技術(shù)的曾都網(wǎng)站制作公司

  • db file sequential read (single block read into one SGA buffer)

  • db file scattered read (multiblock read into many discontinuous SGA buffers)

  • direct read (single or multiblock read into the PGA, bypassing the SGA)

Oracle  event之db file read怎么用

  1. 最為常見的是執(zhí)行計劃中包含了INDEX FULL SCAN/UNIQUE SCAN,此時出現(xiàn)”db file sequential read”等待是預料之中的,一般不需要我們?nèi)ヌ貏e關(guān)注

  2.當執(zhí)行計劃包含了INDEX RANGE SCAN-(“TABLE ACCESS BY INDEX ROWID”/”DELETE”/”UPDATE”), 服務(wù)進程將按照”訪問索引->找到rowid->訪問rowid指定的表數(shù)據(jù)塊并執(zhí)行必要的操作”順序訪問index和table,每次物理 讀取都會進入”db file sequential read”等待,且每次讀取的都是一個數(shù)據(jù)塊;這種情況下clustering_factor將發(fā)揮其作用,需要我們特別去關(guān)注,本例中提及的解決方法對 這種情景也有效

 3.Extent boundary,假設(shè)一個Extent區(qū)間中有33個數(shù)據(jù)塊,而一次”db file scattered read”多塊讀所讀取的塊數(shù)為8,那么在讀取這個區(qū)間時經(jīng)過4次多塊讀取后,還剩下一個數(shù)據(jù)塊,但是請記住多塊讀scattered read是不能跨越一個區(qū)間的(span an extent),此時就會單塊讀取并出現(xiàn)”db file sequential read”。這是一種正?,F(xiàn)象,一般不需要額外關(guān)注

 4.假設(shè)某個區(qū)間內(nèi)有8個數(shù)據(jù)塊,它們可以是塊a,b,c,d,e,f,g,h,恰好當前系統(tǒng)中除了d塊外的其他數(shù)據(jù)塊都已經(jīng)被緩存在buffer cache中了,而這時候恰好要訪問這個區(qū)間中的數(shù)據(jù),那么此時就會單塊讀取d這個數(shù)據(jù)塊,并出現(xiàn)”db file sequential read”等待。注意這種情況不僅于表,也可能發(fā)生在索引上。這是一種正?,F(xiàn)象,一般不需要額外關(guān)注

5.chained/migrated rows即鏈式或遷移行,這里我們不介紹鏈式行的形成原因,chained/migrated rows會造成服務(wù)進程在fetch一行記錄時需要額外地單塊讀取,從而出現(xiàn)”db file sequential read”。這種現(xiàn)象需要我們特別去關(guān)注,因為大量的鏈式/遷移行將導致如FULL SCAN等操作極度惡化(以往的經(jīng)驗是一張本來全表掃描只需要30分鐘的表,在出現(xiàn)大量鏈式行后,全表掃描需要數(shù)個小時),同時也會對其他操作造成不那么 明顯的性能影響??梢酝ㄟ^監(jiān)控v$sysstat視圖中的”table fetch continued row”操作統(tǒng)計來了解系統(tǒng)中鏈式/遷移行訪問的情況,還可以通過DBA_TBALES視圖中的CHAIN_CNT來了解表上的鏈式/遷移行情況,當然這 要求定期收集表上的統(tǒng)計信息;如果沒有定期收集的習慣,那么可以配合@?/rdbms/admin/utlchain腳本和analyze table list chained rows 命令來獲取必要的鏈式行信息

6.創(chuàng)建Index entry,顯然當對表上執(zhí)行INSERT操作插入數(shù)據(jù)時,雖然在執(zhí)行計劃中你看不到過多的細節(jié),但實際上我們需要利用索引來快速驗證表上的某些約束是否 合理,還需要在索引的葉子塊中插入相關(guān)的記錄,此時也可能出現(xiàn)”db file sequential read”等待事件,當然這還和具體的插入的方式有關(guān)系。這是一種正?,F(xiàn)象,一般不需要額外關(guān)注

7.針對表上的UPDATE/DELETE,不同于之前提到的”INDEX RANGE SCAN-UPDATE/DELETE”,如果我們使用rowid去更新或刪除數(shù)據(jù)時,服務(wù)進程會先訪問rowid指向的表塊(注意是先訪問table block)上的行數(shù)據(jù),之后會根據(jù)該行上的具體數(shù)據(jù)去訪問索引葉子塊(注意Oracle并不知道這些leaf block在哪里,所以這里同樣要如range-scan/unique-scan那樣去訪問index branch block),這些訪問都將會是單塊讀取,并會出現(xiàn)’db file sequential read’,完成必要的讀取后才會執(zhí)行更新或刪除的實際EXEC操作

db file sequential read   當進程需要的信息不在SGA,要等待從磁盤讀入SGA中,此時進程等待此事件。一般是由sql或者遞歸sql中發(fā)出,從索引,回滾段,表(rowid回表),控制文件,數(shù)據(jù)文件頭處讀取信息觸發(fā).要減少這個等待事件,要么減少它的次數(shù),要么減少平均等待時間。通過調(diào)優(yōu)SQL來減少邏輯讀,留意效率低的大范圍索引掃描回表(可能全表掃更好),可以減低次數(shù)。用更高響應時間的存儲,分散熱點文件,可以減輕平均等待時間。在新的存儲子系統(tǒng),平均單塊讀等待時間不應超過10ms(千分之一秒)。通過p1與p2參數(shù)與dba_extents視圖,我們定位到等待訪問的段,然后來分散熱點。

官檔等待事件:performance tuning guide  --- wait events statistics

以上是“Oracle  event之db file read怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


當前名稱:Oracleevent之dbfileread怎么用
轉(zhuǎn)載來源:http://weahome.cn/article/jijich.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部