成人免费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

2009-04-24 10:49:57

Oracle性能優化錯誤

2011-05-20 10:05:13

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優化

2011-06-27 16:26:39

Oracle優化器RBOCBO

2009-11-17 17:39:37

Oracle DB B

2022-05-13 09:02:34

LinuxBufferCache

2009-05-06 11:09:10

Oracle物化視圖數據庫

2009-11-17 17:47:56

Oracle Shar

2010-04-29 16:15:06

Oracle flas

2023-12-03 21:52:20

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品国产自产拍高清 | 日韩不卡一区二区 | 亚洲免费在线观看视频 | 国产精品污污视频 | 国产一区二区免费电影 | 不卡一二区 | 天天爽天天操 | 亚洲欧美日本在线 | 日韩伦理一区二区三区 | 亚洲精品在线视频 | 男女在线网站 | 日韩欧美1区2区 | 日韩欧美国产一区二区 | 亚洲视频免费在线观看 | 久久高清 | 国产三区视频在线观看 | 99亚洲| 久久只有精品 | 黄a免费看 | 午夜成人免费视频 | www视频在线观看 | 少妇久久久久 | www.狠狠操 | 精品国产一级 | 日本一二三区高清 | 黄色毛片在线观看 | 久久在线精品 | 国产日韩欧美精品一区二区三区 | 精品国产区 | 91手机精品视频 | 在线免费观看日本视频 | 91福利网 | 久草成人| av免费网站在线 | 成人在线视频免费看 | 亚洲一二三区av | 精品九九 | 精品国产精品一区二区夜夜嗨 | a免费视频 | 99视频在线免费观看 | 精品国产乱码久久久久久图片 |