溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle:db file scattered read

發布時間:2020-08-11 06:37:54 來源:ITPUB博客 閱讀:208 作者:Ryan_Bai 欄目:關系型數據庫

這個等待事件在實際生產庫中經??梢钥吹?,這是一個用戶操作引起的等待事件,當SESSION等待multi-block I/O完成時,會產生這個等待事件。

這通常發生在兩種情況下:全表掃描(FTS: Full Table Scan)和索引快速掃描(IFFS: index fast full scan)。

Oracle每次讀取一個連續塊的DB_FILE_MULTIBLOCK_READ_COUNT,并將它們分散到緩沖區緩存中。如何做到這一點取決于平臺和您正在運行的Oracle的發布。它也可能根據所讀取的設備類型和請求的塊的數量而變化。

這個等待事件有三個參數:

select event#,name,parameter1,parameter2,parameter3 from v$event_name where name = 'db file scattered read';
    EVENT# NAME                          PARAMETER1     PARAMETER2      PARAMETER3
---------- ----------------------------- -------------- --------------- ---------------
       154 db file scattered read        file#          block#          blocks
  • File#: 要讀取的數據塊所在數據文件的文件號。

  • Block#: 要讀取的起始數據塊號。

  • Blocks:需要讀取的數據塊數目。

一、等待——定位

  1. 會話信息
    查看哪些會話正在執行掃描,并跟蹤它們以查看掃描是否被期望是很有用的。

    SELECT sid, total_waits, time_waited
      FROM v$session_event
    WHERE event='db file scattered read'
      AND total_waits>0
    ORDER BY 3,2;
    也在V$SESSTAT中查詢具有高“table scans blocks gotten”的會話
    當這個等待事件比較顯著時,可以結合v$session_longops 動態性能視圖來進行診斷,該視圖中記錄了長時間(運行時間超過6 秒的)運行的事物。
  2. 表空間 & 數據文件

    可以查看AWR(或STATSPACK)報告的“Tablespace IO”和“File IO”部分,以及ADDM和ASH輸出。這些文件應該顯示哪些tablespaces / files正在為大多數I/O請求提供服務,并顯示I/O子系統的速度。在“db file scattered read”中所涉及的 tablespaces/files 將有 "Av Blks/Rd" > 1。
    讀取文件的文件也可以通過查看V$FILESTAT中BLKS_READ / READS > 1找到(大于1的比率指示出現了多個塊讀?。?。

  3. segments & objects
    查看哪些 segments/objects 對象執行讀操作。

  4. select event,p1,p2,p3,row_wait_obj# from gv$session where event = 'db file scattered read';
    select object_name,object_type from dba_objects where object_id=row_wait_obj#;
  5. SQL
    可以查看AWR報告的“Top SQL by Disk Reads”部分,以獲得任何導致高I/O的SQL的線索。如果啟用了統計信息收集,那么V$SQL_PLAN還可以使用完整掃描提供有關SQL語句的線索。
    V$SQL中高DISK_READS語句——在awr的“Top SQL by Disk Reads”部分中顯示。
    如果一個數據庫的大表掃描過多,那么db file scattered read等待事件可能同樣非常顯著。如果table scans (long tables)的per Trans值大于0,你可能需要增加適當的索引來優化你的SQL語句

二、等待——降低

“db file scattered read”的一些具體點包括:

  • 對SQL進行調優通常會獲得最大的收益。

  • 考慮分區以減少需要掃描的數據量。

  • 受影響的對象是否被稀疏地填充?如果是這樣,考慮縮減他們。

  • 考慮高級壓縮,以減少需要訪問的塊的數量。

  • 小心使用多個緩沖池和緩存選項可能會有幫助。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女