表空間用來儲存表,抽象物理儲存,由乙個或多個容器組成,也就是說表空間可以分布在乙個或多個物理裝置上。有4k、8k、16k、32k的四種頁面大小的表空間。為了提高效能,可以將乙個表的索引儲存到另乙個表空間,將大物件儲存到第三個表空間,任何表的資料都迴圈儲存在表空間的所有容器中;預設的表空間有:syscatspace(4k,儲存系統目錄和表)、tempspace1(4k,臨時表空間)、userspace1(4k,使用者表空間)。
表空間的型別有四種:regular(如userspace1)、system temporary(如tempspace1)、large(用來儲存lob資料)、user temporary(用來儲存使用者臨時表)。
表空間按管理方式分為系統管理表空間(sms:system manage space)和資料庫管理表空間(dms)。對於sms表空間,每個容器都是作業系統的檔案空間中的乙個目錄,由作業系統的檔案管理器控制儲存空間。對於dms 表空間,每個容器或者是固定大小的預分配檔案,或者是物理裝置(例如,磁碟),由資料庫管理器控制儲存空間。
sms表空間,其容器是檔案系統的目錄,是非預分配的,大小的限制為檔案目錄的大小,容器的個數在建立的時候決定,不能修改;如果使用sms表空間,使用者資料不能分開儲存,也就是不能把使用者資料分別儲存在資料、索引、大資料表空間中。dms表空間,其容器可是是file或raw devices ,其容器可以增加,修改,或改變大小;如果使用dms表空間,使用者資料可以分開儲存,也就是可以把使用者資料分別儲存在index,table和lob表空間中。
緩衝池是指從磁碟讀取快取記憶體表和索引資料頁時或修改它們時分配給它們的主儲存器。緩衝池的目的是改進系統效能。從記憶體訪問資料要比從磁碟訪問資料快得多,因此,資料庫管理器需要讀寫磁碟(i/o)的次數越少,效能也越好。可以建立多個緩衝池,雖然在大多數情況下只需要乙個,建議對每一種頁大小的表空間分別建乙個緩衝池。
緩衝池用來進行表或索引的快取,乙個資料庫至少要有乙個緩衝池 ,緩衝池的頁大小可以是4k,8k,16k或32k; 表空間的頁面大小要和緩衝池保持一致,緩衝池的目的是用來減少直接的i/o訪問,提高i/o訪問速度。預設的緩衝池為ibmdefaultbp(4k)。
在db2 v9中如果想讓資料庫管理器自動調整緩衝池,首先資料庫引數self_tuning_mem需要設定為on,其次,緩衝池在建立的時候需要指定automatic屬性,比如建立緩衝池bp1,可以使用如下命令建立:
create bufferpool "bp1" immediate size 250 automatic pagesize 4 k ;
對已經建立好的緩衝池如果也想讓資料庫管理器自動調整,可以用alter bufferpool命令修改,比如修改ibmdefaultbp緩衝池:
alter bufferpool ibmdefaultbp immediate size 250 automatic;
容器是物理儲存裝置。可以用目錄名、裝置名或檔名來標識它。
可以為表空間分配容器,單個表空間可以橫跨多個容器,但每個容器只能屬於乙個表空間。
對自動儲存器資料庫,建立表空間時,有兩種儲存器型別可以選擇:
(1)db2管理儲存器(自動儲存器)
(2)手工管理儲存器
如果新建的表空間使用db2管理儲存器(自動儲存器),根據要建立的表空間型別不同,其空間管理會有所區別,當其表空間型別是常規或者大型時,將自動建立成資料庫管理空間(dms), 當其表空間型別是系統臨時或者使用者臨時時,將自動建立成系統管理空間(sms)。使用自動儲存,就不再需要擔心如何新增容器以及監控容器的增長等,自動儲存會自動增加表空間在磁碟和檔案系統上的大小。
如果新建的表空間是使用手工管理儲存器,其空間管理又分系統管理空間(sms)和資料庫管理空間(dms)兩種方式。對於使用自動儲存功能的表空間,其容器和空間管理完全由db2資料庫管理器確定,因此,系統管理空間(sms)和資料庫管理空間(dms)只在使用手工管理儲存器的表空間中會直接用到,在使用自動儲存器功能的表空間中不會直接用到。同樣,容器的定義和管理也只在使用手工管理儲存器的表空間中會直接用到,在使用自動儲存器功能的表空間其容器完全由db2資料庫管理器確定。
db2 最大分割槽數 DB2 V9表分割槽(一)
關鍵字 ibm db2 v9 表分割槽 資料分割槽 範圍 表分割槽鍵 內容提要 db2 v9新增了表分割槽功能,因此對一些大表,我們在db2 v9中不再需要分拆成小表,再用union all 檢視的方式進行設計,而是直接用分割槽表實現一些這些功能。表分割槽功能是一種資料組織方案,即,表資料根據乙個或...
DB2利用db2advis進行查詢優化
一 登陸db2 su db2inst1db2 connect to 資料庫名 user 使用者名稱using密碼 二 建立sql檔案 cd mkdir p test cd test vi test.sql test.sql select name,age,from select from selec...
db2 v9 7 跨平台遷移
original db2 windows 2008 db2 v9.7 aim db2 suse12 sp3 db2 v9.7 author duan yu 段譽 mail chinazzbcn gmail.comor cn duanyu foxmail.com 一 準備以下軟體 winscp 傳輸檔...