熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

自動調整 Oracle9i Database :Oracle SGA(2)

2013-11-13 16:19:52  來源: Oracle 

  為 pga_aggregate_target 開發特征碼
  Oracle 數據庫中的 PGA 區域非常重要因為它控制排序操作以及 SQL 散列聯接的速度在以下的某一種情況出現時您可能希望動態更改 pga_aggregate_target 參數
  
  只要 v$sysstat 統計量 estimated PGA memory for onepass 的值超過 pga_aggregate_target 您就希望增加 pga_aggregate_target
  
  只要 v$sysstat 統計量 workarea executions ? multipass 的值大於百分之一數據庫就可能得益於額外增加的 RAM 內存
  
  有可能出現過量分配 PGA 內存的情況而只要 v$sysstat 行 workarea executions?optimal 的值持續顯示百分之百時您可能會考慮減少 pga_aggregate_target 的值
  
  v$pgastat 視圖提供對 PGA 使用情況以及自動內存管理程序的實例級匯總統計信息為快速獲得概要信息有個簡單的查詢提供了關於所有 Oracle Database g 連接的總體 PGA 使用情況的極佳統計信息
  
  check_pgasql
  
  
   *************************************************************
  
   Display detailed PGA statistics
  
  
  
   *************************************************************
  
  column name format a
  
  column value format
  
  select
  
  name
  
  value
  
  from
  
  v$pgastat
  
  ;
  
  該查詢的輸出可能類似於以下信息
  
  NAME VALUE
  
  aggregate PGA auto target
  
  global memory bound
  
  total expected memory
  
  total PGA inuse
  
  total PGA allocated
  
  maximum PGA allocated
  
  total PGA used for auto workareas
  
  maximum PGA used for auto workareas
  
  total PGA used for manual workareas
  
  maximum PGA used for manual workareas
  
  estimated PGA memory for optimal
  
  maximum PGA memory for optimal
  
  estimated PGA memory for onepass
  
  maximum PGA memory for onepass
  
  在上面來自於 v$pgastat 的顯示內容中我們看到以下重要的統計信息
  
  Total PGA used for auto workareas — 該統計量監視所有以自動內存模式運行的連接的 RAM 使用情況記住 Oracle 沒有允許所有內部進程使用自動內存特性例如 Java 和 PL/SQL 將會分配 RAM 內存而這將不會計算在總的 PGA 統計量中因此您應該從分配的總 PGA 中減去該值以便了解由連接所使用的內存量和由 Java 和 PL/SQL 所使用的 RAM 內存量
  Estimated PGA memory for optimal/onepass — 該統計量估計出以最優化模式執行所有任務連接 RAM 請求時需要多少內存記住當 Oracle Database g 遇到內存短缺情況時 DBA 將調用多步操作試圖找到最近釋放的 RAM 內存在 Oracle Database g 中該統計量對於監視 RAM 使用情況非常重要大部分 Oracle DBA 會將 pga_aggregate_target 增加到此值
  在 Oracle Database g 中可以使用稱為新顧問實用程序的 v$pga_target_advice 該實用程序顯示從當前值的 % 到 % 的不同大小的 pga_aggregate_target 的最優化一步和多步 PGA 執行的臨界差別
  
  列表顯示使用這一新的實用程序的示例查詢以下是輸出的示例在這裡我們看到已經為當前的處理超量分配了 pga_aggregate_target 可以安全地從這一區域提取 RAM 並將它分配到其他地方
  
  Estimated Estimated
  
  Target(M) Cache Hit % OverAlloc
  
              
  
              
  
              
  
              
  
             
  
             
  
              <= current size
  
             
  
             
  
             
  
             
  
             
  
             
  
             
  
  可以看到您能夠方便地創建自動方法來檢測 PGA 內存短缺情況(使用 Statspack )並編寫作業來動態更改 pga_aggregate_target 以確保為排序和散列聯接進行最優化的 RAM 使用
  
  為數據緩沖區開發特征碼
  DBA 將會注意到在實際情況中數據緩沖區命中率 (DBHR) 的變化會隨著測量間隔的頻率增加而增加例如 Statspack 可能在以小時為單位的間隔時報告 DBHR 為百分之九十二但在采樣率以兩分鐘為間隔時將顯示很大的變化如圖所示
  
 

  

  
  作為一般性原則應該調整主機上的所有可用內存並且應該為 db_cache_size 分配達到增益遞減點的 RAM 資源(參見圖在該點處增加緩沖區塊不會顯著提高緩沖區命中率
  
 

  

  
  新的 v$db_cache_advice 視圖 類似於 Oracle 中推出的一個用於跟蹤緩沖區命中情況的舊實用程序 x$kcbrbh 同樣 x$kcbcbh 視圖用於跟蹤緩沖區遺漏情況數據緩沖區命中率可以提供與 v$db_cache_advice 所提供內容相類似的數據因此多數 Oracle 調整的專業人員可以使用這兩種工具來監視其數據緩沖區的有效性
  
  當 v$db_cache_advice 實用程序已經啟用並且數據庫已經運行了足夠長的時間來提供有代表性的結果時可以使用 列表 中的腳本來執行高速緩存建議功能使用這一腳本您可以獲得對您所有緩沖區池的高速緩存建議包括 kkkk 和 k 數據緩沖區
  
  該腳本的輸出如下所示注意數值的范圍從 db_cache_size 當前大小的百分之十直到當前大小的兩倍
  
  Estd Phys   Estd Phys
  Cache Size (MB)   Buffers  Read Factor     Reads
  
  
              < % size
  
             
  
            
  
           
  
           
  
           
  
           
  
           
  
           
  
             Current Size
  
            
  
            
  
            
  
            
  
            
  
            
  
            
  
            
  
            
  
             < x size
  
  如圖中所標注數據緩沖區最優化設置的位置就是附加緩沖區的臨界效益開始減少的位置當然該優化點將在一段時間後改變這就是為什麼我們需要預先重新配置 SGA 的原因以便於我們能夠根據當前的處理需要來更改數據緩沖區的大小
  
  對於趨勢分析DBHR 中的變化並不重要可以沿兩個方向生成平均數據緩沖區命中率一周中每天的平均 DBHR 和一天中每小時的平均 DBHR
  
  記住在數據緩沖區中變化快速地發生有時長期的分析將會提供線索指出數據庫中的處理故障問題幾乎每個 Oracle 數據庫都提供鏈接到常規處理計劃的模式稱為特征碼
  
  以下顯示一個 Statspack DBHR 每小時平均值腳本的輸出報告基於六個月的數據收集顯示每天的平均命中率如果在電子表格中繪制該數據則該數據庫的 DBHR 特征碼變得顯而易見
  
  hr BHR
  
  該數據的繪圖如圖所示我們看到一些有趣的重復趨勢
  
  From:http://tw.wingwit.com/Article/program/Oracle/201311/18159.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.