程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> 表空間的管理,創建,維護

表空間的管理,創建,維護

編輯:DB2教程

表空間的管理,創建,維護


1 存儲物理結構

datapage數據頁是db2的最小存儲結構:有4KB,8KB,16KB,32KB

操作系統的最小存儲結構是塊:windows最小0.5KB,Linux最小1KB

extent域的大小,在創建數據庫和表空間的時候通過extentsize指定,默認為32個數據頁datapage組成;

每個表獨享幾個extent;

2表空間的管理

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)

3創建數據庫

默認創建庫的位置:

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

3.1 代碼頁

通常設置為雙字節代碼DBCS

中文代碼頁1368,代碼集GBK,territory為CN

對於有XML數據的應用,只有Unicode格式才能存儲XML

create database xmldb using codesetUTF-8 territroy us;

3.2定義表空間

catalogtablespace

usertablespace

temporarytablespace

prefetchsize number of pages

執行數據庫的時候預存,在實際引用之前加載,減少IO操作

而DFT_prefetch_sz代表在數據庫觸發遇到請求時候,每次讀取多少個頁面,可以摒棄的讀取多個擴展數據塊

例如

3.3建庫語句

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

臨時表空間又操作系統來管理;

3.4數據庫目錄

C:\DB2\NODE0000\SQL00001

SQLSPCS保存了表空間信息

SQLSGF 保存了自動存儲管理的存儲路徑信息

SQLdbconf包含數據庫配置信息,不能進行編輯,若要更改可以使用

updatedatabase configuration,reset database configuratrion語句

 

db1rhist.asc歷史記錄文件,

sqlogctl.glfh日志控制文件

系統崩潰時候,回退需要;

3.5維護表空間

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

類型 = 文件

 

3.6優化raid上的表空間性能

如果strip大小為64KB,頁大小為16KB,那麼擴展快大小64KB* 4比較合適;

DB2_parallel_IO: automatic

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved