首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

Windows 平台 DB2 建立表空間完整實作:緩衝池、表空間與權限一體化部署

     編輯:DB2 教學

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

關鍵差異與注意點

項目WindowsAIX/Linux
路徑分隔符反斜線 \ 或正斜線 /正斜線 /
預設實例用戶DB2ADMINdb2inst1
SMS 容器路徑目錄名 (如 FSMS_8K_1) 相對於資料庫目錄絕對路徑或相對路徑
服務管理Windows 服務 DB2 - DB2COPY1 - DB2db2start/stop 指令

生產環境建議優化

  • 改用 自動儲存表空間 (MANAGED BY AUTOMATIC STORAGE) 簡化容器管理。
  • 採用 DMS (Database Managed Space) 搭配原始裝置或大檔案容器,效能優於 SMS。
  • 緩衝池大小依據 DB2_MEMDISCLAIM、實體記憶體與工作負載測試動態調整,而非固定值。
  • 權限遵循最小授權:應用布號僅需 CONNECT, CREATETAB, BINDADD,LOAD 僅授予 ETL 帳號。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved