ORACLE表空間概述

edwardking888發表於2010-07-01

資料庫是由一個或多個被稱為表空間(tablespace)的邏輯儲存單位構成。表
空間內的邏輯儲存單位為段(segment),段又可以繼續劃分為資料擴充套件
(extent)。而資料擴充套件是由一組連續的資料塊(data block)構成。

大檔案表空間

在Oracle中使用者可以建立大檔案表空間(bigfile tablespace)。這樣Oracle資料
庫使用的表空間(tablespace)可以由一個單一的大檔案構成,而不是若干個
小資料檔案。這使Oracle可以發揮64位系統的能力,建立、管理超大的文
件。在64位系統中,Oracle資料庫的儲存能力被擴充套件到了8 EB(1EB =
1024PB,1PB = 1024TB,1TB=1024GB)。

當資料庫檔案由Oracle管理(Oracle-managed files),且使用大檔案表空間
(bigfile tablespace)時,資料檔案對使用者完全透明。換句話說,使用者只須針
對錶空間(tablespace)執行管理操作,而無須關心處於底層的資料檔案
(datafile)。使用大檔案表空間,使表空間成為磁碟空間管理,備份,和恢
復等操作的主要物件。使用大檔案表空間,並與由Oracle管理資料庫檔案
(Oracle-managed files)技術以及自動儲存管理(Automatic Storage
Management)技術相結合,就不再需要管理員手工建立新的資料檔案
(datafile)並維護眾多資料庫檔案,因此簡化了資料庫檔案管理工作。

資料庫預設建立的是小檔案表空間(smallfile tablespace),即Oracle中傳統的
表空間(tablespace)型別。資料庫中 SYSTEM 和 SYSAUX 表空間在建立時總
是使用傳統型別

只有本地管理的(locally managed),且段空間自動管理(automatic segmentspace
management)的表空間(tablespace)才能使用大檔案表空間(bigfile
tablespace)。但是有兩個例外:本地管理的撤銷表空間(undo tablespace)和
臨時表空間(temporary tablespace),即使其段(segment)為手工管理
(manually managed),也可以使用大檔案表空間。

一個Oracle資料庫可以同時包含大檔案/小檔案表空間(bigfile/smallfile
tablespace)。SQL語句執行時無需考慮表空間(tablespace)的型別,除非語
句中顯式地引用了資料檔案(datafile)名。

管理員可以建立一組臨時表空間(temporary tablespace),使用者在需要時可以
利用組內各個表空間(tablespace)提供的臨時空間。管理員還可以指定表空
間組(tablespace group)為資料庫預設的臨時表空間。當使用者需要大量臨時
空間進行排序操作時,就可以利用大檔案表空間及表空間組。

使用大檔案表空間的優勢

● 使用大檔案表空間(bigfile tablespace)可以顯著地增強Oracle資料庫的
儲存能力。一個小檔案表空間(smallfile tablespace)最多可以包含1024
個資料檔案(datafile),而一個大檔案表空間中只包含一個檔案,這
個資料檔案的最大容量是小資料檔案的1024倍。這樣看來,大檔案表
空間和小檔案表空間的最大容量是相同的。但是由於每個資料庫最多
使用64K個資料檔案,因此使用大檔案表空間時資料庫中表空間的極
限個數是使用小檔案表空間時的1024倍,使用大檔案表空間時的總數
據庫容量比使用小檔案表空間時高出三個數量級。換言之,當一個
Oracle資料庫使用大檔案表空間,且使用最大的資料塊容量時
(32K),其總容量可以達到8EB。
● 在超大型資料庫中使用大檔案表空間減少了資料檔案的數量,因此也
簡化了對資料檔案的管理工作。由於資料檔案的減少,SGA中關於數
據檔案的資訊,以及控制檔案(control file)的容量也得以減小。
● 由於資料檔案對使用者透明,由此簡化了資料庫管理工作。

使用大檔案表空間時需要考慮的因素

● 大檔案表空間(bigfile tablespace)應該和自動儲存管理(Automatic
Storage Management)或其他邏輯卷管理工具(logical volume manager)
配合使用,這些工具應該能夠支援動態擴充套件邏輯卷,也能支援striping
(資料跨磁碟分佈)或RAID。
● 應該避免在不支援striping的系統上使用大檔案表空間,因為這將不利
於並行執行(parallel execution)及 RMAN 的並行備份(backup
parallelization)。
● 當表空間正在使用的磁碟組(disk group)可能沒有足夠的空間,且擴
展表空間的唯一辦法是向另一個磁碟組加入資料檔案時,應避免使用
大檔案表空間。
● 不建議在不支援大檔案的平臺上使用大檔案表空間,這會限制表空間
(tablespace)的容量。參考相關的作業系統文件瞭解其支援的最大文
件容量。
● 如果使用大檔案表空間替代傳統的表空間,資料庫開啟(open),
checkpoints,以及 DBWR 程式的效能會得到提高。但是增大資料檔案
(datafile)容量可能會增加備份與恢復的時間。

 

提示:
當使用者在建立表空間(tablespace)時沒有指定資料擴充套件
(extent)的管理方式,預設使用本地管理(locally managed)。

 

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8183550/viewspace-666818/,如需轉載,請註明出處,否則將追究法律責任。

相關文章