国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

Oracle數據庫的空間使用和管理
2007-10-31   賽迪網

本文希望通過系統地介紹這方面的有關概念,讓大家能更好地規劃使用數據空間,正確使用Oracle提供的有關功能特性,提高應用的執行效率。

數據庫空間的有效使用和維護不僅是數據庫管理的重要工作,也是大多數開發人員所關心的內容,因為它直接關系到數據庫性能的發揮。同時數據碎片是經常令人頭疼的問題,碎片不僅造成空間的浪費,更重要的是會直接影響應 用程序的響應速度。

Oracle提供了不少方法用于數據空間的使用、監控和維護,同時也在各版本中陸續對這方面的功能進行了增強,目的在于簡化這方面工作的復雜度,提高應用的運行效率。

一、相關概念

數據庫的空間在邏輯上分為多個表空間,每個表空間則由系統中的一個或多個物理數據文件構成;Oracle存儲數據的基本單位是塊,其大小在建庫時由DB_BLOCK_SIZE參數確定,一個或多個連續的塊構成一個區片(EXTENT),它作為數據對象存儲的基本單位來使用。在Oracle中,每個基本數據對象使用的空間稱為段(Segment),段存放在唯一的表空間上,每個段實際上是一系列區片(更為準確地是數據塊)的集合。每個簡單數據對象對應一個段;對于分區對象如分區表、索引,則每個(子)分區對應一個段,由各個(子)分區共同構成一個完整的數據對象。因此,可以把表空間看作桶,里面放著許多段;一個段只能放在一個桶中,而不能跨越多個桶。

二、表空間的使用

表空間碎片的產生

由于同一個表空間中存放有多個數據段,各個數據段可以有不同的區片尺寸,不同段的區片可以交叉存放;當這些段中的區片經過分配(如創建表)、釋放(如刪除表)后,就可能使表空間中原本連續的空閑數據塊變成不連續,而區片必須由連續的數據塊構成,這時,當某一段需要分配新的區片時,就有可能出現雖然表空間空閑數據塊的總和大于所需區片的大小,但卻無法找到一串連續的塊來供此區片分配使用。這種情況就稱為表空間的Extent Fragmentation。我們經常會遇到這種情況,明明從DBA_FREE_SPACE中計算表空間還有幾百MB,但其中的某一個表卻無法再擴展幾個MB的空間。

消除表空間碎片

Oracle在段的區片分配上為用戶提供了很大的靈活性,然而如果未能正確使用創建表空間和數據對象的各個可選擇參數,則在最后將不可避免的要面對區片碎片的問題。Oracle 的Bhaskar Himatsingka 和 Juan Loaiza,為此提出了SAFE(Simple Algorithm for Fragmentation Elimination.)配制規則,通過遵循這套規則,區片級碎片可以完全的避免。而實際上,Oracle8i引入的新特性:Local Managed Tablespace就是SAFE規則在Oracle Server的內置實現。SAFE原則概括起來包括:

1. 對每個表空間上的段使用相同的區片尺寸;段參數INITIAL=NEXT,PCTINCREASE=0;可以通過使用Create Tablespace 的‘ MINIMUM EXTENT’ 子句來確保分配的區片是此參數的倍數;

2. 僅在表空間級指定INITIAL、NEXT參數,在創建數據段時不要指定這些參數;

3. 區片的大小根據段大小來確定,原則是均衡順序掃描的效率和空間的利用率,同時確保段的區片數目控制在1024之下;根據此原則,在進行相應測試之后,確定以下區片選取規則:

  段大小(Oracle7) 
  區片大小(Oracle7) 
  段大小(Oracle8) 
  區片大小(Oracle8) 
  
  &160M 
  160K 
  &128M 
  128K 
  
  160M-5G 
  5M 
  128M-4G 
  4M 
  
  &5G 
  160M 
  &4G 
  128M 
 

有此數據庫中可以只使用三種區片大小的表空間;在對象創建之前需對其大小進行評估,并放到相應的表空間中;

4. Oracle815引入了本地管理表空間,它在管理和性能上都優于傳統的字典管理表空間,它已融合了規則1、2、3 ;要使用此特性,在CREATE TABLESPACE語句中指定EXTENT MANAGEMENT LOCAL子句;

5. 段的區片數目上限應在4096之下,DML操作在此區片數目范圍內不會有明顯的性能差異;但某些DDL操作的速度則與區片的數目關系較大;因此合理的區片數目應保持在1024之下;對于持續不斷擴展的段,應監控區片數目,在必要時移至其它表空間;

6. 對于特別大的數據段應控制在4G-128G(Oracle7為5G-160G)之間,它們應存放到單獨的表空間上,同時對于這些特大段應考慮使用分區拉提高性能;

7. 用戶的臨時表空間應使用TEMPORARY類型;

8. 當系統的事務規模比較均衡時可以對回滾段使用OPTIMAL參數,否則應避免制定OPTIMAL參數,而定期監控回滾段的大小,并在必要時重建;

9. 臨時段和回滾段絕對不要將用戶數據存放到SYSTEM表空間,它是專為永遠不會Drop和Truncate的系統數據對象而設計的;

10. 創建表空間時指定數據文件的大小應=區片整數倍+1數據塊,對于Local Managed Tablespace則為區片整數倍+64K;

11. 當表空間使用統一的區片大小時,不要對其進行空間整理,重整的結果不僅耗費精力而且可能會使性能變差;對于未使用統一的區片尺寸的表空間應通過Export/Import重整;

12. 8i 提供了Alter Table …Move [Tablespace…]命令可用于快速重整表,Alter Index …Rebuild…[Tablespace…] 命令可用于快速重建索引。

有關使用單個區片的誤導

在許多關于碎片整理的文檔中建議在Export時使用Compress=Y選項,將表中的所有數據調整到一個區片中,期望在Import后獲得良好性能。由此讓許多人產生一個觀點,認為當表中數據全部存放到一個區片中時,可以獲得良好性能。實際上單區片段只在以下條件成立時,才具有優越性。

數據主要以(全段)掃描方式訪問;

段所對應的數據塊在物理磁盤上連續存放,Oracle可以發布較大的順序磁盤讀操作;

通過對這兩條進行分析可以發現,一方面數據庫中大部分表是通過索引來訪問,另一方面現在的數據庫文件一般在物理上使用了RAID5或RAID0+1技術,數據以條帶化方式分布到多個物理磁盤上,邏輯上的單個區片和多區片在物理上并無本質上的區別;另外,從Oracle的角度來看,管理幾百個區片的段是非常輕松的并不會有性能的下降。由此可見將整個段放到一個區片中并無明顯好處,而這種做法卻會導致表空間碎片的產生。

三、表數據段的使用

表空間的組織

Heap表的空間由一系列區片鏈接而成,每個數據塊除塊頭外其余部分可用于存放數據,在創建表時可以指定以下參數:

PCTFREE:塊中保留用于UPDATE操作的空間百分比,當數據占用的空間達到此上限時,新的數據將不能再插入到此塊中;

PCTUSED:指定塊中數據使用空間的最低百分比;當一個塊在達到PCTFREE,之后經歷了一些DELETE操作,在其空間使用下降到PCTUSED后便可以重新被用于INSERT數據;這就是PCTFREE/PCTUSED參數的含義;

調整PCTFREE、PCTUSED參數的目標一方面是提高性能,另一方面則主要是提高空間使用效率,避免出現塊中存在有許多未用的空間,但卻無法找到一個塊可以被用于插入新數據行的情況發生。

PCTFREE的使用

在Oracle中表的每一行數據由唯一的ROWID標記;而Oracle支持的數據類型中有一些長度是可變的,如VARCHAR,當對這些數據進行UPDATE時,如果塊中的可用空間不能容納UPDATE后的數據行時,Oracle將會把此行移到其它數據塊,同時保留此數據行的ROWID不變,并在原有塊中建一指針指向行遷移后的位置。在這種情況下讀取一行數據將需要訪問2個數據塊,從而導致性能下降。PCTFREE保留的空間就是為確保更改后的數據行可以仍存放于原有數據塊中,避免行遷移的情況發生。

由此,如果PCTFREE設置不足時可能產生行遷移;而另一方面如果PCTFREE設置過高,將會造成空間浪費。因此正確設置PCTFREE需要對表中數據的使用進行分析。對于數據長度不會變化或極少更新的情況,可以采用較小的PCTFREE;對于其它大多數情況應采用稍大的PCTFREE(PCTFREE的缺省值是10,如果不好估計需預留的空間,可以使用15-25的范圍),不要為節約塊中的空間而使用較小的PCTFREE值。

PCTUSED的使用

當塊的使用的空間下降到PCTUSED后,此塊被重新放回空閑鏈表(Freelist)中,作為后續Insert的候選塊。同樣,設置PCTUSED需要視數據行的特性和Insert、Update、Delete的模式而定,但必須遵守的原則是:db_block_size * (100 - PCTFREE - PCTUSED)必須比行的長度大。

對于數據行長度變化較大的情況,應使用最大行長度來計算PCTUSED,并且應使用較低的PCTUSED值。因為在執行Insert時,如果數據塊的可用空間不能裝下一行數據,當塊的使用的空間是在PCTUSED之上,Oracle將把此塊從Freelist中移走;當塊的使用的空間是在PCTUSED之下,Oracle將會擴展段空間。因此,PCTUSED如果設得過高,將導致段的不斷擴展。

當數據行長度不大時,使用缺省的PCTUSED(40)是比較合適的;對于行長度較大的情況,最長的行有可能會占用半個以上的塊空間,此時可設置PCTUSED為10。較小的PCTUSED僅在表中的數據以隨機方式被刪除,而且仍有一些行長時間保留在塊中時,才會造成空間使用上的問題,因為這些塊可能需要較長的時間才能或永遠不能重新被用于存放新數據。在這種應用中,如果空間利用率一直處于較低水平,則需對PCTUSED進行分析和調整。

熱詞搜索:

上一篇:關于vista-內存安全保護漫談之safeseh
下一篇:關于vista-安裝過程(圖)

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
美女网站视频久久| 久久成人av少妇免费| 欧美成人一区二区三区片免费 | 一卡二卡欧美日韩| 精品国产一区二区三区久久影院| 99久久婷婷国产综合精品电影| 91久久精品日日躁夜夜躁欧美| 久久精品99国产国产精| 一区二区三区国产| 国产亚洲一区二区在线观看| 欧美老女人在线| 91视视频在线观看入口直接观看www | 久久精品国产一区二区| 亚洲综合激情小说| 欧美激情一区二区三区不卡| 日韩午夜av电影| 欧美日韩综合在线| 91啦中文在线观看| 成人性生交大片免费看中文网站| 美女一区二区久久| 日本vs亚洲vs韩国一区三区 | 精品99一区二区三区| 精品视频一区二区三区免费| 91免费版pro下载短视频| 国产成人午夜精品5599| 国产真实精品久久二三区| 免费在线观看一区| 日韩高清中文字幕一区| 亚洲一区免费视频| 亚洲最大色网站| 亚洲精品大片www| 最新国产成人在线观看| 国产精品乱码久久久久久| 日本最新不卡在线| 人人狠狠综合久久亚洲| 日韩在线卡一卡二| 亚洲小说春色综合另类电影| 亚洲美女免费视频| 亚洲激情六月丁香| 一区二区在线观看不卡| 亚洲激情在线播放| 亚洲午夜久久久久久久久电影网 | 国产欧美一区二区精品性色 | 欧美国产禁国产网站cc| 中文字幕乱码亚洲精品一区 | 午夜国产精品一区| 日韩主播视频在线| 日韩精品免费专区| 欧美a级理论片| 久久国产精品露脸对白| 久久66热偷产精品| 国产麻豆成人传媒免费观看| 国产在线视频一区二区| 国产精品 欧美精品| 波多野结衣在线一区| 99麻豆久久久国产精品免费优播| 97久久人人超碰| 在线免费观看日本欧美| 欧美另类变人与禽xxxxx| 69p69国产精品| 精品粉嫩aⅴ一区二区三区四区| 欧美www视频| 国产精品卡一卡二| 一区二区三区国产豹纹内裤在线| 丝袜美腿高跟呻吟高潮一区| 六月丁香婷婷色狠狠久久| 国产真实乱子伦精品视频| www.综合网.com| 欧美日韩一区在线观看| 日韩视频国产视频| 国产无一区二区| 亚洲综合成人在线视频| 日本不卡一区二区三区 | 欧美日韩国产系列| www日韩大片| 一区二区三区加勒比av| 久久精品久久99精品久久| va亚洲va日韩不卡在线观看| 欧美麻豆精品久久久久久| 26uuu亚洲综合色欧美 | 亚洲图片欧美综合| 精久久久久久久久久久| 99国产精品久久久久久久久久久| 欧美午夜精品久久久| 激情都市一区二区| 91丨porny丨首页| 日韩一卡二卡三卡四卡| 国产精品久久久久久久蜜臀| 午夜日韩在线观看| www.亚洲精品| 日韩欧美一级在线播放| 亚洲人成小说网站色在线| 久久精品久久99精品久久| 色综合天天综合狠狠| 精品国产三级a在线观看| 亚洲一区二区在线观看视频 | 国产激情视频一区二区在线观看| 在线一区二区视频| 国产亚洲欧洲一区高清在线观看| 亚洲成人在线网站| 成人h动漫精品一区二| 欧美一级免费大片| 亚洲欧美日韩电影| 国产精品小仙女| 欧美白人最猛性xxxxx69交| 亚洲综合免费观看高清在线观看| 国产99久久久国产精品| 欧美大片在线观看一区二区| 亚洲一区二区三区四区中文字幕| 高清国产一区二区| 欧美v国产在线一区二区三区| 亚洲图片欧美一区| 色哟哟一区二区三区| 久久久三级国产网站| 日韩av电影免费观看高清完整版在线观看| 91理论电影在线观看| 国产精品日韩精品欧美在线| 九色porny丨国产精品| 4438成人网| 性感美女久久精品| 欧美亚洲一区三区| 亚洲女同一区二区| 成人av免费观看| 国产亚洲女人久久久久毛片| 另类综合日韩欧美亚洲| 日韩一区国产二区欧美三区| 日日骚欧美日韩| 欧美日韩国产a| 天天操天天色综合| 91精品国产高清一区二区三区| 亚洲一二三级电影| 欧美日韩一区成人| 天堂蜜桃一区二区三区| 欧美色电影在线| 亚洲成人av资源| 欧美日韩一级片在线观看| 性久久久久久久久| 884aa四虎影成人精品一区| 日韩成人dvd| 欧美一级片在线| 狠狠色狠狠色综合系列| 久久亚洲二区三区| 国模套图日韩精品一区二区| 久久综合色8888| 丁香激情综合国产| 国产精品久久二区二区| 99视频一区二区| 亚洲精品视频在线| 欧美日韩性生活| 欧美性受极品xxxx喷水| 一卡二卡欧美日韩| 欧美一区二区在线看| 久久精品国产免费| 久久久www免费人成精品| 粉嫩蜜臀av国产精品网站| 中文字幕在线一区免费| 99这里只有久久精品视频| 亚洲欧美日韩久久精品| 欧美日韩大陆在线| 国产在线日韩欧美| 中文字幕不卡三区| 欧美私人免费视频| 精品一区二区三区免费播放 | 麻豆91精品视频| 欧美激情综合在线| 欧美性受xxxx黑人xyx性爽| 久久电影网站中文字幕| 国产精品无遮挡| 欧美人妇做爰xxxⅹ性高电影| 麻豆精品在线观看| 日韩久久一区二区| 欧美一级夜夜爽| 99re这里只有精品首页| 偷拍一区二区三区| 国产精品午夜电影| 制服丝袜国产精品| 成人天堂资源www在线| 视频一区免费在线观看| 中文字幕精品在线不卡| 欧美顶级少妇做爰| 成人免费高清在线| 日日夜夜免费精品| 国产精品国产自产拍在线| 91精品国产免费| av亚洲产国偷v产偷v自拍| 亚洲 欧美综合在线网络| 日韩午夜激情av| 91高清视频免费看| 久久99九九99精品| 91精品国产乱| 91丨九色丨蝌蚪丨老版| 人人精品人人爱| 欧美经典一区二区| 日韩美女视频在线| 色伊人久久综合中文字幕| 亚洲国产欧美一区二区三区丁香婷| 久久色.com| 欧美日韩一二区| 成人污污视频在线观看| 国内久久婷婷综合|