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

首頁 > 數據庫 > Oracle > 正文

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

2024-08-29 13:37:46
字體:
來源:轉載
供稿:網友

  本地治理tablespace(LMT)和自動分段空間治理(ASSM)提供了一種治理數據庫里個體對象freelist的新方法。除了這些ASSM特性,Oracle9i還提供了幾個新的DBMS PL/SQL工具包,用來使用ASSM查看和治理tablespace。這些工具包包括:
  
  dbms_space.space_usage
  dbms_repair.rebuild_freelists
  
  現在讓我們來看看這些工具包是如何使用ASSM的tablespace的。
  
  
  關于ASSM的補充材料
  要獲得更多關于ASSM的信息,請閱讀我的 上一篇文章 。
  
  
  Oracle8i里稀疏表格的問題
  
  假如一個高度動態的對象(例如表格或者索引)由多個freelist來定義,而且對這個表格的INSERT和DELETE活動繁重,那么在這種情況下,稀疏表格通常就會在非ASSM的tablespace中發生。在稀疏表格里,表格會顯示有數千個剩余的區塊,然而這個表格卻會不斷地擴展。其行為就似乎Oracle沒有任何剩余的數據塊了。
  
  
  
  數據倉里的稀疏表格會消耗掉巨大的不必要的存儲空間,即使在表格還有很多剩余空間的情況下,它們還是會消耗掉很多G字節的新存儲空間。要記住,當你有多個freelist的時候,freelists是獨立的,而且Oracle不能分享freelist的區塊。不管你是否在使用ASSM,任何INSERT SQL聲明都只會附加到一個freelist里,而且它只會使用附加到那個freelist里的剩余區塊(見圖A)。
  圖A
  學會使用Oracle9i帶有tablespace的空間治理治理工具
  Oracle8i里不平衡的freelist
  導致稀疏表格的原因是在INSERT和DELETE并發活動之間缺乏負載平衡。在這個例子里,我有三個為表格定義的freelist,但是一個清除任務(SQL刪除操作)作為單個任務在運行。由于這個刪除任務只附加到了這三個freelist中的一個里,所以所有被刪除的區塊都被添加到了這個freelist。在Oracle9i以前的版本里,DBA不得不將所有對FREELISTS值的清除任務并行化,這樣才能保證所有的freelist都被空數據塊平均地填充了。
  
  
  
   
  
  還是在Oracle9i以前的版本里,DBA不得不使用導入/導出(eXPort/import)或者alter table move來重新組織表格,這樣才能平衡每個freelist鏈上的剩余區塊。Oracle9i使用了dbms_repair.rebuild_freelists過程,這就讓這一工作簡單得多了。rebuild_freelists過程的目的是將位圖freelist區塊和主freelist接合起來,并為區段清除掉其他所有的freelist。對于被真正應用集群使用多個freelist groups所訪問的表格和索引,Oracle9i會在原有的freelist組中平均分配剩余區塊。
  
  
  
  對于帶有多個freelist的表格和索引來說,這是一個重要的特性,因為DBA不再需要重新組織表格已重新平衡過了的位圖freelist。這里有一個例子,是這個過程被用來為EMP表格重建freelist的:
  
  dbms_repair.rebuild_freelists('SCOTT','EMP');
  
  Oracle9i里用于位圖freelist的查看表
  
  Oracle9i還有幾個新的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 173 121
  bitmap index block 206 43
  
  有多少個DBA會使用ASSM?
  
  到底有多少個有經驗的DBA會開始使用ASSM以及有多少會繼續使用原來的方法還有待觀察。雖然ASSM許諾為多個DML聲明提供更高的吞吐量,但是Oracle的專家還是必須小心數據行鏈,并記得在適當的時候為每個表格或者索引使用PCTFREE。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 金溪县| 西和县| 肥东县| 永仁县| 民勤县| 霸州市| 中西区| 金塔县| 沁阳市| 凤庆县| 无为县| 保德县| 江永县| 都昌县| 沾化县| 历史| 申扎县| 祁门县| 揭阳市| 田阳县| 宁陕县| 阿瓦提县| 普兰县| 岳池县| 嵊泗县| 青浦区| 洱源县| 涞水县| 白水县| 商都县| 蒙山县| 邢台县| 黔西县| 定州市| 扶余县| 新泰市| 定南县| 克山县| 松阳县| 金溪县| 塘沽区|