管理表空間(表空間的屬性)轉貼

jlttt發表於2009-03-11

一些注意點概述:

--- 一個tablespace可以有0或者多個segments

--- 一個segment可以有1或者多個extent

--- 除了SYSTEM表空間和包含獲得undo段(an active undo segment)的表空間以外,表空間可以被tablen offline,而資料庫仍照常執行

--- 在資料庫執行時,可以把表空間brought online

--- 一個segment可以跨越屬於同一個表空間的多個資料檔案,但是不能跨越多個表空間

--- 一個extent不能跨越多個資料檔案


系統表空間(SYSTEM)與非系統表空間(NON-SYSTEM):

--- 在建立資料庫的時候建立

--- 包含資料字典

--- 包含SYSTEM undo segment

--- 9i中還有一個輔助系統表空間SYSAUX,也屬於系統表空間

--- 其他的表空間叫NON-SYSTEM表空間:

表空間的區管理方式:

1--- 資料字典管理方式(dictionary-managed tablespace):

當在表空間中分配行的區,或回收已分配的區時,oracle將對資料字典的相關基礎表進行更新。由於對錶的更新操作會產生回退資訊和重做資訊,因此,在分配區或回收區時,會在資料庫中產生回頭資訊和重做資訊。這是此方式的特點,也是它的缺點。

在此方式下,可以在DEFAULT STORAGE子句中設定INITIALNEXTMINEXTENTSMAXEXTENTSPCTINCREASE等引數來設定預設的儲存管理方式。

如果其他的表空間是資料字典管理方式,則SYSTEM表空間必須是資料字典管理方式。

2--- 本地管理方式(local-managed tablespace):

在本地管理方式下,表空間中區的分配與回收的管理資訊都被儲存在表空間的資料檔案中,而與資料字典無關。表空間會在每個資料檔案中維護一個點陣圖(bitmap)結構,用於記錄表空間中所有區的分配情況。

當在表空間中分配新的區,或回收已分配的區時,oracle將對資料檔案中的點陣圖進行更新。這種更新不是對錶的更新操作,所有不會產生回退資訊和重做資訊。

SYSTEM表空間為本地管理方式時,其他的表空間必須是本地管理方式管理。

DBMS_SPACE_ADMIN包對本地管理的表空間提供維護過程。

在本地管理方式下,可以用如下兩個關鍵字來指定表空間的分配方式:

i>. UNIFORM:統一分配,指定表空間中所有區的大小都相同。

ii>. AUTOALLOCATE:自動分配,指定由oracle來自動管理區的大小,這是預設值。

AUTOALLOCATE區的分配方式下,區的大小隨表的大小自動地動態改變,它們之間的對應關係如下表,這個關係由系統自動維護:

表大小

區大小

64KB

64KB

1MB

1MB

64MB

8MB

1000MB

64MB

表空間的段管理方式:

段管理方式主要是指oracle用來管理段中已用資料塊和空閒資料塊的機制。

在本地管理方式下,可以用如下兩個關鍵字來指定表空間的段管理方式:

1--- MANUAL(手工)方式:這時,oracle將使用可用列表(free list)來管理段的空閒資料塊,這是預設的設定。可用列表時傳統的段管理方式,段中所有的空閒塊都被放入一個列表(free list)中,在需要儲存空間時就在該列表中進行搜尋。

2--- AUTO(自動)方式:這時,oracle將用點陣圖(bitmap)來管理段的已用資料塊和空閒資料塊。即,透過點陣圖中單元的取值來判斷段中的資料塊是否可用。

表空間的狀態:

1--- 讀寫狀態:

兩種取值,讀寫(Read-Write)狀態和只讀(Read-Only)狀態。只讀狀態表示任何人不能修改裡面的資料,其限制與許可權無關。

2--- 離線狀態:

兩種取值,聯機(Online)狀態和離線(Offline)狀態。

在離線狀態下,有四種離線模式:

1>.正常Normal):這是預設的離線模式,其表示表空間以正常方式切換到離線狀態。在此過程中,oracle會執行一次檢查點,將相關資訊寫入資料檔案中,然後再關閉表空間的所有資料檔案;若在這個過程未發生任何錯誤,則進入了normal的離線狀態。下次轉回online的時候,不需要恢復。

2>.臨時(Temporary:表示表空間以臨時的方式切換到離線狀態。在此過程中,oracle會執行一次檢查點,但在執行檢查點的時候並不會檢查各個資料檔案的狀態,即使某些資料檔案處於不可用的狀態,oracle也會忽略這些錯誤而進入temporary狀態。因此在下次轉回online的時候,可能要恢復。

3>.立即(Immediate:表示表空間以立即的方式切換到離線狀態。這是oracle不會執行檢查點,也不會檢查資料檔案是否可用,而是直接將屬於該表空間的資料檔案設定為離線狀態。因此在轉回online的時候,必須恢復。

4>.用於恢復(For Recovery:表示表空間以用於恢復的方式切換到離線狀態。如果要對錶空間進行基於時間的恢復,可用此種模式。

[@more@]

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

相關文章