oracle學習之邏輯結構1

2021-06-23 05:49:55 字數 1115 閱讀 2665

oracle是由資料庫和例項構成,而資料庫呢有各種檔案構成,那麼從邏輯上來說,oracle具體有什麼組成呢?其實很簡單,這些檔案有各類表空間組成,表空間呢有段segment構成,段有區extent構成,區有oracle的最小單位block組成。

聽起來挺複雜的,一點點說吧。block是資料庫最小的邏輯單位,block設定也有講究,一般是os塊容量512位元組的整數倍,這樣子可以減少io操作。通過show parameter可以檢視db_block_size相關引數,當然對於olap系統推薦block盡量大,而對於oltp系統推薦不要太大。而塊組合在一起就形成了extent,這個extent是資料庫空間分配的最小單位。而segment在建立表的時候直接為其分配好了,也可以使用storage子句設定儲存引數,決定資料段segment分配多少初始空間。這些段和區使用情況可以通過資料字典(user_extents)進行查詢。而對於塊的大小也是可以調整的

表空間來說大家可能比較熟悉,主要有系統表空間、臨時表空間、資料表空間和回滾表空間。具體建表語句大體如下,比較懶,就不打那麼多了:

普通表空間:create tablespace ...datafile...

臨時表空間:create temporary tablespace...tempfile...

回滾表空間:create undo tablespace... datafile...

這些表空間中系統表空間和使用者表空間屬於永久保留內容的表空間,而其他則例外。對於回滾表空間,乙個使用者雖然可以建立多個,但是在同一時刻只能啟用乙個回滾表空間。

當然在建立表空間或者表的時候,都是可以改變段或者區大小,比如在建表的時候可以通過storage設定儲存引數來設定。另外段的一些也可以通過建表時候的pctfree大小可以影響資料庫的效能,對於只插入刪除的表來說,可以將pctfree設定為0,大大提高oracle效率,當然如果有更新,就要根據實際情況對pctfree進行設定了,不過如果更新資料之後會引起行遷移,這時候可以通過資料重建消除行遷移,然後根據實際對pctfree調整。另外與pctfree相對應的有乙個引數pctused,這個引數是控制使用的塊刪除資料後剩餘資料塊佔比大於pctused,這時候才能再插入資料。對於區extent、block來說,可以在建立表空間時候使用uniform(extent)來設定統一尺寸,通過blocksize來設定塊的大小。

Oracle體系結構之 邏輯結構

一 oracle 邏輯結構簡介 oracle的邏輯結構包括表空間 tablespace 段 segment 資料塊 data block 以及模式物件 schema oracle 資料庫在邏輯上是由多個表間組成的,表空間中儲存的物件叫段,比如資料段,索引段,和回退段。段由區組成,區是磁碟分配的最小單...

Oracle體系結構之 邏輯結構

一 oracle 邏輯結構簡介 oracle的邏輯結構包括表空間 tablespace 段 segment 資料塊 data block 以及模式物件 schema oracle資料庫在邏輯上是由多個表間組成的,表空間中儲存的物件叫段,比如資料段,索引段,和回退段。段由區組成,區是磁碟分配的最小單位...

Oracle邏輯結構

oracle的邏輯結構包括表空間 tablespace 段 segment 資料塊 data block 以及模式物件 schema 一 表空間 1.什麼是表空間?查詢表空間的檔案資訊 select from dba data files。查詢表空間的空閒空間資訊 select from dba f...