datapage數據頁是db2的最小存儲結構:有4KB,8KB,16KB,32KB
操作系統的最小存儲結構是塊:windows最小0.5KB,Linux最小1KB
extent域的大小,在創建數據庫和表空間的時候通過extentsize指定,默認為32個數據頁datapage組成;
每個表獨享幾個extent;
SMS,系統管理的空間:
由操作系統的文件管理器,管理和分配空間;依賴操作系統進行管理
DMS,數據庫管理的空間:
DB2管理程序管理和分配空間;因此表空間可以使用裸設備,也可以實現文件系統;
DMS的自動存儲:
SMS的管理,性能相對來說,不是很好;
特性
SMS
DMS
DMS自動存儲
是否條帶striping
是
是
是
默認類型
v8
v9
空間分配
按需增長
預先分配,大小DBA可以干預
默認autoresize no
預先分配,自動增長默認autoresize yes
性能
可以實現裸設備
不可以
管理對象
OS
db2
db2
容器的更改
alter tablespace add/drop
alter tablespace reduce
SMS管理的限制:
最大在表空間中存放64GB數據(4KB頁),512G數據(32KB)
DMS管理
最大的表空間擴大到8TB(4KB),64TB(32KB)
默認創建庫的位置:
C:\Program Files\IBM\SQLLIB\BIN>db2 get dbm cfg |find /i "DFTDBPATH"
缺省數據庫路徑 (DFTDBPATH) = C:
指定創建位置:
C:\Program Files\IBM\SQLLIB\BIN>db2"create database ibmdb1 on c:\db2"
SQL1047N 應用程序已經與另一個數據庫相連。
自動管理:
create database mydb managed byautomatic storage;
SMS
managed by system
DMS
managed by database
通常設置為雙字節代碼DBCS
中文代碼頁1368,代碼集GBK,territory為CN
對於有XML數據的應用,只有Unicode格式才能存儲XML
create database xmldb using codesetUTF-8 territroy us;
catalogtablespace
usertablespace
temporarytablespace
prefetchsize number of pages
執行數據庫的時候預存,在實際引用之前加載,減少IO操作
而DFT_prefetch_sz代表在數據庫觸發遇到請求時候,每次讀取多少個頁面,可以摒棄的讀取多個擴展數據塊
例如
createdatabase mydb
def_prefetch_sz4
catalogtablespace managed by database
using(fle ‘data1/1.dbf’ 10G, file‘/data2/1.dbf’ 1G )
extentsize8
prefetchsize16
temporarytablespace managed by system
using(‘/data/tmp1.dbf’,’/data/tmp2.dbf’)
usertablespace mnaged by database
using(file ‘/data/user.dat’ 1G );
extentsize24
prefetchsize48
默認擴展數據塊是4個頁面;extentsize8會覆蓋def_extent_sz
臨時表空間又操作系統來管理;
C:\DB2\NODE0000\SQL00001
SQLSPCS保存了表空間信息
SQLSGF 保存了自動存儲管理的存儲路徑信息
SQLdbconf包含數據庫配置信息,不能進行編輯,若要更改可以使用
updatedatabase configuration,reset database configuratrion語句
db1rhist.asc歷史記錄文件,
sqlogctl.glfh日志控制文件
系統崩潰時候,回退需要;
db2list tablespaces show detail
表空間標識 = 3
名稱 =IBMDB2SAMPLEREL
類型 = 數據庫管理空間
內容 = 所有持久數據。大型表空間。
狀態 = 0x0000
詳細解釋:
正常
總計頁數 = 4096
可用頁數 = 4064
已用頁數 = 608
可用頁數 = 3456
高水位標記(頁) = 608
頁大小(以字節計) = 8192
擴展數據塊大小(頁) = 32
預取大小(頁) = 32
容器數 = 1
C:\ProgramFiles\IBM\SQLLIB\BIN>db2 "list tablespace containers for 3"
表空間 3的表空間容器
容器標識 = 0
名稱 =C:\DB2\NODE0000\SAMPLE\T0000003\C0000000.
LRG
類型 = 文件
如果strip大小為64KB,頁大小為16KB,那麼擴展快大小64KB* 4比較合適;
DB2_parallel_IO: automatic