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

DB2 手工建庫全紀錄:Windows 下自定路徑、非自動儲存、DMS 表空間完整腳本

     編輯:DB2 教學

環境基線

  • OS:Windows XP
  • DB2:v9.5.0.808 (DB2 Express-C, 32-bit)
  • 實例:DB2 (DB2COPY1)
  • 目標:在 D:\db2study 建立手工管理的資料庫 STUDY

前置動作:啟用自定路徑註冊鍵

mkdir D:\db2study
db2set DB2_CREATE_DB_ON_PATH=YES
db2stop && db2start  # 重啟實例生效

此註冊鍵允許 CREATE DATABASE ... ON 'path' 指定非預設路徑。

完整建庫命令(單行可直接貼上 CLP)

CREATE DATABASE study AUTOMATIC STORAGE NO
  ON 'D:\db2study'
  ALIAS study
  USING CODESET GBK TERRITORY CN
  COLLATE USING SYSTEM
  PAGESIZE 8192
  CATALOG TABLESPACE MANAGED BY DATABASE
    USING (FILE 'D:\DB2STUDY\catalog.dbf' 25600)
  USER TABLESPACE MANAGED BY DATABASE
    USING (FILE 'D:\DB2STUDY\study.dbf' 5120)
  TEMPORARY TABLESPACE MANAGED BY DATABASE
    USING (FILE 'D:\DB2STUDY\temp.dbf' 5120)
  WITH 'STUDY';

參數逐項解析

子句含義本例設定
AUTOMATIC STORAGE NO 關閉自動儲存,改用手工 DMS 表空間 NO
ON 'path' 資料庫目錄檔案放置路徑 D:\db2study
CODESET GBK TERRITORY CN 中文環境編碼與地區 GBK / CN
PAGESIZE 8192 頁面大小 8K 8192
CATALOG TABLESPACE ... 25600 系統目錄表空間,25600 頁 ≈ 200 MB DMS 檔案容器
USER TABLESPACE ... 5120 使用者資料表空間,5120 頁 ≈ 40 MB DMS 檔案容器
TEMPORARY TABLESPACE ... 5120 系統臨時表空間(排序、哈希聯結等) DMS 檔案容器

驗證建庫結果

db2 list tablespaces show detail
db2 get db cfg for study | findstr "PAGESIZE|CODESET|TERRITORY"

確認三個表空間皆為 DMS、頁面 8192、編碼 GBK。

刪除資料庫(清理測試環境)

db2 drop database study
# 或從控制中心右鍵 Delete

刪除後 D:\db2study 目錄下的容器檔案會被自動移除。

避坑指南

  • 路徑區分大小寫?Windows 不敏感,但建議統一大寫。
  • 容器檔案大小單位是頁數,非 MB/GB。8K 頁下:頁數 × 8 / 1024 = MB。
  • DB2_CREATE_DB_ON_PATH 需實例重啟生效,否則 ON 'path' 會報 SQL1052N。
  • Express-C 版授權限制 2 CPU、4GB 記憶體,規劃容器大小勿超授權。

結語

手工建庫雖繁瑣,卻能精確控制每個表空間的物理位置、大小、容器數量,是效能基準測試、多實例隔離、儲存分級的基礎技能。背熟 CREATE DATABASE 全參數版本,隨時能在任何 Windows/Linux 環境「盲打」出合規資料庫。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved