日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
DB2中表空間的管理

表空間是數(shù)據(jù)庫(kù)及存儲(chǔ)在該數(shù)據(jù)庫(kù)中的表之間的邏輯層。表空間在數(shù)據(jù)庫(kù)中創(chuàng)建,表在表空間中創(chuàng)建。

使用表空間的一個(gè)明顯的好處是能夠把數(shù)據(jù)合理的分布存儲(chǔ)在不同的磁盤上或者存儲(chǔ)在磁盤的不同位置上,有助于提高數(shù)據(jù)存取的效率。

DB2 的表空間按管理方式分為兩種:系統(tǒng)管理空間(System Management Space,SMS)和數(shù)據(jù)庫(kù)管理空間(Database Management Space,DMS)。

按類型分為:規(guī)則表空間、大對(duì)象表空間、系統(tǒng)臨時(shí)表空間、用戶臨時(shí)表空間。

規(guī)則表空間中包含用戶數(shù)據(jù)的表。默認(rèn)用戶表空間名為USERSPACE1,索引也存儲(chǔ)在規(guī)則表空間中,另外系統(tǒng)目錄表也放在規(guī)則表空間中。默認(rèn)的系統(tǒng)目錄表空間名為SYSCATSPACE。

臨時(shí)表空間分為系統(tǒng)臨時(shí)表空間和用戶臨時(shí)表空間。

系統(tǒng)臨時(shí)表空間用來(lái)存儲(chǔ)各種數(shù)據(jù)操作(排序、重組表、創(chuàng)建索引、連接表)中所需的內(nèi)部臨時(shí)數(shù)據(jù),雖然可以創(chuàng)建任意多個(gè)系統(tǒng)臨時(shí)表空間,但建議用戶只使用大多數(shù)表所使用的頁(yè)大小創(chuàng)建一個(gè),默認(rèn)系統(tǒng)臨時(shí)表空間名為TEMPSPACE1。

用戶臨時(shí)表空間用來(lái)存儲(chǔ)已說(shuō)明全局臨時(shí)表(已說(shuō)明全局臨時(shí)表存儲(chǔ)的是應(yīng)用程序臨時(shí)數(shù)據(jù))。用戶臨時(shí)表空間不是在數(shù)據(jù)庫(kù)創(chuàng)建時(shí)默認(rèn)創(chuàng)建的。

SMS每個(gè)容器是操作系統(tǒng)的文件空間中的一個(gè)目錄;DMS每個(gè)容器是一個(gè)固定的、預(yù)分配的文件,或是物理設(shè)備。

SMS的管理比較簡(jiǎn)單,由操作系統(tǒng)自動(dòng)管理,空間的大小隨數(shù)據(jù)量的變化系統(tǒng)自動(dòng)調(diào)整。

DMS是由數(shù)據(jù)庫(kù)管理的,空間大小在創(chuàng)建時(shí)確定,空間不夠時(shí)要手工添加或刪除部分?jǐn)?shù)據(jù)以釋放空間。

大多數(shù)情況下,DMS的性能比SMS好。

用命令行方式創(chuàng)建SMS表空間的簡(jiǎn)單語(yǔ)法:

CREATE TABLESPACE MANAGED BY SYSTEM USING (' ')

例一:在Windows上創(chuàng)建一個(gè)SMS表空間:#p#

CREATE TABLESPACE RESOURCE MANAGED BY SYSTEM USING ('d:\acc_tbsp','e:\acc_tbsp','f:\acc_tbsp')

完成的結(jié)果為在D、E、F三個(gè)磁盤上創(chuàng)建了三個(gè)名稱為acc_tbsp的文件夾,每個(gè)文件夾下面都有一個(gè)名為SQLTAG.NAM的文件。

例二:刪除例一所創(chuàng)建的SMS表空間。

DROP TABLESPACE RESOURCE

運(yùn)行完這條命令,相應(yīng)的表空間會(huì)從DB2注冊(cè)表中刪除,但是磁盤上的三個(gè)文件夾仍然存在,需要手工刪除。

用命令行方式創(chuàng)建DMS表空間的簡(jiǎn)單語(yǔ)法:

CREATE TABLESPACE MANAGED BY DATABASE USING (FILE ' ' )

或者

CREATE TABLESPACE MANAGED BY DATABASE USING (DEVICE ' ' )

例三:在Windows上創(chuàng)建一個(gè)DMS表空間,使用各自有5000頁(yè)的兩個(gè)文件容器:

CREATE TABLESPACE RESOURCE MANAGED BY DATABASE USING (FILE 'd:\db2data\acc_tbsp' 5000, FILE 'e:\db2data\acc_tbsp' 5000)

運(yùn)行結(jié)果為:在D、E磁盤的db2data文件夾下面各創(chuàng)建了一個(gè)名為acc_tbsp的文件,大小都為20000K(默認(rèn)情況下每頁(yè)大小為4K)。

例四:在例三所創(chuàng)建的表空間中添加一個(gè)容器。#p#

ALTER TABLESPACE RESOURCE ADD(FILE 'f:\db2data\acc_tbsp' 5000)

運(yùn)行的結(jié)果為在RESOURCE表空間中包含了三個(gè)容器(文件):d:\db2data\acc_tbsp、 e:\db2data\acc_tbsp、 f:\db2data\acc_tbsp。

例五:用RESIZE子句更改例三所創(chuàng)建的表空間的容器的大小。

ALTER TABLESPACE RESOURCE RESIZE (FILE 'd:\db2data\acc_tbsp' 8000, FILE 'e:\db2data\acc_tbsp' 8000, FILE 'f:\db2data\acc_tbsp' 8000)

每個(gè)容器(文件)的大小變?yōu)?000頁(yè)。把容器的容量變大不會(huì)出錯(cuò),但是如果容器中的數(shù)據(jù)已經(jīng)充滿,再把容器的容量縮小,則會(huì)引起錯(cuò)誤。

例六:用EXTEND子句更改例三所創(chuàng)建的表空間的容器的大小。

ALTER TABLESPACE RESOURCE EXTEND (file 'd:\db2data\acc_tbsp' 1000, file 'e:\db2data\acc_tbsp' 1000, file 'f:\db2data\acc_tbsp' 1000)

該命令的運(yùn)行結(jié)果為在原有容量的基礎(chǔ)之上,每個(gè)容器再增加1000頁(yè)。

例七:刪除例三中創(chuàng)建的DMS表空間。

DROP TABLESPACE RESOURCE#p#

運(yùn)行的結(jié)果為在DB2的注冊(cè)表中把RESOURCE表空間刪除,同時(shí)在磁盤上把相對(duì)應(yīng)的文件夾和文件都一起自動(dòng)刪除。

例八:在UNIX上創(chuàng)建一個(gè)DMS表空間,使用各有10000頁(yè)的3個(gè)邏輯卷:

CREATE TABLESPACE RESOURCE MANAGED BY DATABASE USING (DEVICE '/dev/rdblv6' 10000, DEVICE '/dev/rdblv7' 10000, DEVICE '/dev/rdblv8' 10000)

上面語(yǔ)句中提到的UNIX設(shè)備必須已經(jīng)存在,且實(shí)例擁有者和SYSADM組必須能夠?qū)懭胨鼈儭?/p>

SMS與DMS的對(duì)比

特性                                                                 SMS       DMS

能夠在表空間中動(dòng)態(tài)增加容器的數(shù)目嗎               N          Y

能夠把索引數(shù)據(jù)存放到不同表空間的表中嗎        N          Y

能夠把大對(duì)象數(shù)據(jù)存放到不同表空間的表中嗎     N         Y

表可以分散存放到多個(gè)表空間中嗎                       N          Y

僅在需要時(shí)才分配空間嗎                                     Y         N

表空間可以被放在不同的磁盤中嗎                       Y         N

創(chuàng)建之后,區(qū)段大小能夠改變嗎                           N         N

例九:創(chuàng)建系統(tǒng)臨時(shí)表空間。

CREATE SYSTEM TEMPORARY TABLESPACE tmp_tbsp MANAGED BY SYST#p#EM USING('d:\tmp_tbsp','e:\tmp_tbsp')

系統(tǒng)臨時(shí)表只能存儲(chǔ)在系統(tǒng)臨時(shí)表空間中,所以數(shù)據(jù)庫(kù)必須始終至少有一個(gè)系統(tǒng)臨時(shí)表空間。

例十:創(chuàng)建用戶臨時(shí)表空間。

CREATE USER TEMPORARY TABLESPACE usr_tbsp MANAGED BY DATABASE USING(FILE 'd:\db2data\user_tbsp' 5000, FILE 'e:\db2data\user_tbsp' 5000)

用戶臨時(shí)表空間用于存儲(chǔ)已說(shuō)明的臨時(shí)表(用 DECLARE GLOBAL TEMPORARY TABLE 語(yǔ)句定義)

例十一:用RENAME語(yǔ)句給表空間重命名

RENAME TABLESPACE RESOURCE TO RES1

用該語(yǔ)句給表空間重命名之后,將自動(dòng)更改所有引用該表空間的目錄記錄,所以無(wú)須關(guān)心該表空間中的個(gè)別對(duì)象。

例十二:在RESOURCE表空間中創(chuàng)建一張名為T1的表

CREATE TABLE T1(ABC  INT) IN RESOURCE
 


本文標(biāo)題:DB2中表空間的管理
當(dāng)前網(wǎng)址:http://www.5511xx.com/article/dhihopp.html