国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

Oracle9i 性能調整與優化(1)

2024-08-29 13:39:24
字體:
來源:轉載
供稿:網友
  第五課   調整緩沖區高速緩存(Buffer Cache)的性能  Buffer cache由數據塊組成。  1. Buffer cache的工作原理  LRU列表:MRU  ………………。 LRU.(全表掃描FTS放在LRU端。)   緩沖區塊的狀態:Free、Pinned、Clean、Dirty.  Dirty List或Write List(寫列表)。  數據庫寫進程DBW0將緩沖區高速緩存中的數據寫到數據文件中。  2.        測量Buffer cache的性能  測量Buffer cache的命中率:  SQL> select 1-((physical.value – direct.value – lobs.value)/logical.value) “Buffer Cache Hit Ratio” from V$SYSSTAT physical, V$SYSSTAT direct,  V$SYSSTAT lobs, V$SYSSTAT logical where physical.name = ‘physical reads’  And direct.name = ‘physical reads direct’ and  lobs.name = ‘physical reads direct (lob)’  And logical.name = ‘session logical reads’;  “Buffer Cache Hit Ratio”的值要 > 90%.  使用STATSPACK來監視Buffer cache.  使用REPORT.TXT來監視Buffer cache.  非命中率指標:Free Buffer Inspected、Free Buffer Waits、Buffer Busy Waits.(V$sysstat)  使用Performance Manager(數據庫例程)來監視Buffer Cache.  3. 提高緩沖區高速緩存性能的方法  加大Buffer Cache的大小:init.ora參數DB_CACHE_SIZE(動態參數)。  使用Buffer Cache Advisory功能決定Buffer Cache的大小:  首先將init.ora參數DB_CACHE_ADVICE設成ON,然后查詢V$DB_CACHE_ADVICE.  使用多個緩沖區池:  Keep Pool: DB_KEEP_CACHE_SIZE  Recycle Pool:DB_RECYCLE_CACHE_SIZE  Default Pool: DB_CACHE_SIZE  在內存中緩存表: 表的CACHE選項,對優化小表的全表掃描。  正確創建索引。  4. 調整Large Pool和java POOL  Large Pool用于共享服務器、RMAN、并行查詢、DBWR的從屬進程。  Large Pool的大小通過init.ora參數Large_pool_size設置。默認為8M.  從V$sgastat中監視free memory的值:  SQL>SELECT name,bytes FROM V$sgastat WHERE pool = ‘large pool’;  JAVA_POOL池的默認大小為32M.對于大型Java應用程序,JAVA_POOL池的大小應大于50M.  init.ora參數java_pool_size  從V$sgastat中監視free memory的值。  SQL>SELECT name,bytes FROM V$sgastat WHERE pool = ‘java pool’;  第六課   調整重做有關的性能  Oracle重做有關的組件包括:Redo Log Buffer、Online Redo Log、LGWR、Archive Log、Checkpoint、Arch0.  1. 監視Redo Log Buffer的性能  Redo Log Buffer不采用LRU(Least Recently Used)算法治理。  當下列事件發生時,Redo Log Buffer的內容存盤:  Commit時、每3秒、空間使用1/3、達到1M、檢查點。  假如寫入Redo Log Buffer的速度超過LGWR存盤的速度,就會因等待而降低性能。  監視Redo Log Buffer的重試率(<1%)。  Select retries.value/entries.value “Redo Log Buffer Retry Ratio”  From V$sysstat retries, V$sysstat entries  Where retries.name =  ‘redo buffer allocation retries’  And entries.name =  ‘redo entries’;
  “Redo Log Buffer Retry Ratio”的值要 < 1%.  Select name,value from V$sysstat where name=‘redo log space requests’;  假如該值大,需要增加Redo Log Buffer.  2. 提高Redo Log Buffer的性能  增加Redo Log Buffer的大小:init.ora參數log_buffer.  減小重做日志的生成量。(假如設置表的NOLOGGING屬性,下列操作不記錄在Online Redo Log中:用SQL* Loader的直接路徑加載。  NOLOGGING屬性還可用于下列SQL語句:CREATE TABLE AS SELECT、CREATE INDEX、  ALTER INDEX REBUILD、CREATE TABELSPACE)。  3. 調整檢查點進程的性能  測量檢查點進程的性能:沒有完成的檢查點進程的次數。  select * from V$system_event;  兩個事件:checkpoint completed、log file switch(checkpoint incomplete)。  Select * from V$sysstat.  background checkpoints started和background checkpoints completed.  使用Alert日志來記錄檢查點進程:init.ora參數log_checkpoint_to_alert.  使用Performance Manager來測量檢查點進程的性能:I/O中的平均灰數據隊列長度(假如為0,說明檢查點太頻繁)。  建議調整online redo log的大小,使檢查點進程每20-30分鐘執行一次。  4. 調整聯機重做日志文件  使用V$system_event來監視聯機重做日志文件的性能:  log file parallel write、log file switch completed.  調整聯機重做日志文件的方法:與數據文件、控制文件、歸檔日志文件分開,放在原始設備上。  5. 調整歸檔性能  檢查歸檔進程的性能:通過V$system_event中的log file switch(archiving needed)事件。  檢查每個歸檔進程的狀態:V$archive_PRocesses.  創建多個歸檔進程:init.ora參數LOG_ARCHIVE_MAX_PROCESSES(默認為2)。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 蕉岭县| 无为县| 榆中县| 大城县| 柘城县| 大冶市| 衡水市| 西青区| 白水县| 察雅县| 进贤县| 南丰县| 连城县| 苍溪县| 溆浦县| 乡宁县| 资阳市| 凤城市| 鄯善县| 宁远县| 西华县| 贞丰县| 大厂| 滁州市| 周至县| 呼和浩特市| 建始县| 靖西县| 确山县| 龙里县| 鱼台县| 慈利县| 娄底市| 鄂伦春自治旗| 蚌埠市| 策勒县| 余姚市| 富宁县| 会泽县| 吐鲁番市| 阿城市|