在 AIX 平台部署 DB2 資料庫涉及碼頁設定、緩衝池規劃、表空間建立、臨時表空間配置、權限授權與物件部署等多個環節。本文提供標準化、可重複執行的操作流程,適合生產環境標準化交付。
# 檢視當前註冊變數
db2set
# 若 DB2CODEPAGE 非 819 (ISO-8859-1),需修正
db2set DB2CODEPAGE=819
說明:819 碼頁支援西歐字符集,若業務涉及中文建議使用 1386 (GBK) 或 1208 (UTF-8),需在建庫前確定。
db2 create database test05 on /home/db2inst1
db2 connect to test05 user db2inst1 using db2
依據表記錄長度選擇 4K/8K/16K/32K 頁面。建立專用緩衝池隔離工作負載:
db2 CREATE BUFFERPOOL USER8 SIZE 1000 PAGESIZE 8K
db2 CREATE BUFFERPOOL USER16 SIZE 1000 PAGESIZE 16K
db2 CREATE BUFFERPOOL USER32 SIZE 1000 PAGESIZE 32K
# 重啟實例生效緩衝池
db2stop force
db2start
db2 connect to test05 user db2inst1 using db2
# 建立系統管理表空間 (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"
用於排序、雜湊連接、全域暫存表等中間結果,建議獨立緩衝池避免衝擊用戶緩衝池:
db2 CREATE BUFFERPOOL TMPBUF8 SIZE 10000 PAGESIZE 8K
db2 "CREATE TEMPORARY TABLESPACE TempTS_USER8 PAGESIZE 8K
MANAGED BY SYSTEM USING ('/home/db2inst1/db2inst1/TEMPNODE0005')
EXTENTSIZE 16 OVERHEAD 10.5 PREFETCHSIZE 16 TRANSFERRATE 0.14
BUFFERPOOL TMPBUF8 DROPPED TABLE RECOVERY OFF"
# 資料庫級權限
db2 GRANT DBADM, CREATETAB, BINDADD, CONNECT, LOAD ON DATABASE TO USER EASYMIS
# 表空間使用權限
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
# 切換應用用戶
db2 connect to test05 user easymis using easymis
# 執行 DDL 腳本建立表、視圖
db2 -f dbstruct.sql > crttab.log
db2 -f view.sql > crtview.log
# 若使用 db2move 遷移資料
db2move test05 import -l /home/db2inst1/wk/test04
# 微調配置參數
db2 UPDATE DB CFG FOR easytest USING APPLHEAPSZ 1024
CREATE DATABASE 前確認 DB2CODEPAGE。