標籤:
每一個Oracle資料庫都是由三種類型的檔案組成:資料檔案(Data File)、記錄檔(Log File)和控制檔案(Control File)。資料庫的檔案為資料庫資訊提供真正的實體儲存體。
每個資料庫有一個或多個物理的資料檔案。邏輯資料庫結構(如表、索引等)的資料物理地儲存在資料庫的資料檔案中,資料檔案通常為*.dbf格式。
資料檔案有下列特徵:
1、一個資料檔案僅與一個資料庫聯絡;
2、一旦建立,資料檔案只增不減;
3、一個資料表空間(資料庫儲存的邏輯單位)由一個或多個資料檔案組成。
其次,我們再來敘述一下Oracle的邏輯結構:Oracle的邏輯結構包括資料表空間(tablespace),段(segment),區(extent),資料區塊(data block),可以從清楚的看出。
Oracle資料庫在邏輯上是由多個資料表空間組成的,資料表空間在物理上包含一個或多個資料檔案。而資料檔案大小是塊大小的整數倍;資料表空間中儲存的對象叫段,比如資料區段,索引段和回退段。段由區組成,區是磁碟分配的最小單位。段的增大是通過增加區的個數來實現的。每個區的大小是資料區塊大小的整數倍,區的大小可以不相同;資料區塊是資料庫中的最小的I/O單位,同時也是記憶體資料緩衝區的單位,及資料檔案儲存空間單位。塊的大小由參數DB_BLOCK_SIZE設定,其值應設定為作業系統塊大小的整數倍。
1、資料表空間
資料表空間是資料庫中最大的邏輯單位,每一個資料表空間由一個或多個資料檔案組成,一個資料檔案只能與一個資料表空間相聯絡。每一個資料庫都有一個SYSTEM資料表空間,該資料表空間是在資料庫建立或資料庫安裝時自動建立的,用於儲存系統的資料字典表,程式系統單元,過程函數,包和觸發器等,也可用於儲存使用者資料表,索引對象。資料表空間具有線上(online)和離線(offline)屬性,可以將除SYSTME以外的其他任何錶空間置為離線。
2、段
資料庫的段可以分為四類:資料區段、索引段、回退段和臨時段。
3、區
區是磁碟空間分配的最小單位。磁碟按區劃分,每次至少分配一個區。區儲存於段中,它由連續的資料區塊組成。
4、資料區塊
資料區塊是資料庫中最小的資料群組織單位與管理單位,是資料檔案磁碟儲存空間單位,也是資料庫I/O的最小單位,資料區塊大小由DB_BLOCK_SIZE參數決定,不同的Oracle版本DB_BLOCK_SIZE的預設值是不同的。
5、schema
schema一般和某個使用者一一對應,它是一種對象集合(schema objects),包括:表(tables)、聚簇(clusters)、視圖(views)、索引(indexes)、序號(sequences)、同義字(synonyms)、程式單元(program unit)、資料庫鏈(database links)等。
最後再來說一下Oracle的使用者、資料表空間和資料檔案之間的關係:
一個使用者可以使用一個或多個資料表空間,一個資料表空間也可以供多個使用者使用。使用者和資料表空間沒有隸屬關係,資料表空間是一個用來管理資料存放區的邏輯概念,資料表空間只和資料檔案存在關係,資料檔案是物理的,一個資料表空間可以包含多個資料檔案,而一個資料檔案只能隸屬一個資料表空間。
解釋資料庫、資料表空間、資料檔案、表、資料的最好辦法,就是想象一個裝滿東西的柜子,資料庫其實就是柜子,櫃中的抽屜是資料表空間,抽屜中的檔案夾是資料檔案,檔案夾中的紙是表,寫在紙上的資訊就是資料。
Oracle的資料表空間、資料檔案、使用者