oracle表空間(tableSpace)、段 (segment)、盤區(extent)、塊(block),這些都是Oracle用來保存數據庫對象的分配單元
段就是數據庫對象,它消耗存儲空間,如表、索引、回滾段等。當創建表的時候,將創建一個表段,當創建一個分區表時,即在每個分區上創建一個段,當創建索引時,將創建一個索引段,每一個消耗存儲空間的對象最終被存儲在一個單一的段中,有回滾段,臨時段,聚簇段、索引段等。一個段可以擁有來自許多不通數據文件中的盤區。
段本身由一個或多個盤區組成,盤區在文件中一個連續的分配空間,每個段至少開始於一個盤區,一些對象可能至少需要2個盤區(例如回滾段)。各個盤區之間並不要求正好相鄰。
盤區由塊組成,一個塊是在Oracle中空間分配的最小單元,是Oracle讀寫磁盤的對象,Oracle中的塊通常有3個常見的大小 ,2K ,4K,8K。
一個段是由一個或多個盤區所組成,一個盤區是由一些連續分配的塊。
表空間是一個容器,它保存段,每一個段恰好屬於一個表空間,一個表空間可以有多個段,給定段的所有盤區將在與該段相關的表空間中。
Oracle中存儲的層次結構如下:
1、數據庫由一個或多個表空間組成。
2、表空間由一個或多個數據文件組成,一個表空間包含段。
3、段由一個或多個盤區組成,段存在於表空間中,但在表空間中可以有許多數據文件中的數據。
4、盤區是在磁盤上連續的塊的組,一個盤區在一個表空間中,而且總是在表空間中單一的文件中。
5、塊是數據庫中最小的分配單元,塊是數據庫使用的最小的I/O單元。