Windows 環境下建立 DB2 表空間的標準化流程,涵蓋碼頁設定、建庫、多頁面緩衝池建立、SMS 表空間配置、權限授予與 DDL 部署。操作步驟與 AIX/Linux 高度一致,僅路徑語法差異,適合跨平台標準化運維。
# 1. 設定碼頁 (英文環境用 819,中文用 1386)
db2set db2codepage=819
# 2. 建立資料庫
db2 create database test03
# 3. 以實例擁有者連線 (Windows 預設管理員 db2admin)
db2 connect to test03 user db2admin using 1
# 4. 建立多頁面緩衝池
db2 CREATE BUFFERPOOL USER8 SIZE 100000 PAGESIZE 8K
db2 CREATE BUFFERPOOL USER16 SIZE 1000 PAGESIZE 16K
db2 CREATE BUFFERPOOL USER32 SIZE 1000 PAGESIZE 32K
# 5. 重啟實例生效緩衝池
db2stop force
db2start
# 6. 切換應用用戶連線
db2 connect to test03 user easymis using easymis
# 7. 建立 SMS 正規表空間綁定對應緩衝池
db2 "CREATE REGULAR TABLESPACE TS_USER8 PAGESIZE 8K MANAGED BY SYSTEM USING ('FSMS_8K_1') BUFFERPOOL USER8"
db2 "CREATE REGULAR TABLESPACE TS_USER16 PAGESIZE 16K MANAGED BY SYSTEM USING ('FSMS_16K_1') BUFFERPOOL USER16"
db2 "CREATE REGULAR TABLESPACE TS_USER32 PAGESIZE 32K MANAGED BY SYSTEM USING ('FSMS_32K_1') BUFFERPOOL USER32"
# 8. 授予資料庫級權限
db2 GRANT DBADM, CREATETAB, BINDADD, CONNECT ON DATABASE TO USER EASYMIS
db2 GRANT DBADM, CREATETAB, BINDADD, CONNECT, LOAD ON DATABASE TO USER EASYMIS
# 9. 授予表空間使用權
db2 GRANT USE OF TABLESPACE TS_USER8 TO EASYMIS
db2 GRANT USE OF TABLESPACE TS_USER16 TO EASYMIS
db2 GRANT USE OF TABLESPACE TS_USER32 TO EASYMIS
# 10. 部署結構定義
db2 connect to test03 user easymis using easymis
db2 -f dbstruct.sql > kk.log
| 項目 | Windows | AIX/Linux |
|---|---|---|
| 路徑分隔符 | 反斜線 \ 或正斜線 / | 正斜線 / |
| 預設實例用戶 | DB2ADMIN | db2inst1 |
| SMS 容器路徑 | 目錄名 (如 FSMS_8K_1) 相對於資料庫目錄 | 絕對路徑或相對路徑 |
| 服務管理 | Windows 服務 DB2 - DB2COPY1 - DB2 | db2start/stop 指令 |
MANAGED BY AUTOMATIC STORAGE) 簡化容器管理。DB2_MEMDISCLAIM、實體記憶體與工作負載測試動態調整,而非固定值。CONNECT, CREATETAB, BINDADD,LOAD 僅授予 ETL 帳號。