1、Oracle資料塊(block)是Oracle分配、讀取I/O的最小單元(最少也得分配一個塊、讀取一個塊、寫入一個塊),這是個邏輯概念。Oracle資料庫的邏輯概念從表空間tablespace、段segment、區間extent、資料塊block逐級遞減且可逐級一對多。網上有很多示意圖。
2、作業系統對硬碟等儲存裝置格式化後劃分了扇區sector,一個或者多個扇區組成了作業系統塊(即作業系統的分配、讀取I/O的最小單元,根據各種檔案系統格式不同而不同),而Oracle塊是由一個或者多個作業系統塊邏輯上組成的。這樣有助於Oracle在有限的資源和高效率之間平衡。不可能出現Oracle塊小於作業系統塊的情況。
3、Oracle資料塊通常為2-32KB,11g預設為8KB,根據Tom大師講可以不為2的冪次KB,比如7KB、10KB,但不推薦。大致有資料頭、空閒空間、資料三部分組成,具體還可以劃分,但好像不同地方劃分還不一樣,比如表目錄table directory、行目錄row directory。我得去查查。
4、如果想了解資料塊具體的結構,白大俠白鱔的書《DBA的思想天空——感悟Oracle資料庫本質》中有單獨的第9章“理解資料塊的結構”很詳細。另外可參考第10章“理解表的結構”。參考資料都是大家常用的,不列舉了。
1、Oracle資料塊(block)是Oracle分配、讀取I/O的最小單元(最少也得分配一個塊、讀取一個塊、寫入一個塊),這是個邏輯概念。Oracle資料庫的邏輯概念從表空間tablespace、段segment、區間extent、資料塊block逐級遞減且可逐級一對多。網上有很多示意圖。
2、作業系統對硬碟等儲存裝置格式化後劃分了扇區sector,一個或者多個扇區組成了作業系統塊(即作業系統的分配、讀取I/O的最小單元,根據各種檔案系統格式不同而不同),而Oracle塊是由一個或者多個作業系統塊邏輯上組成的。這樣有助於Oracle在有限的資源和高效率之間平衡。不可能出現Oracle塊小於作業系統塊的情況。
3、Oracle資料塊通常為2-32KB,11g預設為8KB,根據Tom大師講可以不為2的冪次KB,比如7KB、10KB,但不推薦。大致有資料頭、空閒空間、資料三部分組成,具體還可以劃分,但好像不同地方劃分還不一樣,比如表目錄table directory、行目錄row directory。我得去查查。
4、如果想了解資料塊具體的結構,白大俠白鱔的書《DBA的思想天空——感悟Oracle資料庫本質》中有單獨的第9章“理解資料塊的結構”很詳細。另外可參考第10章“理解表的結構”。參考資料都是大家常用的,不列舉了。