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

學會使用Oracle9i帶有tablespace的空間管理管理工具

2013-11-13 16:08:55  來源: Oracle 

  本地管理tablespace(LMT)和自動分段空間管理(ASSM)提供了一種管理數據庫裡個體對象freelist的新方法除了這些ASSM特性Oraclei還提供了幾個新的DBMS PL/SQL工具包用來使用ASSM查看和管理tablespace這些工具包包括
  
  dbms_spacespace_usage
  dbms_repairrebuild_freelists
  
  現在讓我們來看看這些工具包是如何使用ASSM的tablespace的
  
  
  關於ASSM的補充材料
  要獲得更多關於ASSM的信息請閱讀我的 上一篇文章
  
  
  Oraclei裡稀疏表格的問題
  
  如果一個高度動態的對象(例如表格或者索引)由多個freelist來定義而且對這個表格的INSERT和DELETE活動繁重那麼在這種情況下稀疏表格通常就會在非ASSM的tablespace中發生在稀疏表格裡表格會顯示有數千個剩余的區塊然而這個表格卻會不斷地擴展其行為就好像Oracle沒有任何剩余的數據塊了
  
  
  
  數據倉裡的稀疏表格會消耗掉巨大的不必要的存儲空間即使在表格還有很多剩余空間的情況下它們還是會消耗掉很多G字節的新存儲空間要記住當你有多個freelist的時候freelists是獨立的而且Oracle不能分享freelist的區塊不管你是否在使用ASSM任何INSERT SQL聲明都只會附加到一個freelist裡而且它只會使用附加到那個freelist裡的剩余區塊(見圖A)
  圖A
  
  Oraclei裡不平衡的freelist
  導致稀疏表格的原因是在INSERT和DELETE並發活動之間缺乏負載平衡在這個例子裡我有三個為表格定義的freelist但是一個清除任務(SQL刪除操作)作為單個任務在運行由於這個刪除任務只附加到了這三個freelist中的一個裡所以所有被刪除的區塊都被添加到了這個freelist在Oraclei以前的版本裡DBA不得不將所有對FREELISTS值的清除任務並行化這樣才能保證所有的freelist都被空數據塊平均地填充了
  
  
  
   
  
  還是在Oraclei以前的版本裡DBA不得不使用導入/導出(export/import)或者alter table move來重新組織表格這樣才能平衡每個freelist鏈上的剩余區塊Oraclei使用了dbms_repairrebuild_freelists過程這就讓這一工作簡單得多了rebuild_freelists過程的目的是將位圖freelist區塊和主freelist接合起來並為區段清除掉其他所有的freelist對於被真正應用集群使用多個freelist groups所訪問的表格和索引Oraclei會在原有的freelist組中平均分配剩余區塊
  
  
  
  對於帶有多個freelist的表格和索引來說這是一個重要的特性因為DBA不再需要重新組織表格已重新平衡過了的位圖freelist這裡有一個例子是這個過程被用來為EMP表格重建freelist的
  
  dbms_repairrebuild_freelists(SCOTTEMP);
  
  Oraclei裡用於位圖freelist的查看表
  
  Oraclei還有幾個新的v$和x$查看表這些查看表會顯示ASSM位圖freelist的狀態事務處理freelist被保存在x$kvii固定表格的ktsmtf數據列內部而v$waitstat查看表包含了位圖freelist的信息要記住帶有ASSM的freelist結構已經從單向鏈接列表變更為了位圖freelist在下面的例子裡你會看到所有和位圖區塊或者位圖索引塊相關的系統等待
  
  select
  class
  count
  time
  from
  v$waitstat
  where
  class like bitmap%;
  
  
  
  
  有了多位圖的特性你就應該會很少看到任何等待了因為有多個位圖freelist可供並發DML使用就像下面這個例子一樣
  
  CLASS COUNT TIME
  
  bitmap block
  bitmap index block
  
  有多少個DBA會使用ASSM?
  
  到底有多少個有經驗的DBA會開始使用ASSM以及有多少會繼續使用原來的方法還有待觀察雖然ASSM許諾為多個DML聲明提供更高的吞吐量但是Oracle的專家還是必須小心數據行鏈並記得在適當的時候為每個表格或者索引使用PCTFREE

From:http://tw.wingwit.com/Article/program/Oracle/201311/17895.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.