成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺談Oracle Buffer Cache的優化思路

數據庫 Oracle
本文主要介紹了Oracle數據庫中Database Buffer Cache的優化方法,給出了詳細的優化代碼,并解釋了影響優化的因素等等,希望會對讀者有所幫助。

Buffer Cache

The database buffer cache is the portion of the SGA that holds copies of data blocks read from datafiles. All user processes concurrently connected to the instance share access to the database buffer cache是sga的一部分,用于保持從數據文件讀取數據塊的副本。所有用戶進程共同訪問database buffer cache。

數據庫的讀寫操作應盡量在內存中完成,減少IO次數是數據庫性能優化的基本策略。

優化buffer cache的思路:

1)根據經驗設置db_cache_size參數,例如,db_cache_size=SGA_TARGET*80%。

2)分析AWR報告中的Buffer Hit值(Instance Efficiency Percentages (Target 100%) )。

需要關注的等待事件(如果這些等待事件出現在Top-5中,則說明Buffer Cache工作效率不高):

  1. Latch:cache buffer chains  
  2.  
  3. Latch:cache buffer LRU chains  
  4.  
  5. Buffer busy waits  
  6.  
  7. Read waits  
  8.  
  9. Free buffer waits  
  10.  
  11. Latch:cache buffer chains與Latch:cache buffer LRU chains 

表示數據庫中存在一些數據塊被頻繁讀取,即所謂的熱塊數據。如,頻繁讀取的代碼表(?),UNDO頭數據(?)、單調增長的索引等。

以下可以查詢熱塊數據:

 

  1. select * from (select owner,object_name,object_type,statistic_name,sum(value)  
  2.  
  3. from v$segment_statistics  
  4.  
  5. group by owner,object_name,object_type,statistic_name  
  6.  
  7. order by sum(value) desc)  
  8.  
  9. where rownum<10

 

優化方法:如,減少代碼數據的讀取次數,使用reverse key索引,以及10g的Global Hash-patition分區索引等。

Buffer busy waits

表示多個應用在并發訪問某個Buffer Cache數據塊時出現等待事件。這種數據塊可能是應用表或索引,也可能是UNDO(?)、Segment Header(?)等系統數據。

以下可以查詢等待事件涉及的對象:

 

  1. select object_name,statistic_name,value   
  2.  
  3. from v$segment_statistics   
  4.  
  5. where statistic_name ='buffer busy waits' and value > 2000; 

 

優化方法:如,分析是否有全表掃描,索引是否太多,索引單調增長等,歸根到底還是分析應用。

Read waits

包括:db file sequential read、db file parallel read、db file scattered read。一般而言,只要db file scattered read不是最主要的等待事件,或者所占比例不高,上述事件即使出現在Top-5等待事件中也是正常現象。

如果這些等待事件非常高,或者所占比例很高。優化方法:1,同樣地,首先優化應用,如是否有太多的全表掃描,索引碎片是否嚴重。2.適當擴大db_cache_size。3.分析磁盤I/O效率。

Free buffer waits

表示將Buffer Cache 內容寫到磁盤的速度,趕不上其它應用申請空閑Buffer Cache的要求。優化方法:同樣地,首先優化應用,如是否有太多的全表掃描,索引效率是否比較高。2.適當擴大db_cache_size。3.擴大db_writer_processes參數,增加DBWn進程數量,加快將Buffer Cache內容寫到磁盤的速度。

db_writer_processes默認為1或cpu_count/8,默認值通常就可以,如果需要設置db_writer_processes,請不要超過cpu_count,以避免cpu資源無謂消耗。

其它優化方法,將表設計成cache表,等等。

對于優化,總的來說還是優化應用。本文就介紹到這里,謝謝!

【編輯推薦】

  1. MSSQL數據庫跨表和跨數據庫查詢方法簡介
  2. SQL Server 2005數據庫用戶權限管理的設置
  3. Oracle跟蹤文件分析工具TKPROF使用簡介
  4. 利用mysql的audit審計功能記錄用戶操作信息
  5. T-SQL行列相互轉換命令:PIVOT和UNPIVOT使用詳解

 

責任編輯:趙鵬 來源: CSDN博客
相關推薦

2009-05-04 09:52:49

Oracle優化排序

2019-12-10 09:53:27

LinuxCacheBuffer

2025-05-26 04:00:20

2011-05-20 10:05:13

Oracle性能優化

2009-04-24 10:49:57

Oracle性能優化錯誤

2017-08-22 14:26:39

Linuxbuffercache

2009-07-08 17:04:25

user cache

2018-08-03 09:07:40

Linux內存buffercache

2020-12-23 13:14:00

LinuxLinux內存Swap

2021-03-30 10:50:18

Linux內存命令

2009-09-21 17:17:11

Hibernate二級

2020-08-13 11:35:52

Linuxswapbuffer

2013-11-25 14:57:04

TCPTCP優化

2009-11-17 17:39:37

Oracle DB B

2011-06-27 16:26:39

Oracle優化器RBOCBO

2022-05-13 09:02:34

LinuxBufferCache

2009-05-06 11:09:10

Oracle物化視圖數據庫

2009-11-17 17:47:56

Oracle Shar

2023-12-03 21:52:20

2010-04-29 16:15:06

Oracle flas
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久宗合色 | 欧洲毛片 | 国产精品精品久久久 | 日本三级全黄三级三级三级口周 | 91精品久久久久久久久99蜜臂 | 国产精品成人一区二区三区夜夜夜 | 四虎在线视频 | 欧美亚洲国产精品 | 国产精品美女www爽爽爽视频 | 国产成人精品一区二区三区视频 | 日本黄色片免费在线观看 | 国产激情在线 | 日本精品一区二区 | 久久久久国产 | 日本电影免费完整观看 | 久久久91精品国产一区二区三区 | 欧美精品成人一区二区三区四区 | 欧美日韩国产一区二区三区 | 欧美专区在线观看 | 在线国产一区二区 | 日韩亚洲一区二区 | 麻豆精品国产91久久久久久 | 99久久视频 | 中国一级大毛片 | 欧美精品二区三区 | 日韩在线 | 欧美xxxx在线 | 青青操91 | 九九九久久国产免费 | 国产伦精品一区二区三区精品视频 | 99久久久久国产精品免费 | 国产精品视频免费观看 | 国产精品久久免费观看 | 日韩成人在线观看 | 九九免费观看视频 | 国产成人在线视频播放 | 欧美日韩国产精品一区二区 | 国产精品永久免费视频 | 视频一区欧美 | 日韩一区二区av | 国产精品一区二区在线播放 |