第9章 資料儲存

liahtobjtosh發表於2009-10-10
第9章 資料儲存.txt[@more@]

一、塊
單個塊最大為4TB,但必須執行 onmode -BC 啟用塊的最大大小。如果未執行 onmode -BC ,那麼最大塊大小為2GB。

二、(資料)頁(page)
它是I/O的最基本單位,一般為2至4KB

三、Blob頁
Blob頁在Blob資料庫空間儲存簡單大物件(TEXT或BYTE資料)。Blob頁的大小一般為作業系統頁大小的倍數。如果在Blob頁中儲存的簡單大物件的資料大小接近Blob頁的大小,則會更有效。

可以在標準資料庫空間中儲存簡單大物件資料,但對於大於2個頁的簡單大物件,如果在Blob頁中儲存簡單大物件,那麼效能將提高。儲存在標準資料庫空間中的簡單大物件可以共享一個頁,但儲存在Blob空間中的簡單大物件不可以共享頁。

四、智慧大物件頁
智慧大物件頁在智慧大物件資料庫空間中儲存智慧大物件(CLOB或BLOG資料)。智慧大物件頁的大小是不允許配置的。它與作業系統頁大小一致。智慧大物件只能儲存在智慧大物件資料庫空間中,不能儲存在標準資料庫或Blob空間中。

五、擴充套件資料塊(extent)
extent是由一定資料連線的page組成。extent是分配初始和後續物理儲存空間的單位。
在建立表時有兩個常見的extent:初始擴充套件資料塊和下一個擴充套件資料塊。

六、(標準)資料庫空間(dbspace)
dbspace是一個可以包含最多32766個塊的邏輯單元。可以在dbspace中儲存資料庫、表、邏輯日誌檔案和物理日誌。可以指定(標準)資料庫空間(dbspace)的頁的大小。

七、根資料庫空間
ONCONFIG檔案中的以下配置引數與根資料庫空間的配置相關
ROOTPATH
ROOTOFFSET
ROOTNAME
MIRRORPATH
MIRROROFFSET
TBLTBLFIRST
TBLTBLNEXT
根資料庫空間也是在建立時沒有指定資料庫空間的預設的資料庫空間。

八、臨時資料庫空間(P9-11)
資料庫伺服器不會刪除臨時資料庫空間。但會清除從上次關閉資料庫伺服器後留在根資料庫空間中的任何表。
資料庫伺服器不會對根資料庫空間執行邏輯或物理日誌記錄。
對於標準資料庫空間中的臨時表,資料庫伺服器會記錄表的建立、extent的分配以及表的刪除。相反,資料庫伺服器不會記錄儲存在根資料庫空間中的表。
資料庫伺服器也不會備份根資料庫空間。

九、Blob(資料庫)空間
Blob(資料庫)空間是包含N個只儲存TEXT或BYTE資料的塊的邏輯儲存單元。不同表的TEXT或BYTE列可以儲存在相同的Blob(資料庫)空間中。儲存在Blob(資料庫)空間中的資料直接寫入磁碟,不會穿過常駐共享記憶體。

十、智慧大物件(資料庫)空間
智慧大物件(資料庫)空間是包含N個儲存智慧大物件(CLOB字元大物件或BLOB二進位制大物件)的塊的邏輯儲存單元。
智慧大物件(資料庫)空間類似於標準的UNIX檔案,它們有讀取、寫入和搜尋的屬性(P9-12)。智慧大物件(資料庫)空間也服從事務隔離方式。

在為Enterprise Replication 定義複製伺服器時,必須建立智慧大物件空間。Enterprise Replication會把已複製的資料假離線到智慧大物件。

10.1 建立智慧大物件(資料庫)空間
onspace -c -S s9_sbspc -g 4 -p ./s9_sbspc -o 0 -s 2000
預設情況下開啟緩衝方式:onspace -c -Df buffer=ON,這意味著要在共享記憶體的常駐部分使用緩衝池。如果關閉緩衝,資料庫伺服器將在共享記憶體的虛擬部分中使用專用緩衝區。
建議:如果對智慧大物件的I/O操作小於8KB,使用buffer=ON,否則關閉緩衝。

在建立表時使用智慧大物件(資料庫)空間
create table catalog
(
...
advert_descr CLOB,
...
)
...
put advert_descr IN s9_sbspc

如果沒有使用put指定CLOB列所儲存的智慧大物件(資料庫)空間,則會使用SBSPACENAME配置引數所指定的預設智慧大物件(資料庫)空間儲存智慧大物件。
注意,只能指定智慧大物件所儲存的智慧大物件(資料庫)空間,但不能指定儲存到哪個塊中。

十一、外部(資料庫)空間

十二、資料庫
資料庫系統目錄表儲存(一般為:systables、sysviews)在CREATE DATABASE語句指定的資料庫空間中。

十三、表
在日誌記錄資料庫中可以建立STANDARD(日誌記錄表)和RAW(非日誌記錄表)。
在非日誌記錄資料庫中STANDARD和RAW都是非日誌記錄的。但RAW表不支援主約束、唯一約束和回滾。
13.1 STANDARD(標準永久表)
STANDARD表的所有操作都是一條一條記錄的。在日誌記錄資料庫和非日誌記錄資料庫上STANDARD都是缺少型別。

13.2 RAW(非日誌記錄永久表)
類似於非日誌記錄資料庫中的表。支援但不記錄RAW表中的update、delete、insert。

13.3 Temp(日誌記錄臨時表)
Temp表會在使用者會話關閉或資料庫伺服器重新引導後刪除。
在使用 CREATE TEMP TABLE 或 SELECT ... INTO TEMP ... 以及處理查詢時建立的臨時表(如group by 或 unique 或 create index等等)時,預設情況下,資料庫伺服器會將臨時表儲存在根資料庫空間中。可以使用DBSPACETEMP環境變數或配置引數來決定臨時表的資料庫空間列表。不同情景下臨時表儲存的位置,可見P9-27

十四、表空間
表空間包含分配到給定表的所有磁碟空間。這些磁碟空間可以有表表空間和索引表空間。使用者可以在表中指定最多1048576個表空間。

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

相關文章