創建示例數據庫DB2TEST1
首先我們在WINDOWS XP環境下安裝DB2 ESE V9.1,安裝完成后,打開DB2CMD環境,創建示例數據庫DB2TEST1?在 DB2 命令窗口中,發出CREATE DATABASE語句,創建示例數據庫,具體如清單1所示:
- - 清單1. 創建示例數據庫DB2TEST1
C:\> DB2 CREATE DATABASE DB2TEST1 DB20000I CREATE DATABASE命令成功完成。
這樣我們創建了一個示例數據庫DB2TEST1。查看其數據庫配置參數,數據庫代碼頁是1386,數據庫地域是CN,數據庫代碼集是GBK,具體如清單2所示:
- - 清單2. 查看示例數據庫DB2TEST1配置參數
C:\> db2 get db cfg for db2test1
數據庫 db2test1 的數據庫配置
數據庫配置發行版級別 = 0x0b00
數據庫發行版級別 = 0x0b00
數據庫地域 = CN
數據庫代碼頁 = 1386
數據庫代碼集 = GBK
數據庫國家/地區代碼 = 86
數據庫整理順序 = UNIQUE
備用整理順序 ( ALT_COLLATE ) =
數據庫頁大小 = 4096
. . . . . . . . . . . . . . . . . .
接下來來我們來查看一下示例數據庫DB2TEST1上的表空間情況,在DB2CLP窗口中,連上示例數據庫DB2TEST1,使用LIST TABLESPACES命令能夠看到創建示例數據庫時已經默認創建了3個表空間:SYSCATSPACE?TEMPSPACE1?USERSPACE1,其都是使用自動存儲管理?具體如清單3所示:
- - 清單3. 查看示例數據庫DB2TEST1表空間情況
C:\> DB2 CONNECT TO DB2TEST1
數據庫連接信息
數據庫服務器 = DB2 / NT 9.1.0
SQL 授權標識 = RHETTE
本地數據庫別名 = DB2TEST1
C:\> db2 list tablespaces show detail
當前數據庫的表空間
表空間標識 = 0
名稱 = SYSCATSPACE
類型 = 數據庫管理空間
內容 = 所有持久數據。常規表空間。
狀態 = 0x0000
詳細解釋:
正常
總計頁數 = 8192
可用頁數 = 8188
已用頁數 = 7924
可用頁數 = 264
高水位標記(頁) = 7924
頁大小(以字節計) = 4096
擴展數據塊大小(頁) = 4
預取大小(頁) = 4
容器數 = 1
表空間標識 = 1
名稱 = TEMPSPACE1
類型 = 系統管理空間
內容 = 系統臨時數據
狀態 = 0x0000
詳細解釋:
正常
總計頁數 = 1
可用頁數 = 1
已用頁數 = 1
可用頁數 = 不適用
高水位標記(頁) = 不適用
頁大小(以字節計) = 4096
擴展數據塊大小(頁) = 32
預取大小(頁) = 32
容器數 = 1
表空間標識 = 2
名稱 = USERSPACE1
類型 = 數據庫管理空間
內容 = 所有持久數據。大型表空間。
狀態 = 0x0000
詳細解釋:
正常
總計頁數 = 8192
可用頁數 = 8160
已用頁數 = 96
可用頁數 = 8064
高水位標記(頁) = 96
頁大小(以字節計) = 4096
擴展數據塊大小(頁) = 32
預取大小(頁) = 32
容器數 = 1
接下來我們再查看一下示例數據庫的緩沖池情況,在DB2CLP窗口中通過查看系統表sysibm.sysbufferpools可以看到,在創建示例數據庫時默認創建的的4K頁大小緩沖池IBMDEFAULTBP,具體如清單4所示:
--清單 4. 查看默認創建緩沖池情況
C:\> DB2 CONNECT TO DB2TEST1
數據庫連接信息
數據庫服務器 = DB2/NT 9.1.0
SQL 授權標識 = RHETTE
本地數據庫別名 = DB2TEST1
C:\> db2 " select BPNAME , NPAGES from sysibm.sysbufferpools "
BPNAME NPAGES
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IBMDEFAULTBP -2
1 條記錄已選擇?
當緩沖池啟用了自調整功能時,該特定緩沖池的sysibm.sysbufferpools表中的NPAGES字段將設置為 -2?當自調整功能處于禁用狀態時,NPAGES字段將設置為緩沖池的當前大小?我們可以在清單4中看到,IBMDEFAULTBP的NPAGES 字段將設置為 -2,由此我們可以確定,IBMDEFAULTBP啟用了自調整功能?
下面我們創建32K頁大小的示例緩沖池MYBP1,其使用自調整功能(注意其CREATE BUFFERPOOL語句使用了AUTOMATIC),初始大小3.2M,具體如清單5所示:
--清單 5 . 創建使用自動自調整功能的示例緩沖池MYBP1
C:\> db2 create bufferpool mybp1 immediate size 100 automatic pagesize 32k
DB20000I SQL命令成功完成?
接下來我們在示例數據庫DB2TEST1中創建3個4K頁大小的DMS表空間,用來存放示例分區表的數據,名稱分別為TABLESPACE1,TABLESPACE2和TABLESPACE3,在DB2CLP窗口中,發出CREATE TABLESPACE命令,其緩沖池使用數據庫默認創建的4K頁大小的緩沖池IBMDEFAULTBP,具體如清單6所示:
- - 清單6 . 創建DMS示例表空間
C:\> DB2 CREATE REGULAR TABLESPACE TABLESPACE1 PAGESIZE 4 K MANAGED BY AUTOMATIC STORAGE BUFFERPOOL IBMDEFAULTBP
DB20000I SQL命令成功完成?
C:\> DB2 CREATE REGULAR TABLESPACE TABLESPACE2 PAGESIZE 4 K MANAGED BY AUTOMATIC STORAGE BUFFERPOOL IBMDEFAULTBP
DB20000I SQL命令成功完成.
C:\> DB2 CREATE REGULAR TABLESPACE TABLESPACE3 PAGESIZE 4 K MANAGED BY AUTOMATIC STORAGE BUFFERPOOL IBMDEFAULTBP
DB20000I SQL命令成功完成
注意,我們在MANAGED BY后面跟的是AUTOMATIC STORAGE,表示新創建的表空間將使用自動存儲?如果新建的表空間使用DB2管理存儲器(自動存儲器),根據要創建的表空間類型不同,其空間管理會有所區別,當其表空間類型是常規或者大型時,將自動創建成數據庫管理空間(DMS), 當其表空間類型是系統臨時或者用戶臨時時,將自動創建成系統管理空間(SMS)?使用自動存儲,就不再需要擔心如何添加容器以及監控容器的增長等,自動存儲會自動增加表空間在磁盤和文件系統上的大小?在DB2CLP窗口中輸入LIST TABLESPACE命令,你可以看到3個示例表空間TABLESPACE1,TABLESPACE2和TABLESPACE3已經創建成功,其空間管理類型是數據庫管理空間,具體如清單7所示:
- - 清單7. 查看示例表空間
C:\> db2 list tablespaces show detail
當前數據庫的表空間
. . . . . . . . . . . . . . . . . . . .
表空間標識 = 4
名稱 = TABLESPACE1
類型 = 數據庫管理空間
內容 = 所有持久數據。常規表空間。
狀態 = 0x0000
詳細解釋:
正常
總計頁數 = 8192
可用頁數 = 8160
已用頁數 = 96
可用頁數 = 8064
高水位標記(頁) = 96
頁大小(以字節計) = 4096
擴展數據塊大小(頁) = 32
預取大小(頁) = 32
容器數 = 1
表空間標識 = 5
名稱 = TABLESPACE2
類型 = 數據庫管理空間
內容 = 所有持久數據。常規表空間。
狀態 = 0x0000
詳細解釋:
正常
總計頁數 = 8192
可用頁數 = 8160
已用頁數 = 96
可用頁數 = 8064
高水位標記(頁) = 96
頁大小(以字節計) = 4096
擴展數據塊大小(頁) = 32
預取大小(頁) = 32
容器數 = 1
表空間標識 = 6
名稱 = TABLESPACE3
類型 = 數據庫管理空間
內容 = 所有持久數據。常規表空間。
狀態 = 0x0000
詳細解釋:
正常
總計頁數 = 8192
可用頁數 = 8160
已用頁數 = 96
可用頁數 = 8064
高水位標記(頁) = 96
頁大小(以字節計) = 4096
擴展數據塊大小(頁) = 32
預取大小(頁) = 32
容器數 = 1
接下來我們創建3個32K頁大小的大型表空間,其緩沖池使用我們新創建的示例緩沖池MYBP1,大型表空間的名稱分別為:LARGETBS1,LARGETBS2和LARGETBS3?在DB2CLP窗口中,發出CREATE LARGE TABLESPACE命令,具體如清單8所示:
- - 清單8. 創建大型示例表空間LARGETBS1,LARGETBS2和LARGETBS3
C:\> DB2 CREATE LARGE TABLESPACE LARGETBS1 PAGESIZE 32 K MANAGED BY AUTOMATIC STORAGE BUFFERPOOL MYBP1
DB20000I SQL命令成功完成?
C:\> DB2 CREATE LARGE TABLESPACE LARGETBS2 PAGESIZE 32 K MANAGED BY AUTOMATIC STORAGE BUFFERPOOL MYBP1
DB20000I SQL命令成功完成?
C:\> DB2 CREATE LARGE TABLESPACE LARGETBS3 PAGESIZE 32 K MANAGED BY AUTOMATIC STORAGE BUFFERPOOL MYBP1
DB20000I SQL命令成功完成?
在DB2CLP窗口中輸入LIST TABLESPACE命令,你可以看到3個大型示例表空間LARGETBS1,LARGETBS2和LARGETBS3已經創建成功,其空間管理類型是數據庫管理空間,具體如清單9所示:
- - 清單9. 查看示例表空間
C:\> db2 list tablespaces show detail
當前數據庫的表空間
. . . . . . . . . . . . . . . . . . . .
表空間標識 = 7
名稱 = LARGETBS1
類型 = 數據庫管理空間
內容 = 所有持久數據。大型表空間。
狀態 = 0x0000
詳細解釋:
正常
總計頁數 = 1024
可用頁數 = 992
已用頁數 = 96
可用頁數 = 896
高水位標記(頁) = 96
頁大小(以字節計) = 32768
擴展數據塊大小(頁) = 32
預取大小(頁) = 32
容器數 = 1
表空間標識 = 8
名稱 = LARGETBS2
類型 = 數據庫管理空間
內容 = 所有持久數據。大型表空間。
狀態 = 0x0000
詳細解釋:
正常
總計頁數 = 1024
可用頁數 = 992
已用頁數 = 96
可用頁數 = 896
高水位標記(頁) = 96
頁大小(以字節計) = 32768
擴展數據塊大小(頁) = 32
預取大小(頁) = 32
容器數 = 1
表空間標識 = 9
名稱 = LARGETBS3
類型 = 數據庫管理空間
內容 = 所有持久數據。大型表空間。
狀態 = 0x0000
詳細解釋:
正常
總計頁數 = 1024
可用頁數 = 992
已用頁數 = 96
可用頁數 = 896
高水位標記(頁) = 96
頁大小(以字節計) = 32768
擴展數據塊大小(頁) = 32
預取大小(頁) = 32
容器數 = 1
1