四層配置架構總覽
| 層級 | 範圍 | 持久化位置 | 修改命令 | 生效方式 |
| 1. 系統環境變量 | 進程/會話 | Shell 配置文件 (/etc/profile, ~/.bash_profile) | export VAR=value | 重新登錄/源文件 |
| 2. 概要文件注冊表 | 實例/全局 | 實例目錄 sqllib/profile.reg (二進制) | db2set VAR=value | 立即 (動態) 或重啟實例 |
| 3. 數據庫管理器配置 (DBM CFG) | 實例 | 實例目錄 db2system / db2systm | db2 update dbm cfg using PARAM VALUE | 動態/重啟實例 (視參數) |
| 4. 數據庫配置 (DB CFG) | 單個數據庫 | 數據庫目錄 SQLDBCON / SYSCTRL | db2 update db cfg for DB using PARAM VALUE | 動態/重新激活數據庫 |
第一層:系統環境變量
# 查看
set | grep DB2
env | grep DB2
# 關鍵變量
export DB2DIR=/opt/ibm/db2/V11.5 # 安裝根目錄
export DB2INSTANCE=db2inst1 # 當前活動實例
export DB2NODE=0 # 當前連接分區 (DPF)
export PATH=$DB2DIR/bin:$PATH
export LD_LIBRARY_PATH=$DB2DIR/lib64:$LD_LIBRARY_PATH
export LANG=zh_TW.UTF-8 # 影響錯誤信息語言
第二層:概要文件注冊表
兩類變量
- 全局級:
db2set -g VAR=value,影響機器上所有實例;
- 實例級:
db2set -i instname VAR=value,僅影響指定實例 (優先級高於全局)。
常用變量
| 變量 | 作用 | 典型值 |
DB2COMM | 啟用通訊協議 | TCPIP, SSL, NPIPE |
DB2SYSTEM | 指定實例名 (Windows 服務名) | DB2 |
DB2INSTDEF | 默認實例名 (CLP 隱式連接) | db2inst1 |
DB2ADMINSERVER | DAS 服務名 | DB2DAS00 |
DB2CODEPAGE | 客戶端代碼頁 | 1208 (UTF-8) |
DB2NOEXITLIST | 禁用進程退出清理 (調試用) | ON |
管理命令
db2set -lr # 列出所有已註冊變量名
db2set -all # 顯示當前生效值 (含全局+實例)
db2set -i inst1 VAR=VAL # 設置實例級
db2set -g VAR=VAL # 設置全局級
db2set VAR= # 刪除實例級
db2set -g VAR= # 刪除全局級
第三層:數據庫管理器配置 (DBM CFG)
# 查看
db2 get dbm cfg
db2 get dbm cfg show detail
# 修改 (動態/延遲生效)
db2 update dbm cfg using DFT_MON_BUFPOOL ON
db2 update dbm cfg using DIAGLEVEL 3
db2 update dbm cfg using AUTHENTICATION SERVER_ENCRYPT
# 重置為默認
db2 reset dbm cfg
關鍵參數:MAXAGENTS、NUM_POOLAGENTS、JAVA_HEAP_SZ、MON_HEAP_SZ、DIAGPATH。
第四層:數據庫配置 (DB CFG)
# 查看
db2 get db cfg for sample
db2 get db cfg for sample show detail
# 修改
db2 update db cfg for sample using LOGFILSIZ 4096
db2 update db cfg for sample using LOGBUFSZ 1024
db2 update db cfg for sample using AUTO_MAINT ON
db2 update db cfg for sample using AUTO_RUNSTATS ON
db2 update db cfg for sample using AUTO_STMT_STATS ON
# 重置
db2 reset db cfg for sample
關鍵參數:LOGFILSIZ/LOGPRIMARY/LOGSECOND (日誌)、BUFFPAGE/SORTHEAP/LOCKLIST (內存)、DFT_DEGREE (並行度)、AUTO_* (自動維護)。
配置生效層級與優先級
環境變量 (進程)
→ db2set (實例/全局)
→ DBM CFG (實例)
→ DB CFG (數據庫)
# 讀取時由內向外覆蓋:DB CFG > DBM CFG > db2set > 環境變量 > 默認值
最佳實踐
- 環境變量寫入
/home/db2inst1/sqllib/db2profile,由 db2profile 統一加載;
db2set 變更後 db2stop; db2start 確保實例級生效;
- DB CFG 修改後
db2 deactivate db; db2 activate db 或首次連接時自動生效;
- 建立配置基線文檔 (CSV/Excel),版本控制,變更走審批流程;
- 定期
db2 get dbm cfg > /backup/cfg/dbm_$(date +%F).txt 歸檔備份。
- 上一篇文章: AIX 平台 DB2 卸載重裝標準流程:從 smit 到手工清理的完整清單
- 下一篇文章: DB2 V9.7 索引壓縮特性深度解析:原理、啟用、壓縮率驗證與 CPU 權衡
Copyright ©
程式碼之家 All Rights Reserved