分區表

分區表

将大表的數據分成稱為分區的許多小的子集
分區表是将大表的數據分成稱為分區的許多小的子集。倘若硬盤丢失了分區表,數據就無法按順序讀取和寫入,導緻無法操作。[1]
    中文名:分區表 外文名: 别名: 方案:MBR分區表、GPT分區表 常見分區表:FAT32、NTFS

定義

分區表是将大表的數據分成稱為分區的許多小的子集。

分區方法

9i提供四種分區方法:範圍分區,列表分區,哈希分區和混合分區;

·範圍分區是根椐分區鍵的不同取值範圍來劃分子集的,關鍵字RANGE,VALUESLESSTHAN;

·列表分區是根椐分區鍵的一些離散的取值來劃分子集的,關鍵字LIST,VALUES;

·哈希分區是應用哈希算法将分區鍵對應到某個子集中去,關鍵字HASH,PARTITIONS;

·混合分區隻能有兩層,第一層是範圍分區,第二層可以是列表分區或者哈希分區;

·範圍分區和列表分區中,如果插入記錄的分區鍵沒有對應的容納分區,會産生ORA-14400;

·update操作如果會使記錄從一個分區遷移到另一個分區,且分區表的ROWMOVEMENT屬性是DISABLE,會産ORA-14402;

·分區表上的索引有兩大類:普通的二叉樹索引,分區索引,下面講到的都是分區索引:

·按索引分區和表分區間的對應關系可以分為局部索引和全局索引;

·局部索引的索引分區和表分區間是一一對應的,全局索引則相反;

·局部索引的分區方法可以用上面提到四種的任何一種,全局索引的分區方法隻有範圍分區(而且最高的分區必須用MAXVALUE來定義);

·ORACLE自動維護局部索引的分區,當表分區被合并,分裂或删除時,關聯的索引分區也會被合并,分裂或删除;對分區表執行管理操作時會使其上的全局索引失效;

·建在分區表的位圖索引必須是局部分區索引;

·ORACLE推薦盡可能地使用局部索引;

·按索引欄位和分區鍵間的關系分為前綴索引和非前綴索引;

·前綴索引最前面的欄位是分區鍵欄位,非前綴索引相反;

·在這兩種分類方法的四種組合中,隻有三種有效(局部前綴索引,局部非前綴索引,全局前綴索引),不存在全局非前綴索引;

·分區表給CBO帶來很多選項,如分區排除,并行分區連接等。

一個硬盤經過FDISK的劃分和高級格式化以後,會在所屬的操作系統中建立分區表,記錄一些有關硬盤給哪一種

操作系統使用,硬盤的容量大小以及開始磁柱面和結束磁柱面的分配,哪一個硬盤啟動,引導區(BootSector),文件分配表(FAT)、根目錄和數據區等一系列數據。現将分區表内的内容歸納如下:

A、分區表是創建在硬盤的第0磁柱面、第0磁道,第1個扇區上。

B、記錄操作系統的數據(DOS,OS2或其他OS)。

C、記錄分區硬盤的C(磁柱面)、H(磁頭),S(扇區)的數量。

D、記錄分配的磁柱面(Cylinder)的開始。結束和容量。

E、記錄可啟動的硬盤(Active)。

F、建立引導區(BootSector)。

G、建立文件分配表(FAT)。

H、建立根目錄。

I、建立數據存儲區。

分區表的分區類型

分區的類型:範圍、散列、列表、組合

A、如果需要将行映射到基于列值範圍的分區時,就使用範圍分區方法--條件是數據可以被劃分成邏輯範圍;當數據在整個範圍内能被均等地劃分時性能最好,明顯不能均分時須使用其他分區方式。PartitionB

yRANGE(columns)(partitionpartitionnameValuesLessThen(value)Tablespacetbsname,......);

B、如果數據不那麼容易進行範圍分區,但為了性能和管理的原因又想分區時,就使用散列分區方法--散列分區方法提供了在指定數量的分區中均等地劃分數據的方法。基于分區鍵的散列值将行映射到分區中。PartitionByHASH(columns)PartitionssumsStoreIn(tbsnamelist);

C、當需要明确地控制如何将行映射到分區時,就使用列表分區方法--每個分區的描述中為該分區列制定一列離散值。是特意為例三支的模塊化數據劃分而設計的,可以将無序的和不相關的數據集進行分組和組織到一起。不支持多列分區;PartitionByLIST(column)(Partitionpartitionname>Values(valuelist),......);

D、組合分區方法是在分區中使用範圍分區方法分區數據,而在子分區中使用散列分區方法--适合于曆史數據和條塊數據兩者,改善了範圍分區及其數據防止的管理型,并提供了散列分區的秉性機制的優點;PARTITIONBYRANGE(columns1)SUBPARITIONByHASH(columns2)SUBPARTITIONSsumsSTOREIN(tbsnamelist)(PARTITIONpartitionnameVALUESLESSTHAN(value)TABLESPACEtbsname,......);實際數據存儲在自分區,分區隻是個邏輯屬性fd=】

文件分配表FAT(FileAllocationTable)用來記錄文件所在位置的表格.它對于硬盤的使用是非常重要的,假若丢失文件分配表,那麼硬盤上的數據就會因無法定位而不能使用了。不同的操作系統所使用的文件系統不盡相同,在個人計算機上常用的操作系統中,DOS6.x及以下版本和Windows3.x使用FAT16;OS/2使用HPFS;WindowsNT則使用NTFS;而MS-DOS7.10/8.0(Windows95OSR2及Windows98自帶的DOS)及ROM-DOS7.x同時提供了FAT16及FAT32供用戶選用。其中我們接觸最多的是FAT16、FAT32文件系統。

Windows95OSR2和Windows98開始支持FAT32文件系統,它是對早期DOS的FAT16文件系統的增強,由于文件系統的核心--文件分配表FAT由16位擴充為32位,所以稱為FAT32文件系統。在一邏輯盤(硬盤的一分區)超過512兆字節時使用這種格式,會更高效地存儲數據,減少硬盤空間的浪費,一般還會使程序運行加快,使用的計算機系統資源更少,因此是使用大容量硬盤存儲文件的極有效的系統。

硬盤分區表的位置和标記

分區表一般位于硬盤某柱面的0磁頭1扇區.而第1個分區表(也即主分區表)總是位于

(0柱面,1磁頭,1扇區),剩餘的分區表位置可以由主分區表依次推導出來.分區表有64個字節,占據其所在扇區的[441-509]字節.要判定是不是分區表,就看其後緊鄰的兩個字節(也即[510-511])是不是"55AA",若是,則為分區表。

(一)FAT32文件系統将邏輯盤的空間劃分為三部分,依次是引導區(BOOT區)、文件分配表區(FAT區)、數據區(DATA區)。引導區和文件分配表區又合稱為系統區。

(二)引導區從第一扇區開始,使用了三個扇區,保存了該邏輯盤每扇區字節數,每簇對應的扇區數等等重要參數和引導記錄。之後還留有若幹保留扇區。而FAT16文件系統的引導區隻占用一個扇區,沒有保留扇區。

(三)文件分配表區共保存了兩個相同的文件分配表,因為文件所占用的存儲空間(簇鍊)及空閑空間的管理都是通過FAT實現的,FAT如此重要,保存兩個以便第一個損壞時,還有第二個可用。文件系統對數據區的存儲空間是按簇進行劃分和管理的,簇是空間分配和回收的基本單位,即,一個文件總是占用若幹個整簇,文件所使用的最後一簇剩餘的空間就不再使用,而是浪費掉了。

從統計學上講,平均每個文件浪費0.5簇的空間,簇越大,存儲文件時空間浪費越多,利用率越低。因此,簇的大小決定了該盤數據區的利用率。FAT16系統簇号用16位二進制數表示,從0002H到FFEFH個可用簇号(FFF0H到FFFFH另有定義,用來表示壞簇,文件結束簇等),允許每一邏輯盤的數據區最多不超過FFEDH(65518)個簇。FAT32系統簇号改用32位二進制數表示,大緻從00000002H到FFFFFEFFH個可用簇号。FAT表按順序依次記錄了該盤各簇的使用情況,是一種位示圖法。

每簇的使用情況用32位二進制填寫,未被分配的簇相應位置寫零;壞簇相應位置填入特定值;已分配的簇相應位置填入非零值,具體為:如果該簇是文件的最後一簇,填入的值為FFFFFF0FH,如果該簇不是文件的最後一簇,填入的值為該文件占用的下一個簇的簇号,這樣,正好将文件占用的各簇構成一個簇鍊,保存在FAT表中。0000000H、00000001H兩簇号不使用,其對應的兩個DWORD位置(FAT表開頭的8個字節)用來存放該盤介質類型編号。FAT表的大小就由該邏輯盤數據區共有多少簇所決定,取整數個扇區。

(四)FAT32系統一簇對應8個邏輯相鄰的扇區,理論上,這種用法所能管理的邏輯盤容量上限為16TB(16384GB),容量大于16TB時,可以用一簇對應16個扇區,依此類推。FAT16系統在邏輯盤容量介于128MB到256MB時,一簇對應8個扇區,容量介于256MB到512MB時,一簇對應16個扇區,容量介于512MB到1GB時,一簇對應32個扇區,容量介于1GB到2GB時,一簇對應32個扇區,超出2GB的部分無法使用。顯然,對于容量大于512MB的邏輯盤,采用FAT32的簇比采用FAT16的簇小很多,大大減少了空間的浪費。

但是,對于容量小于512MB的盤,采用FAT32雖然一簇8個扇區,比使用FAT16一簇16個扇區,簇有所減小,但FAT32的FAT表較大,占用空間較多,總數據區被減少,兩者相抵,實際并不能增加有效存儲空間,所以微軟建議對小于512M的邏輯盤不使用FAT32。

另外,對于使用FAT16文件系統的用戶提一建議,硬盤分區時,不要将分區(邏輯盤)容量正好設為某一區間的下限,例:将一邏輯盤容量設為1100M(稍大于1024M),則使用時其有效存儲容量比分區為950M的一般還少,因其簇大一倍,浪費的空間較多。還有,使用FDISK等對分區指定容量時,由于對1MB的定義不一樣(标準的二進制的1MB為1048576B,有的系統将1MB理解為1000000B,1000KB等),及每個分區需從新磁道開始等因素,實際分配的容量可能稍大于指定的容量,亦需注意掌握。

(五)根目錄區(ROOT區)不再是固定區域、固定大小,可看作是數據區的一部分。因為根目錄已改為根目錄文件,采用與子目錄文件相同的管理方式,一般情況下從第二簇開始使用,大小視需要增加,因此根目錄下的文件數目不再受最多512的限制。FAT16文件系統的根目錄區(ROOT區)是固定區域、固定大小的,是從FAT區之後緊接着的32個扇區,最多保存512個目錄項,作為系統區的一部分。

(六)目錄區中的目錄項變化較多,一個目錄項仍占32字節,可以是文件目錄項、子目錄項、卷标項(僅跟目錄有)、已删除目錄項、長文件名目錄項等。目錄項中原來在DOS下保留未用的10個字節都有了新的定義,全部32字節的定義如下:

(1)0--7字節文件正名。

(2)8--10字節文件擴展名。

(3)11字節文件屬性,按二進制位定義,最高兩位保留未用,0至5位分别是隻讀位、隐藏位、系統位、卷标位、子目錄位、歸檔位。

(4)11--13字節僅長文件名目錄項用,用來存儲其對應的短文件名目錄項的文件名字節校驗和等。

(5)13--15字節24位二進制的文件建立時間,其中的高5位為小時,次6位為分鐘。

(6)16--17字節16位二進制的文件建立日期,其中的高7位為相對于1980年的年份值,次4位為月份,後5位為月内日期。

(7)18--19字節16位二進制的文件最新訪問日期,定義同6。

(8)20--21字節起始簇号的高16位。

(9)22--23字節16位二進制的文件最新修改時間,其中的高5位為小時,次6位為分鐘,後5位的二倍為秒數。

(10)24--25字節16位二進制的文件最新修改日期,定義同6。

(11)26--27字節起始簇号的低16位。

(12)28--31字節32位的文件字節長度。

其中第(4)至(8)項為以後陸續定義的。對于子目錄項,其(12)為零;已删除目錄項的首字節值為E5H。在可以使用長文件名的FAT32系統中,文件目錄項保存該文件的短文件名,長文件名用若幹個長文件名目錄項保存,長文件名目錄項倒序排在文件短目錄項前面,全部是采用雙字節内碼保存的,每一項最多保存十三個字符内碼,首字節指明是長文件名的第幾項,11字節一般為0FH,12字節指明類型,13字節為校驗和,26--27字節為零。

(七)以前版本的Windows和DOS與FAT32不兼容,不能識别FAT32分區,有些程序也依賴于FAT16文件系統,不能和FAT32驅動器一道工作。将硬盤轉換為FAT32,就不能再用雙引導運行以前版本的Windows(Windows95[Version4.00.950]、WindowsNT3.x、WindowsNT4.0和Windows3.x)。

常見的兩大類

(1)FAT32

一種從文件分配表(FAT)文件系統派生而來的文件系統。與FAT相比,FAT32能夠支持更小的簇以及更大的容量,從而能夠在FAT32卷上更為高效的分配磁盤空間。

(2)NTFS

一種能夠提供各種FAT版本所不具備的性能、安全性、可靠性與先進特性的高級文件系統。NTFS能夠使用日志文件與檢查點信息來恢複文件系統的一緻性。在Windows2000和WindowsXP中,NTFS還能提供諸如文件與文件夾權限、加密、磁盤配額以及壓縮之類的高級特性。

區别如下:

(1)Win2000可以同時支持FAT32和NTFS兩種文件系統,FAT32長于與Win9X的兼容性,NTFS長于系統安全性。

(2)FAT32文件系統可以重新定位根目錄和使用FAT的備份副本。另外FAT32分區的啟動記錄被包含在一個含有關鍵數據的結構中,減少了計算機系統崩潰的可能性。NTFS分區上的壓縮文件進行讀寫時不需要事先由其他程序進行解壓縮,當對文件進行讀取時,文件将自動進行解壓縮;文件關閉或保存時會自動對文件進行壓縮。

用DiskGenius修複硬盤分區表

1、運行DiskGenius,記住一定要在純Dos下運行、這樣你後面做的工作才會生效,運行後它會自動檢測當前硬盤并将每個分區的信息詳細提供給你(如圖1)。左邊柱形圖表示硬盤、有幾截就代表有幾個分區,最下面深藍色的是主分區,上面一大截灰色的是被誤克隆後丢失的分區(現在變成了未分配區域),我們要做的工作就是把這一大截灰色區域恢複成原來的樣子(正常是帶網格的藍色);右邊的圖表是硬盤及各分區的參數信息、非常明了。

2、在萊單欄點選“工具/重建分區”,Diskgenius便開始搜索并重建分區。

搜索過程可采用“自動方式”或“交互方式”,“自動方式”保留發現的每一個分區、“交互方式”對發現的每一個分區給出提示并由用戶選擇。

這裡我們點選“自動方式”

3、接下來出現搜索進度指示界面

很快分區表重建就完成了,這時我們可以清楚地看到左邊柱形圖的灰色區域變成帶網格的藍色了,右邊圖表中是各分區的詳細信息。“呀!那不是以前的分區嗎?”這位仁兄興奮地叫了起來,呵呵,别急,工作還沒完呢!要讓它生效就趕快點擊“确定”吧。

4、點選菜單欄“工具/重寫主引導記錄”

Diskgenius一陣忙活,很快就将分區信息更改完畢,點擊“重新啟動”,一切OK!

等熟悉的Windows桌面出現後,這位仁兄便迫不及待地打開“我的電腦”,呵呵、D、E、F盤全都回歸了,再進去查看裡面的文件,哇!全部毫發未損。

上一篇:無機非金屬材料工程

下一篇:賢達

相關詞條

相關搜索

其它詞條